Copyright: Oracle Corporation (C) 1999


警告について

関連項目

警告は、アプリケーションの状態をオペレータに伝えるメッセージが表示されるモーダル・ウィンドウです。

警告は、オペレータに異常な状況を伝えるため、また、望ましくない結果や予期しない結果を引き起こす可能性のあるアクションをオペレータが実行しようとしている場合の警告として使用します。

警告には、停止、警告および注意の3つのスタイルがあります。各スタイルは、それぞれ異なるレベルのメッセージの重要度を示します。メッセージの重要度は、警告ウィンドウに表示される固有のアイコンによって視覚的に表されます。

Form Builderには、事前定義済みのメッセージを表示するビルトイン警告が多数あります。アプリケーション固有のイベントに応じて表示される、ユーザー独自のカスタム警告を作成することもできます。

警告が表示される原因となるイベントが発生した場合、オペレータは、事前定義済みの警告ボタンのどれかを選択することによって警告のメッセージに応答する必要があります。ボタンを選択すると、警告はすぐに消えます。


警告の作成について

関連項目

警告を作成するときに必要なのは、警告に表示するメッセージや警告ボタン用のテキスト・ラベルなどの基本的な情報の指定のみです。

警告の作成が終わったら、その警告を特定のイベントに応じて表示するためのトリガーまたはユーザー命名ルーチンを作成する必要があります。さらに、各ボタンによって開始されるアクションは、その警告を起動するためにユーザーが作成するPL/SQLコードによって判断されます。


警告の作成

関連項目

警告を作成するには:

1	「オブジェクト・ナビゲータ」で「警告」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	警告オブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

4	「警告スタイル」プロパティを、メッセージの重要度に応じたスタイル（「停止」、「警告」または「注意」のどれか）に設定します。

5	実行時には、警告ウィンドウのメッセージの横に、選択したスタイルを表すアイコンが表示されます。

6	実行時に警告に表示するメッセージを入力して、「メッセージ」プロパティを設定します。最大200文字まで入力できます。

注意: すべてのランタイム・プラットフォームで最大文字数を表示できるわけではありません。

7	「ボタン1のラベル」、「ボタン2のラベル」および「ボタン3のラベル」にテキスト・ラベルを入力して、警告用ボタンを1つ以上作成します。（デフォルトのテキスト・ラベルは、ボタン1は「OK」、ボタン2は「取消」です。）

注意: 少なくとも1つのボタンにラベルを指定する必要があります。ラベルのないボタンは表示されません。ボタンは、「プロパティ・パレット」での順序で警告に表示されます。つまり、ボタン1の右側にボタン2が表示される、というようになります。

8	「デフォルト警告ボタン」として、「ボタン1」、「ボタン2」または「ボタン3」のどれかを選択します。

「デフォルト・ボタン」とは、オペレータが「Accept」ボタンを押したときに暗黙的に選択されるボタンです。ほとんどのウィンドウ・マネージャでは、デフォルト・ボタンは特徴的に表示されます。


警告の表示

例  [image] 関連項目

警告を表示するには、アプリケーションでトリガーまたはユーザー命名サブプログラムからSHOW_ALERTビルトイン・サブプログラムを実行する必要があります。SHOW_ALERTは数値定数を戻すファンクションです。

Show_Alert(alert_name) Return NUMBER;

SHOW_ALERTファンクションによって戻される定数は、オペレータがどの警告ボタンを選択したかを示すものであり、ALERT_BUTTON1、ALERT_BUTTON2、ALERT_BUTTON3のいずれかです。

SHOW_ALERTファンクションの戻り値を変数に割り当てて、その変数の値に応じて、つまりオペレータがどのボタンを選択したかに応じて、トリガーで異なるアクションをとることができます。


警告の表示の例

たとえば、次のメッセージを表示する警告を作成したとします。

"Product price must be entered.Show price list now?"

ボタン1には「OK」、ボタン2には「取消」というラベルが付いています。この警告は、注文の品目の合計を計算するボタンに付加されたWhen-Button-Pressedトリガーから起動されます。

その品目の現行価格が入力されていれば計算は正常に実行されます。価格が入力されていない場合は、警告が表示されます。オペレータは、ボタン1（OK）を選択して現行製品価格を表示するウィンドウを起動するか、ボタン2（取消）を選択して操作を取り消します。

When-Button-Pressedトリガー:

-- Declare a NUMBER variable for the
-- constant returned by the Show_Alert function
DECLARE
   alert_button NUMBER;
BEGIN
   IF :item.price IS NOT NULL THEN
     -- call the user-named calculation subprogram
     calculate_totals;
   ELSE -- display the alert
     alert_button := Show_Alert('no_price_alert');
      IF alert_button = ALERT_BUTTON1 THEN
        -- invoke the price list window
        Go_Block('product_prices');
      END IF; -- do nothing if operator selects button 2
   END IF;
END;


警告メッセージの変更

例  [image] 関連項目

SET_ALERT_PROPERTYビルトイン・プロシージャを使用して、実行時に警告メッセージを変更できます。警告のメッセージを変更すると、同じ警告オブジェクトを再利用して、起動するたびに別のメッセージを表示するようにできます。

たとえば、アプリケーションに複数の警告があり、警告はすべて同じ2つのボタン（たとえば「OK」と「取消」）を使用していても、表示されるメッセージはアプリケーションのコンテキストによって異なる、ということがよくあります。

警告のメッセージを現行のコンテキストに合わせてプログラムで変更するようにすると、複数の警告を作成せずに同じ警告オブジェクトを再利用することによって設計上のオーバーヘッドを減らすことができます。また、警告メッセージを変更することによって、特定のオブジェクトまたは項目値を参照する動的な警告メッセージを作成することもできます。


警告メッセージの変更の例

次の例は、generic_alertという警告のメッセージを変更する例です。この警告は情報を伝えることのみを目的としたもので、「OK」というラベルのボタンしかありません。

DECLARE
   alert_id   ALERT := Find_Alert('generic_alert');
   dummy_var  NUMBER;
BEGIN
   Set_Alert_Property(alert_id, ALERT_MESSAGE_TEXT, 'The product
     you selected is not in stock');
   -- now show the alert
   dummy_var := Show_Alert(alert_id);
END;

この例ではオペレータがボタンを選択したときにアクションはとられないことに注意してください。これは、この警告が情報を伝えることのみを目的としていて、ボタンは「OK」1つしかないためです。オペレータがメッセージを確認するとSHOW_ALERTファンクションの戻り値がダミー変数に割り当てられ、処理は正常に継続されます。

また、この例ではFIND_ALERTファンクションを使用してgeneric_alertという名前の警告のオブジェクトIDを獲得していることにも注意してください。IDが変数alert_idに割り当てられ、警告は後続のプロシージャおよびファンクション・コールでこのIDによって参照されます。


PL/SQLおよびForm Builderの予約語

次の表は、Form BuilderおよびPL/SQLで定義されている予約語をリストしたものです。PL/SQLの予約語にはアスタリスク（*）が付いています。

_SELF

_PARENT

_TOP

_BLANK

ABORT*

ABORT_QUERY

ACCEPT*

ACCESS*

ACKNOWLEDGE

ACKNOWLEDGE_PREVIOUS

ACTIVATE

ADD*

ADD_GROUP_COLUMN

ADD_GROUP_ROW

ADD_LIST_ELEMENT

ADD_OLEARG

ADD_PARAMETER

ADJUST_TO_FIT

ALERT

ALERT_BUTTON1

ALERT_BUTTON2

ALERT_BUTTON3

ALERT_DEFAULT

ALERT_MESSAGE_TEXT

ALIGNMENT

ALL*

ALL_PARAMA

ALL_RECORDS

ALL_ROWS

ALTER*

ALTERABLE

ANCHOR_VIEW

AND*

ANY*

APPLICATION_CHARACTERISTIC

APPLICATION_INSTANCE

APPLICATION_MENU

APPLICATION_PARAMETER

ARRAY*

ARRAYLEN*

AS*

ASC*

ASK_COMMIT

ASSERT*

ASSIGN*

ASYNCHRONOUS

AT*

ATTR_OFF

ATTR_ON

AUTHORIZATION*

AUTOQUERY

AUTO_HELP

AUTO_HINT

AUTO_NAVIGATE

AUTO_REFRESH

AUTO_SKIP

AVG*

BACKGROUND_MENU1

BACKGROUND_MENU10

BACKGROUND_MENU2

BACKGROUND_MENU3

BACKGROUND_MENU4

BACKGROUND_MENU5

BACKGROUND_MENU6

BACKGROUND_MENU7

BACKGROUND_MENU8

BACKGROUND_MENU9

BALLOON_ATTRIBUTE

BALLOON_TEXT

BAR

BASE_TABLE*

BATCH

BEGIN*

BELL

BETWEEN*

BINARY_INTEGER*

BLOCK

BLOCK_CHARACTERISTIC

BLOCK_MENU

BLOCK_SCOPE

BODY*

BOOK

BOOK20

BOOLEAN*

BORDER_BEVEL

BREAK

BY*

CACHE

CALL

CALLING_FORM

CALLING_FORM_NAME

CALL_FORM

CALL_INPUT

CALL_OLE

CALL_OLE_CHAR

CALL_OLE_NUM

CALL_OLE_OBJ

CALL_OLE_VAR

CALL_QUERY

CANCEL_REPORT_OBJECT

CANVAS

CANVAS_SIZE

CASCADING

CASE*

CASE_INSENSITIVE_QUERY

CASE_RESTRICTION

CHANGED_STATUS

CHANGE_ALERT_MESSAGE

CHANGE_BLOCK

CHANGE_RECORD

CHAR*

CHARACTER_CELL_HEIGHT

CHARACTER_CELL_WIDTH

CHAR_BASE*

CHAR_COLUMN

CHECKBOX_CHECKED

CHECK*

CHECKED

CHECK_RECORD_UNIQUENESS

CLEAR_BLOCK

CLEAR_EOL

CLEAR_FIELD

CLEAR_FORM

CLEAR_ITEM

CLEAR_LIST

CLEAR_MESSAGE

CLEAR_RECORD

CLOSE*

CLOSE_AT_COMMIT

CLOSE_FORM

CLOSE_QUERY

CLUSTER*

CLUSTERS*

COLAUTH*

COLUMNS*

COLUMN_SECURITY

COMMIT*

COMMIT_FORM

COMPRESS*

COMPRESSION_OFF

COMPRESSION_ON

CONCEAL_DATA

CONNECT*

CONNECT_STRING

CONSTANT *

CONSTANTS

CONVERT_OTHER_VALUE

COORDINATED

COORDINATE_SYSTEM

COORDINATION_OPERATION

COORDINATION_STATUS

COPY

COPY_REGION

COPY_REPORT_OBJECT_OUTPUT

COPY_REPORT_OUTPUT

COUNT*

COUNT_QUERY

CRASH*

CREATE*

CREATE_GROUP

CREATE_GROUP_FROM_QUERY

CREATE_OLEOBJ

CREATE_PARAMETER_LIST

CREATE_QUERIED_RECORD

CREATE_RECORD

CREATE_TIMER

CREATE_VAR

CURRENT*

CURRENT_FORM

CURRENT_FORM_NAME

CURRENT_RECORD

CURRENT_RECORD_ATTRIBUTE

CURRVAL*

CURSOR*

CURSOR_MODE

CURSOR_STYLE

CUT_REGION

DATABASE*

DATA_BASE*

DATABASE_VALUE

DATASOURCE

DATATYPE

DATA_PARAMETER

DATE*

DATE_COLUMN

DB

DBA*

DBMS_ERROR_CODE

DBMS_ERROR_TEXT

DEBUGOFF*

DEBUGON*

DEBUG_MODE

DECIMAL*

DECLARE*

DEFAULT*

DEFAULT_SCOPE

DEFAULT_VALUE

DEFAULT_WHERE

DEFERRED_COORDINATION

DEFER_ON_VISIBILITY

DEFER_REQUIRED_ENFORCEMENT

DEFINITION*

DELAY*

DELAYED

DELETE*

DELETE_ALLOWED

DELETE_GROUP

DELETE_GROUP_ROW

DELETE_LIST_ELEMENT

DELETE_PARAMETER

DELETE_RECORD

DELETE_RECORDS

DELETE_SOURCE

DELETE_SOURCE_TYPE

DELETE_TIMER

DELTA*

DERIVED_COLUMN

DESC*

DESTROY_PARAMETER_LIST

DESTROY_VARIANT

DETAIL_NAME

DEVELOPER_NAMES

DIGITS*

DISABLED

DISABLE_ITEM

DISABLE_VALIDATION

DISPATCH_EVENT

DISPID_COLLECT

DISPID_CONSTRUCTOR

DISPID_DESTRUCTOR

DISPID_EVALUATE

DISPID_NEWENUM

DISPID_VALUE

DISPLAY

DISPLAYED

DISPLAY_ERROR

DISPLAY_FIELD

DISPLAY_HEIGHT

DISPLAY_ITEM

DISPLAY_LENGTH

DISPLAY_PAGE

DISPLAY_POSITION

DISPLAY_WIDTH

DISPLAY_X_POS

DISPLAY_Y_POS

DISPOSE*

DISTINCT*

DML_DATA_TARGET_NAME

DML_DATA_TARGET_TYPE

DOWN

DO*

DO_COMMIT

DO_KEY

DO_REPLACE

DROP*

DUMMY_REFERENCE

DUPLICATE_FIELD

DUPLICATE_ITEM

DUPLICATE_RECORD

ECHO

EDITOR

EDITOR_NAME

EDITOR_X_POS

EDITOR_Y_POS

EDIT_FIELD

EDIT_TEXTITEM

ELSE*

ELSIF*

ENABLED

ENABLE_ITEM

ENABLE_VALIDATION

END*

END_EDGE

END_OF_GROUP

ENFORCE_COLUMN_SECURITY

ENFORCE_KEY

ENTER

ENTERABLE

ENTER_QUERY

ENTRY*

ERASE

ERROR

ERROR_CODE

ERROR_NOTIFICATION

ERROR_TEXT

ERROR_TYPE

EXCEPTION*

EXCEPTION_INIT*

EXECUTE_QUERY

EXECUTE_TRIGGER

EXISTS*

EXIT*

EXIT_FORM

EXIT_MENU

FALSE*

FETCH*

FETCH_RECORDS

FIELD_CHARACTERISTIC

FIELD_LENGTH

FILE

FILESYSTEM

FILE_NAME

FIND_ALERT

FIND_BLOCK

FIND_CANVAS

FIND_COLUMN

FIND_EDITOR

FIND_FORM

FIND_GROUP

FIND_ITEM

FIND_LOV

FIND_MENU

FIND_MENU_ITEM

FIND_RELATION

FIND_REPORT_OBJECT

FIND_TAB_PAGE

FIND_TIMER

FIND_VIEW

FIND_WINDOW

FIRSTBLOCK

FIRSTFIELD

FIRST_BLOCK

FIRST_DETAIL_RELATION

FIRST_FIELD

FIRST_ITEM

FIRST_MASTER_RELATION

FIRST_NAVIGATION_BLOCK

FIRST_RECORD

FIRST_RELATION

FIXED_LENGTH

FLOAT*

FOR*

FORM*

FORMATTED_VALUE

FORMAT_MASK

FORMMODULE

FORMS

FORMS40

FORMS4C

FORMS4G

FORMS4W

FORMS_DDL

FORMS_OLE

FORM_CHARACTERISTIC

FORM_FAILURE

FORM_FATAL

FORM_NAME

FORM_OLE_FAILURE

FORM_SCOPE

FORM_SUCCESS

FOR_UPDATE

FROM*

FULL_ROLLBACK

FULL_SCREEN

FUNCTION*

GENERAL_EXCEPTION

GENERATE_SEQUENCE_NUMBER

GENERIC*

GET_APPLICATION_PROPERTY

GET_BLOCK_PROPERTY

GET_CANVAS_PROPERTY

GET_FILE_NAME

GET_FORM_PROPERTY

GET_GROUP_CHAR_CELL

GET_GROUP_DATE_CELL

GET_GROUP_NUMBER_CELL

GET_GROUP_ROW_COUNT

GET_GROUP_SELECTION

GET_GROUP_SELECTION_COUNT

GET_ITEM_INSTANCE_PROPERTY

GET_ITEM_PROPERTY

GET_LIST_ELEMENT_COUNT

GET_LIST_ELEMENT_LABEL

GET_LIST_ELEMENT_VALUE

GET_LOV_PROPERTY

GET_MENU_ITEM_PROPERTY

GET_MESSAGE

GET_OLEARG_CHAR

GET_OLEARG_NUM

GET_OLEARG_OBJ

GET_OLEARG_VAR

GET_OLE_CHAR

GET_OLE_MEMBERID

GET_OLE_NUM

GET_OLE_OBJ

GET_OLE_VAR

GET_PARAMETER_ATTR

GET_PARAMETER_LIST

GET_RADIO_BUTTON_PROPERTY

GET_RECORD_PROPERTY;

GET_RELATION_PROPERTY

GET_REPORT_OBJECT_PROPERTY

GET_TAB_PAGE_PROPERTY

GET_VAR_BOUNDS

GET_VAR_DIMS

GET_VAR_TYPE

GET_VIEW_PROPERTY

GET_WINDOW_PROPERTY

GLOBAL_EVENT

GLOBAL_SCOPE

GOTO*

GO_BLOCK

GO_FIELD

GO_FORM

GO_ITEM

GO_RECORD

GRANT*

GRAPHICS

GRAYSCALE

GROUP*

GROUPCOLUMN

GROUP_NAME

HAVING*

HEIGHT

HELP

HIDDEN

HIDE

HIDE_MENU

HIDE_ON_EXIT

HIDE_PAGE

HIDE_VIEW

HIDE_WINDOW

HIGH_COMPRESSION

HIGHEST_SOUND_QUALITY

HIGH_SOUND_QUALITY

HINT_TEXT

HOLDER

HOST

ICONIC_BUTTON

ICON_NAME

IDENTIFIED*

IDENTIFIER

ID_NULL

IF*

IMAGE_ADD

IMAGE_AND

IMAGE_SCROLL

IMAGE_SUBTRACT

IMAGE_XOR

IMAGE_ZOOM

IMMEDIATE

IN*

INDEX*

INDEXES*

INDICATOR*

INITIAL_VALUE

INIT_OLEARGS

INSERT*

INSERT_ALLOWED

INSERT_RECORD

INSERT_RECORDS

INSERT_SOURCE

INSERT_SOURCE_TYPE

INSERT_STATUS

INTEGER*

INTERACTION_MODE

INTERSECT*

INTO*

INVALID_ARGUMENT

INVALID_TIMER_INTERVAL

IS*

ISNULL

ISOLATED

ISOLATION_MODE

ISSUE_ROLLBACK

ISSUE_SAVEPOINT

ITEM

ITEM_CANVAS

ITEM_DEFAULT_VALUE

ITEM_ENABLED

ITEM_IS_VALID

ITEM_LENGTH

ITEM_NAME

ITEM_SCOPE

ITEMS_IN_BLOCK

ITEM_SIZE

ITEM_TAB_PAGE

ITEM_TYPE

KEEP_POSITION

KEY_MODE

LABEL

LASTBLOCK

LASTFIELD

LASTBLOCK

LAST_FIELD

LAST_ITEM

LAST_OLE_ERROR

LAST_OLE_EXCEPTION

LAST_QUERY

LAST_RECORD

LEVEL*

LIKE*

LIMITED*

LIST

LIST_VALUES

LOCATION

LOCKING_MODE

LOCK_RECORD

LOCK_RECORDS

LOCK_RECORD_ON_CHANGE

LOGON

LOGON_SCREEN

LOGOUT

LONG_COLUMN

LOOP*

LOV

LOV_NAME

LOV_SIZE

LOV_VALIDATION

LOV_X_POS

LOV_Y_POS

LOW_COMPRESSION

LOWEST_SOUND_QUALITY

LOW_SOUND_QUALITY

LOWERCASE

LOWERED

LUT

MACRO

MAIL

MAIN_MENU

MASTER_DELETES

MASTER_NAME

MAX*

MAXIMIZE

MAXIMIZE_COMPRESSION

MAX_LENGTH

MAX_QUERY_TIME

MAX_RECORDS_FETCHED

MEDIUM_COMPRESSION

MEDIUM_SOUND_QUALITY

MENU

MENUITEM

MENU_CLEAR_FIELD

MENU_FAILURE

MENU_HELP

MENU_MESSAGE

MENU_NEXT_FIELD

MENU_PARAMETER

MENU_PREVIOUS_FIELD

MENU_REDISPLAY

MENU_SHOW_KEYS

MENU_SUCCESS

MESSAGE

MESSAGE_CODE

MESSAGE_TEXT

MESSAGE_TYPE

MIN*

MINIMIZE

MINIMIZE_COMPRESSION

MINUS*

MLSLABEL*

MNEMONIC

MOD*

MODE

MODULE_NLS_CHARACTER_SET

MODULE_NLS_LANG

MODULE_NLS_LANGUAGE

MODULE_NLS_TERRITORY

MONOCHROME

MONOPHONIC

MOUSE_NAVIGABLE

MOUSE_NAVIGATE

MOVE_VIEW

MOVE_WINDOW

MULTI_LINE

MYTYPE

NAME_IN

NATURAL*

NAVIGABLE

NAVIGATION_STYLE

NEW*

NEW_APPLICATION

NEW_FORM

NEW_STATUS

NEW_USER

NEXTBLOCK

NEXTFIELD

NEXTITEM

NEXTVAL*

NEXT_BLOCK

NEXT_DETAIL_RELATION

NEXT_FIELD

NEXT_FORM

NEXT_ITEM

NEXT_KEY

NEXT_MASTER_RELATION

NEXT_MENU_ITEM

NEXT_NAVIGATION_BLOCK

NEXT_NAVIGATION_ITEM

NEXT_RECORD

NEXT_RELATION

NEXT_SET

NOCOMPRESS*

NO_COMPRESSION

NONE

NONE_PARAMA

NON_COORDINATED

NON_ISOLATED

NON_UPDATEABLE_PRIMARY_KEY

NORMAL

NO_SHARE_LIBRARY_DATA

NOT*

NO_ACKNOWLEDGE

NO_ACKNOWLEDGE_PREVIOUS

NO_ACTIVATE

NO_CHANGE

NO_COMMIT

NO_EXCEPTION

NO_HIDE

NO_OPERATION

NO_PROMPT

NO_QUERY_ONLY

NO_REMOVE_LIST

NO_REPEAT

NO_REPLACE

NO_RESTRICT

NO_ROLLBACK

NO_SCREEN

NO_SESSION

NO_SUCH_TIMER

NO_VALIDATE

NO_WAIT

NULL*

NULL_COMMAND

NUMBER*

NUMBER_BASE*

NUMBER_COLUMN

OF*

OHOST

OLEOBJ

OLEVAR

OLEVAR_NULL

OLE_SAFEARRAYBOUND

OLE_SAFEARRAYBOUNDS

OLE2_CLASSNAME

OLE2_FILENAME

ON*

OPEN*

OPEN_AT_COMMIT

OPEN_FILE

OPEN_FORM

OPERATING_SYSTEM

OPTIMIZER_HINT

OPTION*

OR*

ORDER*

ORDER_BY

ORIGINAL_DEPTH

ORIGINAL_QUALITY

ORIGINAL_SETTING

OS_COMMAND

OS_COMMAND1

OTHERS*

OUT *

PACKAGE*

PAGE

PARAMLIST

PARAMTYPE_PARAMA

PARAM_ATTR

PARTITION*

PASSWORD

PASTE_REGION

PAUSE

PCTFREE*

PECS

PLAY_SOUND

PLITBLM

PLSQL_TABLE

POPULATE_BLOCK

POPULATE_GROUP

POPULATE_GROUP_WITH_QUERY

POPULATE_LIST

POPULATE_TABLE

POPUPMENU_COPY_ITEM

POPUPMENU_CUT_ITEM

POPUPMENU_DELOBJ_ITEM

POPUPMENU_INSOBJ_ITEM

POPUPMENU_LINKS_ITEM

POPUPMENU_OBJECT_ITEM

POPUPMENU_PASTESPEC_ITEM

POPUPMENU_PASTE_ITEM

POSITION

POSITION_ON_CANVAS

POSITIVE*

POST

PRAGMA*

PREVENT_MASTERLESS_OPERATION

PREVIEW

PREVIOUSBLOCK

PREVIOUSFIELD

PREVIOUSITEM

PREVIOUS_BLOCK

PREVIOUS_FIELD

PREVIOUS_FORM

PREVIOUS_ITEM

PREVIOUS_MENU

PREVIOUS_MENU_ITEM

PREVIOUS_NAVIGATION_BLOCK

PREVIOUS_NAVIGATION_ITEM

PREVIOUS_RECORD

PRIMARY_KEY

PRINT

PRINTER

PRIOR*

PRIVATE*

PROCEDURE*

PROCEDURE_SOURCE

PROMPT_ALIGNMENT_OFFSET

PROMPT_ALL_RECORDS

PROMPT_DISPLAY_STYLE

PROMPT_EDGE

PROMPT_EDGE_ALIGNMENT

PROMPT_EDGE_OFFSET

PROMPT_FIRST_RECORD

PROMPT_HIDDEN

PROMPT_TEXT

PROMPT_TEXT_ALIGNMENT

PROMPT_VISUAL_ATTRIBUTE

PROPERTY_FALSE

PROPERTY_OFF

PROPERTY_ON

PROPERTY_TRUE

PTR_TO_VAR

PUBLIC *

PULL_DOWN

QUERYABLE

QUERY_ALLOWED

QUERY_DATA_SOURCE_NAME

QUERY_DATA_SOURCE_TYPE

QUERY_HITS

QUERY_LENGTH

QUERY_ONLY

QUERY_OPTIONS

QUERY_PARAMETER

QUERY_SOURCE

QUERY_SOURCE_TYPE

QUERY_STATUS

RAISE*

RAISED

RANGE*

RANGE_HIGH

RANGE_LOW

READ_IMAGE_FILE

READ_SOUND_FILE

REAL*

RECALCULATE

RECORD*

RECORDGROUP

RECORDS_DISPLAYED

RECORDS_TO_FETCH

RECORD_SCOPE

REDISPLAY

RELATION

RELEASE*

RELEASE_OBJ

REM*

REMOVE_LIST

REMOVE_ON_EXIT

RENAME*

REPEAT

REPLACE_CONTENT_VIEW

REPLACE_MENU

REPORT_COMM_MODE

REPORT_DESFORMAT

REPORT_DESNAME

REPORT_DESTYPE

REPORT_EXECUTION_MODE

REPORT_FILENAME

REPORT_OBJECT

REPORT_OBJECT_STATUS

REPORT_OTHER

REPORT_QUERY_NAME

REPORTS

REPORT_SERVER

REPORT_SOURCE_BLOCK

REQUIRED

RESET_GROUP_SELECTION

RESIZE_VIEW

RESIZE_WINDOW

RESOURCE*

RESTRICT

RESTRICTED

RESTRICTED_ALLOWED

RESTRICTED_FORBIDDEN

RETRIEVE_LIST

RETURN*

REVERSE*

REVOKE*

ROLLBACK*

ROLLBACK_FORM

ROLLBACK_NR

ROLLBACK_RL

ROLLBACK_SV

ROWID*

ROWLABEL*

ROWNUM*

ROWTYPE*

RUN*

RUN_PRODUCT

RUN_REPORT_OBJECT

RUNTIME

SAME_RECORD

SAVE_FILE

SAVEPOINT*

SAVEPOINT_MODE

SAVEPOINT_NAME

SCHEMA*

SCREEN

SCROLLBAR

SCROLL_DOWN

SCROLL_UP

SCROLL_VIEW

SECURE

SELECT*

SELECTION_RECTANGLE

SELECT_ALL

SELECT_RECORDS

SEPARATE*

SESSION

SET*

SET_ALERT_PROPERTY

SET_APPLICATION_PROPERTY

SET_BLOCK_PROPERTY

SET_CANVAS_PROPERTY

SET_FIELD

SET_FORM_PROPERTY

SET_GROUP_CHAR_CELL

SET_GROUP_DATE_CELL

SET_GROUP_NUMBER_CELL

SET_GROUP_SELECTION

SET_INPUT_FOCUS

SET_ITEM_INSTANCE_PROPERTY

SET_ITEM_PROPERTY

SET_LOV_PROPERTY

SET_MENU_ITEM_PROPERTY

SET_OLE

SET_PARAMETER_ATTR

SET_RADIO_BUTTON_PROPERTY

SET_RECORD_PROPERTY

SET_RELATION_PROPERTY

SET_REPORT_OBJECT_PROPERTY

SET_TAB_PAGE_PROPERTY

SET_TIMER

SET_VAR

SET_VIEW_PROPERTY

SET_WINDOW_PROPERTY

SHOWN

SHOW_ALERT

SHOW_BACKGROUND_MENU

SHOW_DOCUMENT

SHOW_EDITOR

SHOW_FAST_FORWARD_BUTTON

SHOW_KEYS

SHOW_LOV

SHOW_MENU

SHOW_PAGE

SHOW_PALETTE

SHOW_PLAY_BUTTON

SHOW_POPUPMENU

SHOW_RECORD_BUTTON

SHOW_REWIND_BUTTON

SHOW_SLIDER

SHOW_TIME_INDICATOR

SHOW_VIEW

SHOW_VOLUME_CONTROL

SHOW_WINDOW

SIZE*

SMALLINT*

SPACE*

SPECIFIC_EXCEPTION

SQL*

SQLCODE*

SQLERRM*

SQLFORMS

SQLMENU

STACKED

START*

START_EDGE

STATUS

STATEMENT*

STDDEV*

STEREOPHONIC

SUBTYPE*

SUM*

SYNCHRONIZE

SYNCHRONOUS

TABAUTH*

TABLE*

TABLE_FROM_BLOCK

TABLES*

TABLE_SOURCE

TAB_PAGE

TAB_PAGE_X_OFFSET

TAB_PAGE_Y_OFFSET

TAB_PLACEMENT

TASK*

TERMINATE*

TEXT_PARAMETER

THEN*

TIMER

TIMER_EXISTS

TIMER_NAME

TITLE

TO*

TOOLS

TOOLTIP_ATTRIBUTE

TOOLTIP_TEXT

TOP_EDGE

TOPMOST_TAB_PAGE

TOP_RECORD

TO_SAVEPOINT

TO_VARIANT

TRUE*

TYPE*

UNFORMATTED_VALUE

UNION*

UNIQUE*

UNIQUE_KEY

UNRESTRICTED

UNSET_GROUP_SELECTION

UP

UPDATE*

UPDATEABLE

UPDATEABLE_PRIMARY_KEY

UPDATE_ALLOWED

UPDATE_CHANGED_COLUMNS

UPDATE_CHART

UPDATE_COLUMN

UPDATE_NULL

UPDATE_PERMISSION

UPDATE_RECORD

UPDATE_RECORDS

UPDATE_SOURCE

UPDATE_SOURCE_TYPE

UPPERCASE

UPPER_CASE

USE*

USERNAME

USER_EXIT

USER_INTERFACE

USER_NLS_CHARACTER_SET

USER_NLS_LANG

USER_NLS_LANGUAGE

USER_NLS_TERRITORY

VALIDATE

VALIDATE_FROM_LIST

VALIDATION

VALIDATION_UNIT

VALUE

VALUES*

VALUE_PARAMA

VARCHAR*

VARCHAR2*

VARIANCE*

VARPTR_TO_VAR

VAR_TO_CHAR

VAR_TO_NUMBER

VAR_TO_OBJ

VAR_TO_TABLE

VAR_TO_VARPTR

VBX

VERSION

VIEW*

VIEWS*

VIEWPORT

VIEWPORT_X_POS

VIEWPORT_X_POS_ON_CANVAS

VIEWPORT_Y_POS

VIEWPORT_Y_POS_ON_CANVAS

VIEW_SIZE

VISIBLE

VISUAL_ATTRIBUTE

VT_BLOB

VT_BLOB_OBJECT

VT_BOOL

VT_BSTR

VT_BYREF

VT_CARRAY

VT_CF

VT_CLSID

VT_CY

VT_DATE

VT_DISPATCH

VT_EMPTY

VT_ERROR

VT_FILETIME

VT_HRESULT

VT_I1

VT_I2

VT_I4

VT_I8

VT_INT

VT_LPSTR

VT_LPWSTR

VT_NULL

VT_PTR

VT_R4

VT_R8

VT_SAFEARRAY

VT_STORAGE

VT_STORED_OBJECT

VT_STREAM

VT_STREAMED_OBJECT

VT_TYPE

VT_UI1

VT_UI2

VT_UI4

VT_UI8

VT_UINT

VT_UNKNOWN

VT_USERDEFINED

VT_VARIANT

VT_VOID

WHEN*

WHERE*

WHERE_DISPLAY

WHILE*

WIDTH

WINDOW

WINDOW_HANDLE

WINDOW_NAME

WINDOW_SIZE

WINDOW_STATE

WITH*

WORK*

WRAP_STYLE

WRITE_IMAGE_FILE

XOR*

X_POS

X_POS_ON_CANVAS

YES

Y_POS

Y_POS_ON_CANVAS

ZOOM_IN_FACTOR

ZOOM_OUT_FACTOR

ZOOM_PERCENT


AppletViewerについて

  関連項目

AppletViewerはOracle Developerコンポーネントの1つで、Forms Server上で動作しているアプリケーションを表示するために、クライアント・マシン上で使用します。AppletViewerはサポート対象製品であり、Oracle Developer Webサイトから最新バージョンをダウンロードできます。

 AppletViewer上でアプリケーションを実行するとき、URLの表示要求（すなわち、web.showDocumentおよびRUN_PRODUCT）はAppletViewerによって無視されます。この場合、Formsアプレットを"認証"するためのプロセスに従う必要があります。

注意: AppletViewerは、Windows 95およびWindows NT 4.0上でのみサポートされます。


AppletViewerのインストール

 次のステップ  [image] 関連項目

AppletViewerをインストールするには:

1	Oracle Installerを使用して、JDK AppletViewerをインストールします。

•	アクティブなWindowsアプリケーションをすべて終了します。

•	タスクバーの「スタート」ボタンをクリックし、「ファイル名を指定して実行」を選択します。

•	「ファイル名を指定して実行」ダイアログで、D:\setup.exe（D:はCD-ROMドライブ名）と入力し、「OK」をクリックします。

•	「言語」ダイアログで言語を選択して、「OK」をクリックします。

•	「Oracleインストール設定」ダイアログで、会社名およびORACLE_HOMEディレクトリのデフォルト値を確認します。必要であれば値を修正して「OK」をクリックします。

•	「カスタム・インストールまたは削除」ラジオ・ボタンをクリックして、「OK」をクリックします。

•	「変更可能な製品群」のリストから、「JDK AppletViewer」を選択します。

•	「インストール」をクリックします。

2	タスクバーの「スタート」ボタンをクリックし、「プログラム」 [image] 「Oracle Developer」 [image] 「Install JDK AppletViewer」の順に選択します。

3	「展開先フォルダ」フィールドで、ファイルを展開するためのディレクトリを\ORACLE_HOME\JDK1.1の形式で入力します。たとえば、C:\ORANT\JDK1.1のように入力します。

4	「展開」をクリックします。

5	\ORACLE_HOME\FORMS60\JAVAディレクトリから、ORACLE_HOMEディレクトリ（たとえばC:\ORANT）にファイルJDK_SETUP.BATをコピーします。

6	ORACLE_HOMEディレクトリにコピーしたJDK_SETUP.BATを修正します。

  JDK_SETUP.BATをテキスト・エディタで開きます。

  環境変数CLASSPATHおよびPATHのORACLE_HOMEディレクトリに相当する部分を、ユーザーの環境に合せて修正します。次に例を示します。

SET CLASSPATH=C:\ORANT\JDK1.1\JDK\LIB\CLASSES.ZIP
PATH C:\ORANT\JDK1.1\JDK\BIN;%PATH%

  JDK_SETUP.BATへの変更を保存します。


AppletViewerの実行

 次のステップ  [image] 関連項目

AppletViewerを実行するには:

1	JDK_SETUP.BATを実行します。

•	DOSコマンド・プロンプトを開き、ORACLE_HOMEディレクトリに移動します。

•	JDK_SETUP.BATと入力して、[Enter]キー（リターン・キー）を押します。

2	同じ「DOSコマンド・プロンプト」ウィンドウで、C:\ORANT\JDK1.1\JDK\BIN\のように入力して、AppletViewerの実行形式ファイル（appletviewer.exe）があるディレクトリに移動します。

3	ホスト名、HTMLファイル仮想ディレクトリおよびHTMLファイルを指定して、アプリケーションの実行形式ファイルを実行します。たとえば、次のように入力します。

appletviewer http://myhost.com/web_html/start.html

注意: カートリッジ実装を使用している場合は、HTTP要求を引用符で囲みます。

4	[Enter]キー（リターン・キー）を押します。


AppletViewer内部からのWebブラウザの起動

  次のステップ	  関連項目

AppletViewerの内部からWebブラウザを起動するには:

1	次のどちらかの方法でFormsを"認証"します。

•	Formsアプレットの署名を登録します。

•	FormsのJavaクラス・ファイルをローカル環境でインストールします。

2	ベースHTMLファイルに、clientBrowserパラメータを追加します。


認証について

 関連項目

clientBrowserパラメータを使用するには、ユーザー命名アプリケーションを"実行する"システム・コールを発行するためのセキュリティ権限を有している必要があります。一般に、Javaクラス・ファイルをロードするとき、Formsアプレットは"認証"されておらず、アプレット単体ではそのようなシステム・コールを発行できません。しかし、Formsアプレットが"認証済み"であれば、そのようなシステム・コールを発行できます。次のいずれかの条件に該当するとき、Formsアプレットは"認証済み"であるとみなされます。

•	クライアント・マシンへのFormsアプレットの署名の"登録"が済んでいるとき

•	FormsのJavaクラス・ファイルがローカル環境でクライアント・システム上にインストールされており、CLASSPATH環境変数の設定が完了しているとき


Formsアプレット署名の登録について

 関連項目

署名を使用すると、ファイルのダウンロード元が正当かつ信頼できるエンティティ（"署名者"）であることをクライアント・マシン上で検証できるため、悪意のある、または正しく機能しないJavaアーカイブ（JAR）ファイルからマシンを保護できます。JARファイルがクライアントによる認証を受けられるようにするには、そのファイルの署名をクライアント・マシン上に登録する必要があります。JavakeyはSun Microsystems社のコマンド・ライン・ツールであり、JARファイルのデジタル署名を生成します。

Formsアプレットは、それ自体が署名付きのJARファイルです。Formsアプレットの署名を登録する方法は次の2通りです。

•	オラクル社が提供するFormsアプレット署名を使用して、クライアント・マシン上に署名を登録します。

•	Formsアプレットにユーザー独自の署名を施し、その署名をクライアント・マシン上に登録します。この方法を選択する場合は、http://java.sun.com/security/usingJavakey.htmlにあるJARファイルの作成および署名に関する説明を参照してください。


署名の登録によるFormsアプレットの認証

 次のステップ  [image] 関連項目

署名を登録することによりFormsアプレットを認証するには:

1	 Oracle Developerの証明書を、クライアント・マシン上の\ORACLE_HOME\FORMS60\JAVAディレクトリにコピーします。

この証明書は、Dev2K.x509という名前のファイルであり、サーバー上の\ORACLE_HOME\FORMS60\JAVAの中にあります。

2	DOSコマンド・プロンプトを開き、\ORACLE_HOME\FORMS60\JAVAディレクトリに移動します。

3	javakey -c Developer/2000 trueと入力します。

このコマンドにより、信頼度の高いAppletViewer身元証明が、証明書の提供元の正確な名前を使用してクライアントの認証データベース上に作成されます。

javakey -c Developer/2000 true

4	[Enter]キー（リターン・キー）を押します。

5	javakey -ic Developer/2000 Dev2K.x509と入力します。

このコマンドにより、証明書Dev2K.x509がクライアントのJDK認証データベースにインポートされ、ステップ3で作成された信頼度の高い身元証明にその証明書が関連付けられます。

6	[Enter]キー（リターン・キー）を押します。


FormsのJavaクラス・ファイルをローカル環境でインストールすることによりFormsアプレットを認証

  次のステップ  [image] 関連項目

Javaクラス・ファイルをローカル環境でインストールすることによりFormsアプレットを認証するには:

1	クライアント・マシン上の新しいディレクトリに\ORACLE_HOME\FORMS60\JAVAディレクトリをコピーします。

注意: このディレクトリは正確にコピーし、ディレクトリ構造をいっさい変更しないでください。

2	ORACLE_HOMEディレクトリにあるJDK_SETUP.BATを修正します。

•	JDK_SETUP.BATをテキスト・エディタで開きます。

•	CLASSPATH環境変数を、新しいディレクトリを参照するように修正します。

•	JDK_SETUP.BATへの変更を保存します。


ベースHTMLファイルへのclientBrowserパラメータの追加

 関連項目

clientBrowserパラメータを追加する方法には、次の2通りがあります。

•	 HTMLファイルにclientBrowserパラメータを追加し、JDK_SETUP.BATファイルを各自修正するようにクライアントに指示します。この方法は、クライアントがブラウザの実行形式ファイルをそれぞれ異なった物理ディレクトリにインストールしている可能性がある場合に最も適しています。ただしこの方法では、すべてのクライアントが同じブラウザを使用していることを想定しています。HTMLファイルの例は次のようになります。

<APPLET CODEBASE="/web_code/"
CODE="oracle.forms.engine.Main"
ARCHIVE="/web_code/f60all.jar"
HEIGHT=20
WIDTH=20>
<PARAM NAME="serverArgs" VALUE="module=start.fmx userid=scott/tiger">
<PARAM NAME="clientBrowser" VALUE="netscape">
</APPLET>

JDK_SETUP.BATの例は次のようになります。

SET CLASSPATH=C:\ORANT\JDK1.1\JDK\LIB\CLASSES.ZIP
PATH C:\PROGRAM FILES\NETSCAPE\COMMUNICATOR\PROGRAM;
C:\ORANT\JDK1.1\JDK\BIN;%PATH%

•	HTMLファイルにclientBrowserパラメータを追加します。この方法では、すべてのクライアントがブラウザの実行形式ファイルを同じ物理ディレクトリにインストールしていることを想定して、ブラウザの物理パスをHTMLファイルにハードコードしています。次に例を示します。

<APPLET CODEBASE="/web_code/"
CODE="oracle.forms.engine.Main"
ARCHIVE="/web_code/f60all.jar"
HEIGHT=20
WIDTH=20>
<PARAM NAME="serverArgs"
VALUE="module=start.fmx userid=scott/tiger">
<PARAM NAME="clientBrowser"
VALUE="c:\program files\netscape\communicator\program\netscape.exe">
<APPLET>

注意: これらのHTMLファイルの例では、Formsアプレットを認証する方法として、アプレットの署名をマシン上に登録する方法が採用されていることを想定しています。FormsのJavaクラス・ファイルをローカル環境でインストールすることによりFormsアプレットを認証している場合は、F60ALL.JARファイルをダウンロードすることはお薦めできません。そのため、HTMLファイルから<APPLET>タグのARCHIVE="/.../f60all.jar"の部分を削除する必要があります。


http://www.oracle.com/products/tools/dev2k/index.html


appletviewer "http://myhost.com/web_html/start.html"


配列処理について

 関連項目

配列処理は、レコードの処理方法を変更するForm Builderのオプションです。Form Builderのデフォルトの動作では、レコードは1度に1つずつ処理されます。配列処理を変更可能にすると、レコードのグループを1度に処理できるので、ネットワークの通信量が減少し、それによってパフォーマンスが向上します。配列処理では、複数のレコードを含んでいる構造体（配列）が、サーバーとの間で送受信されて処理されます。Form Builderでは、配列フェッチ処理と配列DML処理の両方がサポートされています。問合せおよびDML操作の両方について、配列サイズを決定してニーズに合わせてパフォーマンスを最適化できます。

配列処理は、表、ビュー、プロシージャおよび副問合せに基づいたブロックの問合せおよびDML操作に使用できます。トランザクション・トリガーを基盤とするブロックについてはサポートされていません。


配列DML処理中のトリガー処理について

 関連項目

すべてのPre-トリガーは、レコードの配列に対するDML操作の実行前に起動します。すべてのPost-トリガーは、レコードの配列に対するDML操作の実行後に起動します。たとえば、ある項目にPre-InsertトリガーおよびPost-Insertトリガーが存在し、「DML配列の大きさ」プロパティが10だとします。処理を待っているレコードが25ある場合は、まず、25のPre-Insertトリガーがすべて起動します。次に、10のレコードからなる配列が挿入されます。続いて10のレコードからなる2番目の配列が挿入され、残りの5つのレコードを含む3番目の配列が挿入されます。最後に、25のPost-Insertトリガーがすべて起動します。

配列DML処理は、On-Insert、On-UpdateまたはOn-Deleteトリガーが存在するときは常に使用不可です。これは、On-トリガーでは配列処理機能を含むデフォルトの処理が無効になるからです。


問合せの配列処理の変更可能化

 関連項目

問合せでの配列処理を変更可能にするには:

1	「ツール」 [image] 「作業環境」を選択します。

2	「ランタイム」タブをクリックします。

3	「配列処理」チェックボックスをチェックします。

4	「OK」をクリックします。

5	「オブジェクト・ナビゲータ」で「ブロック」オブジェクト・アイコン [image] をクリックします。

6	新規に挿入された「ブロック・オブジェクト」アイコン [image] をダブルクリックします。これにより、「プロパティ・パレット」が表示されます。

7	「レコード」ノードの下の「問合わせ配列サイズ」プロパティを、処理する配列のレコード数を示す数値に設定します。


DMLの配列処理の変更可能化

 関連項目

DMLでの配列処理を変更可能にするには:

1	「ツール」 [image] 「作業環境...」を選択します。

2	「Runtime」タブをクリックします。

3	「配列処理」チェックボックスをチェックします。

4	「オブジェクト・ナビゲータ」で「ブロック」オブジェクト・アイコン [image] をクリックします。

5	新規に挿入された「ブロック・オブジェクト」アイコン [image] をダブルクリックします。これにより、「プロパティ・パレット」が表示されます。

6	「拡張データベース」ノードの下の「DML配列の大きさ」プロパティを、処理する配列のレコード数を示す数値に設定します。


ビルトインの概要

 関連項目  [image] すべてのビルトイン

Form Builderには、トリガーおよび独自に作成したユーザー命名サブプログラムからコールできるビルトイン・サブプログラムが用意されています。ビルトインによって、ナビゲーション、インタフェース制御およびトランザクション処理などの標準的なアプリケーション機能のプログラムによる制御が可能になります。

この項では、次の項目に関する情報を提供します。

•	ビルトイン構文

•	ビルトイン名前付きパラメータ

•	ビルトイン・コードの例

•	ビルトイン・オブジェクトID

•	制限付きビルトイン・サブプログラム

•	ビルトイン定数


ビルトイン構文

 すべてのビルトイン

名前付きパラメータはイタリックのモノスペース・フォントで示されます。名前付きパラメータはどれも、実パラメータで置き換えることができます。実パラメータには定数、リテラル、バインド変数または数値を使用できます。

SET_TIMER(timer_name, milliseconds, iterate);

この例では、timer_nameはCHAR値なので、指定するタイマー名を引用符で囲む必要があります。millisecondsパラメータは数値として渡されるので、引用符で囲む必要はありません。iterateパラメータは定数として渡されるので、引用符で囲まずに、パラメータの説明に示されているとおりに入力する必要があります。大文字を使用してもかまいません。

いくつかのオプションの要素が変更可能なケースでは、さまざまな代替構文が提示されます。代替構文が提示されるのは、いくつもの複雑な構文規則を解読する必要をなくすためです。

特定のオブジェクト名を組み込むかわりに変数を使用する場合もあることに注意してください。そのような場合には、変数を引用符で囲みません。次の例は、SET_TIMERビルトインをコールして有効なタイマー名を含んでいる変数を参照するWhen-Timer-Expiredトリガーを示したものです。

DECLARE
   the_timer  CHAR := GET_APPLICATION_PROPERTY(TIMER_NAME);
BEGIN
   SET_TIMER(the_timer, 60000, REPEAT);
END;


ビルトイン名前付きパラメータ

 すべてのビルトイン

名前付きパラメータの後には等号/不等号（=>）を続ける必要があります。これは、名前付きパラメータの後に続く実パラメータを示します。たとえば、SET_TIMERビルトインのmillisecondsを変更する場合は、次の構文を使用して直接そのパラメータを使用できます。

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

また、次の構文を使用して引き続きビルトインをコールすることもできます。

SET_TIMER('my_timer', 12000, NO_REPEAT);


ビルトイン・コードの例

ビルトイン・サブプログラムの例が用意されています。例のなかには、構文を示したものもあります。それ以外の例では、単独または他のビルトインとの連携によるビルトインの使用方法を詳細に示してあります。例の構文に関して留意すべきポイントには、次のものがあります。

•	例は、そのとおりに入力できる形で示されます。

•	大文字およびイタリック体は読みやすくするために使用されているものであり、無視してかまいません。

•	ビルトイン名、IF、THEN、ELSE、BEGINおよびENDなどのその他のPL/SQL予約語は、読みやすくするために大文字で表示されます。

•	名前付きパラメータは、イタリック体で示されます。名前付きパラメータを使用する場合は、引用符で囲まずに、表示されているとおりにパラメータ名を入力し、その後に等号/不等号（=>）を続けてください。

•	CHAR型の引数は、引用符で囲む必要があります。

•	その他のデータ型の引数は、引用符で囲まないでください。

•	引用符（' '）、カンマ（,）、カッコ、アンダースコア（_）およびセミコロン（;）以外の特殊文字は無視してください。


ビルトイン・オブジェクトID

 すべてのビルトイン

一部のビルトイン・サブプログラムは、実パラメータとしてオブジェクトIDを受け入れます。オブジェクトIDは、Form Builderで作成されるときに各オブジェクトに割り当てられる、内部の不透明ハンドルです。オブジェクトIDは内部で管理され、ユーザーが外的には表示できません。オブジェクトIDを取り出す唯一の方法は、ローカル変数またはグローバル変数を使用して、オブジェクトの戻り値をその変数に割り当てることです。

この割当ては、FIND_ビルトイン・ファンクションを介して行います。PL/SQLブロック内でFIND_を使用すれば、その変数を、そのブロックにあるままでオブジェクトIDとして使用できます。各オブジェクトの有効なPL/SQLタイプは、各パラメータの構文説明で示されています。FIND_BLOCKビルトインの説明に、オブジェクトIDを取得する方法の例が示されています。


ビルトイン・フォーム座標単位

 すべてのビルトイン

多数のビルトイン・サブプログラムで、次のようなプロパティを使用してサイズおよび位置座標を指定できます。

•	HEIGHT

•	WIDTH

•	DISPLAY_POSITION

•	VIEWPORT_X_POS

•	VIEWPORT_Y_POS

•	VIEW_SIZE

•	VIEWPORT_X_POS_ON_CANVAS

•	VIEWPORT_Y_POS_ON_CANVAS

座標または幅および高さを指定するときは、「フォーム・モジュール」プロパティ・シートで設定されている現行のフォーム座標システムの単位を使用します。フォームの座標システムでは、Form Builderでオブジェクトのサイズおよび位置座標を指定するための単位が定義されます。次に示すようなフォームの座標単位を設定するには、「座標システム」フォーム・モジュール・プロパティを使用します。

•	文字セルまたは

•	単位:

•	インチ

•	センチメートル

•	ピクセル

•	ポイント

文字セル座標システムで設計する場合は、オブジェクトの大きさおよび位置座標はすべて文字セルで表されるので、Form Builderではサイズおよび位置プロパティには整数のみが受け入れられます。

実単位（インチまたはセンチメートル、ポイント）を使用して設計する場合は、オブジェクトの大きさおよび位置座標はすべてユーザーが指定した単位で表されるので、Form Builderではサイズおよび位置プロパティに小数および整数が受け入れられます。実単位の精度は3桁なので、座標は小数点以下第3位まで指定できます。ピクセルまたは文字セルを使用する場合は、座標の小数部は切り捨てられて整数になります。


ビルトインの大文字の戻り値

 すべてのビルトイン

GET_FORM_PROPERTYなどのGET_X_PROPERTYビルトインは、CHAR引数を大文字の値として戻します。これは、IF文で結果を比較する方法に影響します。


制限付きビルトイン・サブプログラム

 すべてのビルトイン

制限付きビルトインは、フォームのナビゲーション（外部画面ナビゲーションまたは内部ナビゲーションの両方）に影響します。制限付きビルトインは、内部ナビゲーションが発生していないときにトリガーからのみコールできます。

制限付きビルトインはPreおよびPostトリガーからはコールできません。これらのトリガーは、Form Builderがあるオブジェクトから別のオブジェクトへナビゲートするときに起動します。

制限付きビルトインは、When-Button-PressedまたはWhen-Checkbox-Changedなどの、インタフェース項目に固有のWhenトリガーからコールできます。制限付きビルトインは任意のWhen-New-"object"-Instanceトリガーから、およびキー・トリガーからもコールできます。

制限なしビルトインは、論理ナビゲーションにも物理ナビゲーションにも影響を与えず、任意のトリガーからコールできます。

ビルトインの説明には、そのビルトインが制限付きか制限なしかを示す見出し「ビルトイン・タイプ」が含まれています。


ビルトイン定数

 すべてのビルトイン

ビルトイン・サブプログラムの多くは、引数として数値を取り込みます。このような数値引数に定数が定義されていることがよくあります。定数は名前付きの数値です。定数をビルトインに渡すときは、定数値を引用符で囲まないでください。

定数は、式の中で演算子の右側にのみ現れます。

ビルトインが引数として取り込める定数が複数ある場合もあります。可能な定数は、各パラメータの説明にリストされています。

次の例で、BLOCK_SCOPEはパラメータ定数VALIDATION_UNITに指定できる定数です。説明にリストされているその他の定数には、FORM、RECORDおよびITEMがあります。

SET_FORM_PROPERTY('my_form', VALIDATION_UNIT, BLOCK_SCOPE);


個々のビルトインの説明

 例  [image] 制限事項事項	 すべてのビルトイン

これ以降は、個々のビルトインについての説明です。各ビルトインは、適宜、次の書式で示されます。

構文:

ビルトインの構文を説明します。ビルトインに複数の書式がある場合には、それらの書式が示されます。たとえば、ビルトインのターゲット・オブジェクトを名前またはオブジェクトIDによってコールできる場合には、両方の書式の構文が表示されます。

ビルトイン・タイプ そのビルトインが制限付きか制限なしかを示します。

戻り値 ビルトイン・ファンクションの戻り値またはデータ型を示します。

問合せ入力モード 問合せ入力モード中にそのビルトインをコールできるかどうかを示します。

説明

そのビルトインの一般的な用途と使用方法を示します。

パラメータ

構文図に含まれているパラメータを説明します。通常、下線の付いているパラメータがデフォルトです。


個々のビルトイン説明の制限事項

制限事項を示します。


個々のビルトインの制限事項の例

そのビルトインの実際のコールを開発するために構文とともに使用できる実例を提供します。


ABORT_QUERYビルトイン

 制限事項  [image] すべてのビルトイン

説明

現ブロックでオープンされている問合せをクローズします。

問合せは、SELECT文が発行された時からデータベースからすべての行がフェッチされるまでの間、オープンされています。特に、フォームが問合せ入力モードの場合には、SELECT文がまだ発行されていないので、問合せはオープンされていません。

構文:

PROCEDURE ABORT_QUERY;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

問合せは、SELECT文が発行された時からデータベースからすべての行がフェッチされるまでの間、オープンされています。特に、フォームが問合せ入力モードの場合には、SELECT文がまだ発行されていないので、問合せはオープンされていません。

パラメータ

なし

使用上の注意

ABORT_QUERYは「問合せ取消」デフォルト・メニューと等価ではありません。ABORT_QUERYはデータベースからの初期フェッチを防止するのではなく、フェッチ処理に割り込むことによって後続のフェッチを防止します。


ABORT_QUERYの制限事項

ABORT_QUERYは、次のトリガーでは使用しないでください。

•	On-Fetch。On-Fetchトリガーは、Oracle以外のデータ・ソースに対して実行するときにデフォルトのForm Builderファンクションの代わりに使用するために、トランザクション・トリガーを使用するアプリケーション用に用意されているものです。On-Fetchトリガーが行のフェッチを終わらせるには、CREATE_QUERIED_RECORDビルトインを発行せずにOn-Fetchトリガーを終了します。

•	Pre-Query。Pre-Queryトリガーは問合せがオープンされる前に起動するので、クローズすべき問合せはなく、ABORT_QUERYは無視されます。問合せ入力モードをプログラムで取り消すには、次のように、When-New-Record-Instanceトリガーを使用してフラグをチェックして、ビルトインEXIT_FORMをコールします。

IF (:global.cancel_query = 'Y'
      and :system.mode = 'ENTER-QUERY')
THEN
     Exit_Form;
     :global.cancel_query = 'N';
END IF;

•	次に、Pre-QueryトリガーまたはFRM-40301のエラーが発生した場合のOn-Errorトリガーの処理のどちらかから、フラグを'TRUE'に設定します。


ACTIVATE_SERVER

 例  [image] 制限事項	 関連項目	 すべてのビルトイン

説明

指定された型の列を所定のレコード・グループに追加します。

構文:

PROCEDURE ACTIVATE_SERVER
  (item_id  Item);

PROCEDURE ACTIVATE_SERVER
  (item_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

使用上の注意

•	OLEコンテナにはOLEオブジェクトを含み、OLEサーバーはアクティブになっている必要があります。


ACTIVATE_SERVERの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


ACTIVATE_SERVERの例

/*
** Built-in: ACTIVATE_SERVER
** Example:  Activates the OLE server associated with the object
**           in the OLE container.
** Trigger:  When-Button-Pressed
*/
DECLARE
 item_id  ITEM;
 item_name VARCHAR(25) := 'OLEITM';
BEGIN
 item_id := Find_Item(item_name);
 IF Id_Null(item_id) THEN
  message('No such item:'||item_name);
 ELSE
  Forms_OLE.Activate_Server(item_id);
 END IF;
END;


ADD_GROUP_COLUMNビルトイン

 例  [image] 制限事項  [image] すべてのビルトイン

説明

指定された型の列を所定のレコード・グループに追加します。

構文:

FUNCTION ADD_GROUP_COLUMN
  (recordgroup_id    RecordGroup,
   groupcolumn_name  VARCHAR2,
   column_type       NUMBER);

FUNCTION ADD_GROUP_COLUMN
  (recordgroup_name  VARCHAR2,
   groupcolumn_name  VARCHAR2,
   column_type       NUMBER);
FUNCTION ADD_GROUP_COLUMN
  (recordgroup_id,   RecordGroup
   groupcolumn_name  VARCHAR2,
   column_type       NUMBER,
   column_width      VARCHAR2);
FUNCTION ADD_GROUP_COLUMN
  (recordgroup_name  VARCHAR2,
   groupcolumn_name  VARCHAR2,
   column_type       NUMBER,
   column_width      VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 可

戻り値 GroupColumn

パラメータ

recordgroup_id	Form Builderがグループを作成するときに割り当てる一意のID。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループを作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

groupcolumn_name	列の名前を指定します。列名のデータ型はVARCHAR2です。

column_type	列のデータ型を指定します。許容される値は、次の定数です。

CHAR_COLUMN  その列がVARCHAR2データのみを受け入れられる場合、これを指定します。

DATE_COLUMN  その列がDATEデータのみを受け入れられる場合、これを指定します。

LONG_COLUMN  その列がLONGデータのみを受け入れられる場合、これを指定します。

NUMBER_COLUMN  その列がNUMBERデータのみを受け入れられる場合、これを指定します。

column_width	column_typeとしてCHAR_COLUMNを指定した場合は、データの最大長を指示する必要があります。COLUMN_WIDTHは2000を超えてはならず、整数としてす必要があります。

エラー条件:

次の条件のもとではエラーが戻されます。

•	存在しないレコード・グループの名前を入力しました。

•	グループまたは列の名前に、Oracleの標準命名規則に従っていない名前を指定しました。

•	VARCHAR2、NUMBER、DATEまたはLONG以外の列型を入力しました。


ADD_GROUP_COLUMNの制限事項

•	グループへの列の追加は、行を追加する前に行う必要があります。

•	すでに行を持っているグループには列を追加できません。その場合は、DELETE_GROUP_ROWで行を削除してから列を追加します。

•	グループへの列の追加は、CREATE_GROUPのコールを使用してグループを作成した後でしか実行できません。

•	列がデータベースの列に対応する場合、VARCHAR2型の列の幅は対応するデータベースの列の幅より小さくしないでください。

•	列がデータベースの列に対応する場合、VARCHAR2型の列の幅は対応するデータベースの列の幅より大きくてもかまいません。

•	widthパラメータを必要とするのは、VARCHAR2型の列のみです。

•	レコード・グループに多数の列があると、パフォーマンスに影響します。

•	LONG列は、1つのレコード・グループに1つのみ存在できます。


ADD_GROUP_COLUMNの例

/*

** Built-in:  ADD_GROUP_COLUMN
** Example: Add one Number and one Char column to a new
**            record group.
*/
PROCEDURE Create_My_Group IS
  rg_name VARCHAR2(15) := 'My_Group';
  rg_id   RecordGroup;
  gc_id   GroupColumn;
BEGIN
  /*
  ** Check to see if Record Group already exists
  */
  rg_id := Find_Group( rg_name );
  /*
  ** If Not, then create it with one number column and one           ** Char column
  */
  IF Id_Null(rg_id) THEN
    rg_id := Create_Group( rg_name );
    gc_id := Add_Group_Column(rg_id, 'NumCol',NUMBER_COLUMN);
    gc_id := Add_Group_Column(rg_id, 'CharCol',VARCHAR2_COLUMN,15);
  END IF;
END;


ADD_GROUP_ROWビルトイン

 例  [image] 制限事項  [image] すべてのビルトイン

説明

所定のレコード・グループに行を追加します。

構文:

PROCEDURE ADD_GROUP_ROW
  (recordgroup_id  RecordGroup,
   row_number      NUMBER);

PROCEDURE ADD_GROUP_ROW
  (recordgroup_name  VARCHAR2,
   row_number        NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

recordgroup_id	Form Builderがグループを作成するときに割り当てる一意のID。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループを作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

row_number	グループ内の行を指定する整数。グループの最後を除く任意の位置に行を追加すると、その行より後の行はすべて、論理的に再番号付けされます。グループの終わりに行を追加するには、END_OF_GROUP定数を使用します。

エラー条件:

次のいずれかの条件のもとでは、ランタイム・エラーが戻されます。

•	存在しないレコード・グループの名前を入力した場合。

•	範囲外または無効な行番号（アルファベット文字など）を指定した場合。


ADD_GROUP_ROWの制限事項

•	グループは、0以上の行から構成できます。

•	グループへの行の追加は、グループが作成され、列が追加された後でのみ実行できます。

•	グループ内にすでにある行の数よりも大きい（または負数の）行番号を指定すると、その行はグループの終わりに挿入されます。

•	問合せなしで静的グループに対して行を追加することはできません。


ADD_GROUP_ROWの例

/*

** Built-in:  ADD_GROUP_ROW
** Example:Add ten rows to a new record group and populate.
*/
PROCEDURE Populate_My_Group IS
  rg_name  VARCHAR2(20) := 'My_Group';
  rg_col1  VARCHAR2(20) := rg_name||'.NumCol';
  rg_col2  VARCHAR2(20) := rg_name||'.CharCol';
  rg_id    RecordGroup;
  gc_id    GroupColumn;
  in_words VARCHAR2(15);
BEGIN
  /*
  ** Check to see if Record Group already exists
  */
  rg_id := Find_Group( rg_name );
  /*
  ** If it does, then clear all the rows from the group and
  ** populate ten rows with the numbers from 1..10 along
  ** with the equivalent number in words.
  **
  **    Row#    NumCol    CharCol
  **    ----    ------    -------
  **      1        1        one
  **      2        2        two
  **      ::            :
  **     10       10        ten
  */
  IF NOT Id_Null(rg_id) THEN
    Delete_Group_Row( rg_id, ALL_ROWS );
    FOR i IN 1..10 LOOP
      /*
      ** Add the i-th Row to the end (bottom) of the
      ** record group, and set the values of the two cells
      */
      in_words := TO_CHAR(TO_DATE(i,'YYYY'),'year');
      Add_Group_Row( rg_id, END_OF_GROUP );
      Set_Group_Number_Cell( rg_col1, i, i);
      Set_Group_Char_Cell( rg_col2, i, in_words);
    END LOOP;
  END IF;
END;


ADD_LIST_ELEMENTビルトイン

 例  [image] 制限事項	 関連項目	 すべてのビルトイン

説明

リスト項目に1つの要素を追加します。

構文:

PROCEDURE ADD_LIST_ELEMENT
  (list_name   VARCHAR2,
   list_index, NUMBER
   list_label  VARCHAR2,
   list_value  NUMBER);

PROCEDURE ADD_LIST_ELEMENT
  (list_id     ITEM,
   list_index  VARCHAR2,
   list_label  VARCHAR2,
   list_value  NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

list_id	Form Builderがリスト項目を作成するときに割り当てる一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

list_name	ユーザーがリスト項目を作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

list_index	リスト索引値を指定します。リスト索引は1を基礎としています。

list_label	リスト要素のラベルとして表示するVARCHAR2文字列を指定します。

list_value	リスト項目に追加する実際のリスト要素値。


ADD_LIST_ELEMENTの制限事項

Form Builderでは、「リスト形式」プロパティが「ポップリスト」または「Tlist」に設定されている実表リストの場合、ブロックに問合せまたは変更されたレコードが含まれているときにはその他の値要素を追加できません。これを実行すると、エラーが発生します。こうした状況は、設計時に「ほかの値のマッピング」リスト項目プロパティで指定された「その他の値」を、DELETE_LIST_ELEMENTまたはCLEAR_LISTを使用してすでに削除しているときに発生する場合があります。

注意: 問合せされたレコードがブロックに含まれている場合、ブロック・ステータスはQUERYです。挿入または更新されたレコードがブロックに含まれている場合、ブロック・ステータスはCHANGEDです。


ADD_LIST_ELEMENTの例

/*

**  Built-in:  ADD_LIST_ELEMENT
**  Example:   Deletes index value 1 and adds the value "1994" to
**            the list item called years when a button is pressed.
**  Trigger:  When-Button-Pressed
*/
BEGIN
   Delete_List_Element('years',1);
   Add_List_Element('years', 1, '1994', '1994');
END;


ADD_OLEARGS

 すべてのビルトイン

説明

OLEオブジェクトのメソッドに渡される引数の型と値を確立します。

構文:

PROCEDURE ADD_OLEARG
  (newvar NUMBER, vtype VT_TYPE := VT_R8);

...または...

PROCEDURE ADD_OLEARG
  (newvar VARCHAR2, vtype VT_TYPE := VT_BSTR);

...または...

PROCEDURE ADD_OLEARG
  (newvar OLEVAR, vtype VT_TYPE := VT_VARIANT);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

Newvar	この引数の値。型は（NUMBER、VARCHAR2またはOLEVAR)、FORMSデータ型またはPL/SQLデータ型です。
vtype	OLEメソッドによって解釈される引数の型。 NUMBER引数の場合、デフォルトはVT_TYPE := VT_R8。 VARCHAR2引数の場合、デフォルトはVT_TYPE := VT_BSTR。 OLEVAR引数の場合、デフォルトはVT_TYPE := VT_VARIANT。
使用上の注意

渡される引数ごとに、個別のADD_OLEARGコールが必要です。このコールは、最初の引数から順番に行う必要があります。

サポートされるOLE VT_TYPEのリストは、OLEバリアント型に記載されています。


ADD_PARAMETERビルトイン

 例  [image] 制限事項	  関連項目	 すべてのビルトイン

説明

パラメータ・リストにパラメータを追加します。各パラメータは、キー、そのタイプおよび対応付けられた値から構成されます。

構文:

PROCEDURE ADD_PARAMETER
  (list       VARCHAR2,
   key        VARCHAR2,
   paramtype  VARCHAR2,
   value      VARCHAR2);

PROCEDURE ADD_PARAMETER
  (name       VARCHAR2,
   key        VARCHAR2,
   paramtype  VARCHAR2,
   value      VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

listまたはname	パラメータを割り当てるパラメータ・リストを指定します。実際のパラメータには、型PARAMLISTのパラメータ・リストIDまたはパラメータ・リストのVARCHAR2名のどちらかを指定できます。

key	パラメータの名前。キーのデータ型はVARCHAR2です。

paramtype	次の2つの型のどちらか1つを指定します。

TEXT_PARAMETER  VARCHAR2文字列リテラル。

DATA_PARAMETER  現フォームで定義されているレコード・グループの名前を指定するVARCHAR2文字列。Form BuilderがReport BuilderまたはGraphics Builderにデータ・パラメータを渡すと、Report BuilderまたはGraphics Builderがレポートまたは表示を行うために通常実行する問合せの代わりに、指定されたレコード・グループ内のデータを使用できます。

value	コールされたモジュールに渡す実際の値。テキスト・パラメータを渡す場合、最大長は64K文字です。値のデータ型はVARCHAR2です。


ADD_PARAMETERの制限事項

•	パラメータ・リストは、0（ゼロ）以上のパラメータから構成できます。

•	すでにパラメータ・リストが存在する場合は、パラメータ・リストは作成できません。作成しようとするとエラーが発生します。このエラーを回避するには、パラメータ・リストを作成する前に、ID_NULLを使用してパラメータ・リストがすでに存在しているかどうかをチェックします。パラメータ・リストがすでに存在する場合は、DESTROY_PARAMETER_LISTを使用してそのパラメータ・リストを削除した後、新しいリストを作成してください。

•	パラメータ・リストが別のフォームに渡される場合、DATA_PARAMETER型のパラメータを追加することはできません。


ADD_PARAMETERの例

/*

** Built-in:  ADD_PARAMETER
** Example: Add a value parameter to an existing Parameter
**            List 'TEMPDATA', then add a data parameter to
**            the list to associate named query 'DEPT_QUERY'
**            with record group 'DEPT_RECORDGROUP'.
*/
DECLARE
  pl_id ParamList;
BEGIN
  pl_id := Get_Parameter_List('tempdata');
  IF NOT Id_Null(pl_id) THEN
    Add_Parameter(pl_id,'number_of_copies',TEXT_PARAMETER,'19');

    Add_Parameter(pl_id, 'dept_query', DATA_PARAMETER,
         'dept_recordgroup');
  END IF;
END;


ADD_TREE_DATAビルトイン

 例	 すべてのビルトイン

説明

階層化された3つの項目の指定されたノードの下に1つのデータ・セットを追加します。

構文:

PROCEDURE ADD_TREE_DATA

(item_id ITEM,

node FTREE.NODE,

offset_type NUMBER,

offset NUMBER,

data_source NUMBER,

data VARCHAR2);

PROCEDURE ADD_TREE_DATA

(item_name VARCHAR2,

node FTREE.NODE,

offset_type NUMBER,

offset NUMBER,

data_source NUMBER,

data VARCHAR2);

PROCEDURE ADD_TREE_DATA

(item_name VARCHAR2,

node FTREE.NODE,

offset_type NUMBER,

offset NUMBER,

data_source NUMBER,

data RECORDGROUP);

PROCEDURE ADD_TREE_DATA

(item_id ITEM,

node FTREE.NODE,

offset_type NUMBER,

offset NUMBER,

data_source NUMBER,

data RECORDGROUP);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
node	有効なノードを指定します。
offset_type	ノードのオフセットのタイプを指定します。指定できる値は次のとおりです。 PARENT_OFFSET SIBLING_OFFSET offset_typeがPARENT_OFFSETである場合は、offsetで示される子の中にある指定のノードの1つ下のレベルにデータ・サブセットを追加します。 offset_typeがSIBLING_OFFSETの場合、新規のデータを兄弟として指定のノードに追加します。
offset	新しいノードの位置を示します。 offset_typeがPARENT_OFFSETの場合、offsetは1-nまたはLAST_CHILDのいずれかとなります。 offset_typeがSIBLING_OFFSETの場合、offsetはNEXT_NODEまたはPREVIOUS_NODEのいずれかとなります。
data_source	データ・ソースのタイプを示します。指定できる値は次のとおりです。 RECORD_GROUP QUERY_TEXT
data	追加するデータを指定します。データ･ソースがQUERY_TEXTの場合、データは問合せのテキストとなります。データ・ソースがRECORD_GROUPの場合、データはタイプRECORDGROUPの項目またはレコード・グループの名前となります。


ADD_TREE_DATAの例

/*

** Built-in:  ADD_TREE_DATA
*/

-- This code copies a set of values from a record group

-- and adds them as a top level node with any children

-- nodes specified by the structure of the record group.

-- The new top level node will be inserted as the last

-- top level node.

DECLARE

htree         ITEM;

rg_data       RECORDGROUP;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Find the record group.

rg_data := FIND_GROUP('new_data_rg');

-- Add the new node at the top level and children.

Ftree.Add_Tree_Data(htree,

Ftree.ROOT_NODE,

Ftree.PARENT_OFFSET,

Ftree.LAST_CHILD,

Ftree.RECORD_GROUP,

rg_data);

END;


ADD_TREE_NODEビルトイン

 例	 すべてのビルトイン

説明

階層化されたツリー項目に1つのデータ要素を追加します。

構文:

FUNCTION ADD_TREE_NODE

(item_name VARCHAR2,

node FTREE.NODE,

offset_type NUMBER,

offset NUMBER,

state NUMBER,

label VARCHAR2,

icon VARCHAR2,

value VARCHAR2);

FUNCTION ADD_TREE_NODE

(item_id ITEM,

node FTREE.NODE,

offset_type NUMBER,

offset NUMBER,

state NUMBER,

label VARCHAR2,

icon VARCHAR2,

value VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

戻り値  NODE

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
node	有効なノードを指定します。
offset_type	ノードのオフセットのタイプを指定します。指定できる値は次のとおりです。 PARENT_OFFSET SIBLING_OFFSET
offset	新しいノードの位置を示します。 offset_typeがPARENT_OFFSETの場合は、offsetは1-nまたはLAST_CHILDのいずれかとなります。 offset_typeがSIBLING_OFFSETの場合、offsetはNEXT_NODEまたはPREVIOUS_NODEのいずれかとなります。
state	ノードの状態を指定します。指定できる値は次のとおりです。 COLLAPSED_NODE EXPANDED_NODE LEAF_NODE
label	ノードに表示されたテキスト。
icon	ノードのアイコンのファイル名。
value	ノードのVARCHAR2値を指定します。


ADD_TREE_NODEの例

/*
** Built-in:  ADD_TREE_NODE
*/

-- This code copies a value from a Form item and

-- adds it to the tree as a top level node.The

-- value is set to be the same as the label.

DECLARE

htree         ITEM;

top_node      FTREE.NODE;

new_node      FTREE.NODE;

item_value    VARCHAR2(30);

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Copy the item value to a local variable.

item_value := :wizard_block.new_node_data;

-- Add an expanded top level node to the tree

-- with no icon.

new_node := Ftree.Add_Tree_Node(htree,

Ftree.ROOT_NODE,

Ftree.PARENT_OFFSET,

Ftree.LAST_CHILD,

Ftree.EXPANDED_NODE,

item_value,

NULL,

item_value);

END;


APPLICATION_PARAMETERビルトイン

 関連項目  [image] すべてのビルトイン

説明

「パラメータ値入力」ダイアログ・ボックス内に、現メニューに関係するすべてのパラメータおよびそれらの現行の設定値を表示します。

構文:

PROCEDURE APPLICATION_PARAMETER;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

エラー:

現行のメニューに対してパラメータが指定されないと、Form Builderは「FRM-10201: パラメータは必要ありません。」というエラー・メッセージを出します。


BELLビルトイン

 例  	 すべてのビルトイン

説明

次に端末画面がフォームの内部状態との同期をとるときに、端末のブザーを鳴らすように設定します。この同期は、内部処理の結果またはSYNCHRONIZEビルトイン・サブプログラムへのコールの結果として起こります。

構文:

PROCEDURE BELL;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


BELLの例

次の例では、ブザーを3回鳴らします。

FOR i in 1..3 LOOP
  BELL;
  SYNCHRONIZE;
END LOOP;


BLOCK_MENUビルトイン

 例  [image] すべてのビルトイン

説明

フォーム内の有効なブロックの順序番号と名前を含む値リスト（LOV）を表示します。Form Builderは、ユーザーが値リストから選択するブロック内の最初の入力可能項目に入力フォーカスを設定します。

構文:

PROCEDURE BLOCK_MENU;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可。ただし、問合せ入力モードで現ブロック外に移動することは無効です。

パラメータ

なし


BLOCK_MENUの例

/*

** Built-in:  BLOCK_MENU
** Example:Calls up the list of blocks in the form when the
**            user clicks a button, and prints a message if
**            the user chooses a new block out of the list to
**            which to navigate.
*/
DECLARE
  prev_blk  VARCHAR2(40) := :System.Cursor_Block;
BEGIN
  BLOCK_MENU;
  IF :System.Cursor_Block <> prev_blk THEN
    Message('You successfully navigated to a new block!');
  END IF;
END;


BREAKビルトイン

 例  [image] 制限事項  [image] すべてのビルトイン

説明

現行のフォームがデバッグ・モードで実行されているときに、フォームの実行を停止し、デバッガを表示します。デバッガからの選択により、グローバル変数とシステム変数の値を表示できます。BREAKビルトインは、主に、トリガーの実行時にフォームの状態を調べる場合に役立ちます。

構文:

PROCEDURE BREAK;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


BREAKの制限事項

現行のフォームがデバッグ・モードで実行されていない場合、BREAKビルトイン・サブプログラムのコールを発行しても、何の効果もありません。


BREAKの例

/*

** Built-in:  BREAK
** Example:Brings up the debugging window for a particular
**            value of the 'JOB' item anytime the user
**            changes records.
** Trigger:When-New-Record-Instance
*/
BEGIN
  IF :Emp.Job = 'CLERK' THEN
    Break;
    Call_Form('clerk_timesheet');
    Break;
  END IF;
END;


CALL_FORMビルトイン

 例	 制限事項	  関連項目	 すべてのビルトイン

説明

親フォームをアクティブにしたままで、表示されているフォームを実行します。Form Builderでは、これと同じ「Runform」設定項目のあるコール先フォームが親フォームとして実行されます。コール先フォームが終了すると、CALL_FORMへのコールを開始したポイントからForm Builderの処理がコール側フォームで再開されます。

構文:

PROCEDURE CALL_FORM
  (formmodule_name  VARCHAR2);

PROCEDURE CALL_FORM
  (formmodule_name  VARCHAR2,
   display          NUMBER);
PROCEDURE CALL_FORM
  (formmodule_name  VARCHAR2,
   display          NUMBER,
   switch_menu      NUMBER);
PROCEDURE CALL_FORM
  (formmodule_name  VARCHAR2,
   display          NUMBER,
   switch_menu      NUMBER,
   query_mode       NUMBER);
PROCEDURE CALL_FORM
  (formmodule_name  VARCHAR2,
   display          NUMBER,
   switch_menu      NUMBER,
   query_mode       NUMBER,
   data_mode        NUMBER);
PROCEDURE CALL_FORM
  (formmodule_name  VARCHAR2,
   display          NUMBER,
   switch_menu      NUMBER,
   query_mode       NUMBER,
   paramlist_id     PARAMLIST);
PROCEDURE CALL_FORM
  (formmodule_name  VARCHAR2,
   display          NUMBER,
   switch_menu      NUMBER,
   query_mode       NUMBER,
   paramlist_name   VARCHAR2);
PROCEDURE CALL_FORM
  (formmodule_name  VARCHAR2,
   display          NUMBER,
   switch_menu      NUMBER,
   query_mode       NUMBER,
   data_mode        NUMBER,
   paramlist_id     PARAMLIST);
PROCEDURE CALL_FORM
  (formmodule_name  VARCHAR2,
   display          NUMBER,
   switch_menu      NUMBER,
   query_mode       NUMBER,
   data_mode        NUMBER,
   paramlist_name   VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

formmodule_name	コール先フォームの名前（引用符（'）で囲む）。データ型はVARCHAR2です。

display	HIDE  （デフォルト）コール側フォームを非表示にしてから、コール先フォームを描画します。

NO_HIDE  コール側フォームを非表示にしないで、コール先フォームを表示します。

switch_menu	NO_REPLACE  （デフォルト）Form Builderは、コール先フォームのために、コール側フォームのデフォルト・メニュー・モジュールをアクティブの状態に保ちます。

DO_REPLACE  Form Builderはコール側フォームのデフォルト・メニュー・モードをコール先フォームのデフォルト・メニュー・モジュールに置換します。

query_mode	NO_QUERY_ONLY  （デフォルト）Form Builderは、指示されたフォームを通常モードで実行します。この場合、エンド・ユーザーは、コール先フォーム内で挿入、更新、および削除ができます。

QUERY_ONLY  Form Builderは、指示されたフォームを問合せ専用モードで実行します。この場合、エンド・ユーザーは、問合せを実行できますが、レコードの挿入、更新、削除はできません。

data_mode	NO_SHARE_LIBRARY_DATA  （デフォルト）Form Builderは（設計時に）同一のライブラリが付加されているフォームの間で実行時にデータを共有します。

SHARE_LIBRARY_DATA  実行時に、Form Builderは（設計時に）同一のライブラリが付加されているフォームの間でデータを共有します。

paramlist_id	Form Builderがパラメータ・リストを作成するときに割り当てる一意のID。オプションで、コール先フォームへの最初の入力としてパラメータ・リストを組み込むことができます。データ型はPARAMLISTです。

paramlist_name	ユーザーがパラメータ・リスト・オブジェクトを定義するときに付けた名前。データ型はVARCHAR2です。


CALL_FORMの制限事項

•	コール側フォームがQUERY_ONLYモードで実行されているときは、Form Builderはquery_modeパラメータを無視します。コール先フォームをNO_QUERY_ONLY（標準）モードで実行するように、CALL_FORM構文で指定している場合でも、Form Builderでは、QUERY_ONLYフォームからコールされたすべてのフォームをQUERY_ONLYフォームとして実行します。

•	CALL_FORMを介してフォームに渡されるパラメータ・リストには、型DATA_PARAMETERのパラメータを含むことはできません。CALL_FORMで渡すことができるのは、テキスト・パラメータのみです。

•	CALL_FORMに割り当てられたメモリのなかには、Runformセッションが終了するまでその割当てを解除できないものがあります。コール先フォームの大きなスタックを作成する場合に、警告を出します。?

•	CALL_FORMをPre-Logon、On-LogonまたはPost-Logonトリガーで実行する場合は、常に、DO_REPLACEパラメータを指定してコール側フォームのメニューをコール先フォームのメニューと置き換えます。DO_REPLACEを指定できないと、コール側フォームに対してメニューが表示されません??（代わりの解決策としては、REPLACE_MENUビルトインをコール先フォーム内のWhen-New-Form-Instanceトリガーからコールする方法があります）。?


CALL_FORMの例

/* Example 1:

** Call a form in query-only mode.
*/
BEGIN
  CALL_FORM('empbrowser', no_hide, no_replace, query_only);
END;

/* Example 2:
** Call a form, pass a parameter list (if it exists)
*/
DECLARE
  pl_id        PARAMLIST;
  theformname  VARCHAR2(20);
BEGIN
  theformname := 'addcust';

  /* Try to lookup the 'TEMPDATA' parameter list */
  pl_id := GET_PARAMETER_LIST('tempdata');
  IF ID_NULL(pl_id) THEN
    CALL_FORM(theformname);
  ELSE
    CALL_FORM(theformname,
              hide,
              no_replace,
              no_query_only,
              pl_id);
  END IF;

  CALL_FORM('lookcust', no_hide, do_replace, query_only);
END;


CALL_INPUTビルトイン

 制限事項  [image] すべてのビルトイン

説明

エンド・ユーザーからファンクション・キーの入力を受け付け、処理します。CALL_INPUTを終了すると、Form BuilderはCALL_INPUTへのコールが発生した時点から処理を再開します。

構文:

PROCEDURE CALL_INPUT;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


CALL_INPUTの制限事項

CALL_INPUTは、前のバージョンとの互換性を保つために組み込まれています。新規のアプリケーションにはこのビルトインを組み込まないでください。


CALL_OLE

 すべてのビルトイン

説明

識別されたOLEオブジェクトのメソッドに制御を渡します。

構文:

PROCEDURE CALL_OLE

(obj OLEOBJ, memberid PLS_INTEGER);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

obj	OLEオブジェクトの名前。
memberid	実行するメソッドのメンバーID。
使用上の注意

•	このコールを発行する前に、INIT_OLEARGSプロシージャおよびADD_OLEARGSプロシージャを使用して、引数の番号、タイプおよび値を設定しておく必要があります。

•	プロシージャ・コールでは、値は戻されません。メソッドから戻り値を取得するには、このコール（CALL_OLE_CHAR、_NUM、_OBJまたは_VAR）のいずれかのファンクションを使用します。

•	このメソッドにより、FORM_OLE_FAILURE例外が発生することがあります。その場合は、ファンクションLAST_OLE_EXCEPTIONを使用して、詳細情報を取得できます。


CALL_OLE_returntype
CALL_OLE_<returntype>

 すべてのビルトイン

説明

識別されたOLEオブジェクトのメソッドに制御を渡します。指定したタイプの戻り値を受け取ります。

ファンクションには4つのバージョンがあり（returntypeの値によって示される）、引数の型CHAR、NUM、OBJおよびVARについて1つずつあります。

構文:

FUNCTION CALL_OLE_CHAR
  (obj OLEOBJ, memberid PLS_INTEGER)
RETURN returnval VARCHAR2;

...または...

FUNCTION CALL_OLE_NUM
  (obj OLEOBJ, memberid PLS_INTEGER)
RETURN returnval NUMBER;

...または...

FUNCTION CALL_OLE_OBJ
  (obj OLEOBJ, memberid PLS_INTEGER)
RETURN returnval OLEOBJ;

...または...

FUNCTION CALL_OLE_VAR
  (obj OLEOBJ, memberid PLS_INTEGER)
RETURN returnval OLEVAR;

ビルトイン・タイプ  制限なしファンクション

Returns  指定した書式によるメソッドの戻り値。

パラメータ

obj	OLEオブジェクトの名前。
memberid	オブジェクトのメソッドのメンバーID。
使用上の注意

•	このコールを発行する前に、INIT-OLEARGSプロシージャおよびADD-OLEARGSプロシージャを使用して、引数の番号、タイプおよび値を設定する必要があります。

•	このメソッドにより、FORM_OLE_FAILURE例外が発生することがあります。その場合は、ファンクションLAST_OLE_EXCEPTIONを使用して、詳細情報を取得できます。


CANCEL_REPORT_OBJECTビルトイン

 すべてのビルトイン

説明

長時間実行されている非同期レポートを取り消します。REPORT_OBJECT_STATUSによりレポートの状態チェックして、レポートが取り消されたか確認してください。

構文:

PROCEDURE CANCEL_REPORT_OBJECT
  (report_id VARCHAR2
);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

report_id	RUN_REPORT_OBJECTビルトインから戻されるVARCHAR2値。この値はローカル・レポート・サーバーまたはリモート・レポート・サーバーのいずれかで現在実行中のレポートを個々に識別します。

使用上の注意

•	CANCEL_REPORT_OBJECTは、レポートが非同期で実行されている場合にのみ有効です。同期モードで実行されているレポートを取り消すことはできません。


CHECKBOX_CHECKEDビルトイン

 例  [image] 制限事項	 すべてのビルトイン

説明

CHECKBOX_CHECKEDファンクションへのコールによって、指定のチェックボックスの状態を示すBOOLEAN値が戻されます。項目がチェックボックスでない場合、Form Builderは次のエラーを戻します。

FRM-41038:項目<item_name>はチェックボックスではありません。

構文:

FUNCTION CHECKBOX_CHECKED
  (item_id  ITEM);

FUNCTION CHECKBOX_CHECKED
  (item_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値 BOOLEAN

問合せ入力モード 可

CHECKBOX_CHECKEDをコールする前に、GET_ITEM_PROPERTY(item_name, ITEM_TYPE)へのコールを使用して、項目タイプを確認できます。

プログラムでチェックボックスの値を設定するには、標準バインド変数構文を使用して、チェックボックスに有効な値を割り当てます。

パラメータ

item_id	項目作成時にForm Builderによってその項目に割り当てられた一意のIDを指定します。このIDのデータ型はITEMです。

item_name	ユーザーが設計時に項目の名前として定義した文字列を指定します。その名前のデータ型はVARCHAR2です。


CHECKBOX_CHECKEDの制限事項

CHECKBOX_CHECKEDビルトインは、指定されたチェックボックスの状態に関するBOOLEAN値を戻します。CHECKBOX_CHECKEDビルトインは、チェックボックスの実際の値も、「その他の値のマッピング」プロパティに対して指定された値も戻しません。


CHECKBOX_CHECKEDの例

/*

** Built-in:  CHECKBOX_CHECKED
** Example:Sets the query case-sensitivity of the item
**            whose name is passed as an argument, depending
**            on an indicator checkbox item.
*/
PROCEDURE Set_Case_Sensitivity( it_name VARCHAR2) IS
  indicator_name VARCHAR2(80) := 'control.case_indicator';
  it_id          Item;
BEGIN
  it_id := Find_Item(it_name);

  IF Checkbox_Checked(indicator_name) THEN
    /*
    ** Set the item whose name was passed in to query case-
    ** sensitively (i.e., Case Insensitive is False)
    */
    Set_Item_Property(it_id, CASE_INSENSITIVE_QUERY,
                      PROPERTY_FALSE );
ELSE
    /*
    ** Set the item whose name was passed in to query case-
    ** insensitively (ie Case Insensitive True)
    */
    Set_Item_Property(it_id,CASE_INSENSITIVE_QUERY,PROPERTY_TRUE);
  END IF;
END;


CHECK_RECORD_UNIQUENESSビルトイン

 例  [image] 制限事項	 関連項目	 すべてのビルトイン

説明

On-Check-Uniqueトリガーからコールされると、レコードの主キーの一意性をチェックするデフォルトのForm Builder処理が開始されます。

このビルトインは主に、Oracle以外のデータ・ソースに対して実行されるアプリケーション用に組み込まれています。

構文:

PROCEDURE CHECK_RECORD_UNIQUENESS;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


CHECK_RECORD_UNIQUENESSの制限事項

On-Check-Uniqueトリガー内でのみ有効です。


CHECK_RECORD_UNIQUENESSの例

/*

** Built-in:  CHECK_RECORD_UNIQUENESS
** Example:Perform Form Builder record uniqueness checking
**            from the fields in the block that are marked as
**            primary keys based on a global flag setup at
**            startup by the form, perhaps based on a
**            parameter.
** Trigger:On-Check-Unique
*/
BEGIN
  /*
  ** Check the global flag we set during form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    User_Exit('chkuniq block=EMP');
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Check_Record_Uniqueness;
  END IF;
END;


CLEAR_BLOCKビルトイン

 例  [image] 関連項目  [image] すべてのビルトイン

説明

現ブロックからすべてのレコードを削除、つまり、"フラッシュ"します。

構文:

PROCEDURE CLEAR_BLOCK;

PROCEDURE CLEAR_BLOCK
  (commit_mode  NUMBER);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

転記もコミットもされていない現ブロック内のレコードに対してエンド・ユーザーが変更を加えた場合、Form Builderはcommit_modeパラメータに入力された引数によって示された指示に従ってそのレコードを処理します。

commit_mode	オプションのアクション・パラメータは、次の定数を引数としてとることができます。

ASK_COMMIT  CLEAR_BLOCK処理の中で、Form Builderからエンド・ユーザーに対し、コミットを行うよう指示が出されます。

DO_COMMIT   Form Builderにより、変更点の有効化およびコミット処理が行われ、現行ブロックがフラッシュされます。この一連の処理の中で、エンド・ユーザーへの指示はありません。

NO_COMMIT  Form Builderにより、変更点が有効化され、現行ブロックがフラッシュされます。この一連の処理の中で、変更点のコミットは行われず、エンド・ユーザーへの指示もありません。

NO_VALIDATE  Form Builderでは、現ブロックをフラッシュします。このとき、変更点の有効化やコミット処理は行われず、エンド・ユーザーへの指示もありません。


CLEAR_BLOCKの例

/*

** Built-in:  CLEAR_BLOCK
** Example:Clears the current block without validation, and
**            deposits the primary key value which the user
**            has typed into a global variable which a
**            Pre-Query trigger will use to include it as a
**            query criterion.
** Trigger:When-New-Item-Instance
*/
BEGIN
  IF :Emp.Empno IS NOT NULL THEN
    :Global.Employee_Id := :Emp.Empno;
    Clear_Block(No_Validate);
  END IF;
END;
/*
** Trigger:Pre-Query
*/
BEGIN
  Default_Value(NULL, 'Global.Employee_Id');
  IF :Global.Employee_Id IS NOT NULL THEN
    :Emp.Empno := :Global.Employee_Id;
  END IF;
END;


CLEAR_EOLビルトイン

 例  [image] すべてのビルトイン

説明

現在のカーソル位置から行の終わりまでの現行テキスト項目の値を消去します。

構文:

PROCEDURE CLEAR_EOL;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可


CLEAR_EOLの例

/*

** Built-in:  CLEAR_EOL
** Example:Clears out the contents of any number field when
**            the end user navigates to it.
** Trigger:When-New-Item-Instance
*/
BEGIN
  IF Get_Item_Property(:System.Trigger_Item, DATATYPE) = 'NUMBER' THEN
      Clear_Eol;
  END IF;
END;


CLEAR_FORMビルトイン

 例  [image] 制限事項	 関連項目	 すべてのビルトイン

説明

現行のフォームのすべてのレコードを削除、つまりフラッシュして、最初のブロックの最初の項目に入力フォーカスを置きます。

構文:

POROCEDURE CLEAR_FORM;

PROCEDURE CLEAR_FORM
  (commit_mode  NUMBER);
PROCEDURE CLEAR_FORM
  (commit_mode    NUMBER,
   rollback_mode  NUMBER);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

転記もコミットもされていない現行のフォームまたは任意のコール先フォーム内のレコードに対してエンド・ユーザーが変更を加えた場合、Form Builderは次のパラメータに入力された引数によって示された指示に従ってそのレコードを処理します。

commit_mode	ASK_COMMIT  CLEAR_FORM処理の中で、Form Builderからエンド・ユーザーに対し、コミットを行うよう指示が出されます。

DO_COMMIT   Form Builderにより、変更点の有効化およびコミット処理が行われ、現行フォームがフラッシュされます。この一連の処理の中で、エンド・ユーザーへの指示はありません。

NO_COMMIT  Form Builderにより、変更点が有効化され、現行フォームがフラッシュされます。この一連の処理の中で、変更点のコミットは行われず、エンド・ユーザーへの指示もありません。

NO_VALIDATE  Form Builderでは、現フォームをフラッシュします。このとき、変更点の有効化やコミット処理は行われず、エンド・ユーザーへの指示もありません。

rollback_mode	TO_SAVEPOINT  Form Builderでは（転記済みのものを含む）コミットされていないすべての変更内容が現行フォームのセーブポイントにロールバックされます。

FULL_ROLLBACK  Form Builderでは、現ランフォーム・セッション中に加えられたコミットされていないすべての変更内容（転記済みのものを含む）がロールバックされます。転記専用モードで実行されているフォームからFULL_ROLLBACKを指定することはできません。（フォームに未転記のレコードがあるときに別のフォームをコールすると、転記専用モードになる可能性があります。コール側フォームが発行したロックの損失を防ぐために、Form Builderはコール先フォーム内のコミット処理をすべて妨げます。


CLEAR_FORMの制限事項

非同期ブロックまたはユーザー定義サブプログラムでPL/SQL ROLLBACK文を使用すると、Form Builderはその文をパラメータのないCLEAR_FORMビルトイン・サブプログラムとして解釈します。


CLEAR_FORMの例

/*

** Built-in:  CLEAR_FORM
** Example:Clear any changes made in the current form,
**            without prompting to commit.
*/
BEGIN
  Clear_Form(No_Validate);
END;


CLEAR_ITEMビルトイン

 例  [image] すべてのビルトイン

説明

現在のカーソル位置に関係なく現行のテキスト項目から値を消去して、テキスト項目値をNULLに変更します。

構文:

PROCEDURE CLEAR_ITEM;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可


CLEAR_ITEMの例

/*

** Built-in:  CLEAR_ITEM
** Example:Clear the current item if it does not represent
**            the first day of a month.
** Trigger:When-New-Item-Instance
*/
BEGIN
  IF TO_CHAR(:Emp.Hiredate,'DD') <> '01' THEN
    Clear_Item;
    Message('This date must be of the form 01-MON-YY');
  END IF;
END;


CLEAR_LISTビルトイン

 例  [image] 制限事項	 関連項目	 すべてのビルトイン

説明

リスト項目からすべての要素を消去します。Form Builderがリストを消去すると、項目の「必須」プロパティに関係なく、そのリストには1つの要素のみ（NULL要素）が含まれるようになります。

構文:

PROCEDURE CLEAR_LIST
  (list_id  ITEM);

PROCEDURE CLEAR_LIST
  (list_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

list_id	Form Builderがリスト項目を作成するときに割り当てる一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

list_name	ユーザーがリスト項目を作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

使用上の注意

•	「ほかの値のマッピング」プロパティが定義されていて、ブロック中に問合せレコードがある場合は、CLEAR_LISTのビルトイン処理を実行しないでください。このような場合にCLEAR_LISTビルトインを使用すると、すでにフェッチされたレコードを表示できなくなる場合があります。

たとえば、値A、BおよびCを含んでいるリスト項目があり、「ほかの値のマッピング」プロパティが定義されているとします。また、これらの値はデータベースからフェッチされたものであるとします（問合せはオープンしている）。この時点でCLEAR_LISTが指定されたリストを消去すると、それまでにフェッチされた値（A、BおよびC）を表示する試みがForm Builderによってなされても、リストが消去されたために表示できず、エラーが発生します。

リストを消去する前に、オープンされている問合せをクローズします。オープンされた問合せのクローズには、ABORT_QUERYビルトインを使用します。

注意: 問合せされたレコードがブロックに含まれている場合、ブロック・ステータスはQUERYです。挿入または更新されたレコードがブロックに含まれている（問合せされたレコードが修正された）場合、ブロック・ステータスはCHANGEDです。


CLEAR_LISTの制限事項

•	ポップ・リストまたはTLIST・スタイルのリスト項目については、デフォルト値要素または他の値要素を削除するために指定されたDELETE_LIST_ELEMENTの条件が満たされない場合、CLEAR_LISTはそれらの要素を消去しません。

デフォルト値または他の値要素を削除できない場合、CLEAR_LISTはリスト内のこれらの要素をそのままにして、それ以外のすべての要素を消去します。詳細は、DELETE_LIST_ELEMENTの制限事項を参照してください。


CLEAR_LISTの例

/*

**  Built-in:  CLEAR_LIST
**  Example:See POPULATE_LIST
*/


CLEAR_MESSAGEビルトイン

 例  [image] すべてのビルトイン

説明

画面メッセージ領域から現行のメッセージを削除します。

構文:

PROCEDURE CLEAR_MESSAGE;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可


CLEAR_MESSAGEの例

/*

** Built-in:  CLEAR_MESSAGE
** Example:Clear the message from the message line.
*/
BEGIN
  Message('Working...',No_Acknowledge);
  SELECT current_tax
    INTO :Emp.Tax_Rate
    FROM tax_table
   WHERE state_abbrev = :Emp.State;
  Clear_Message;
END;


CLEAR_RECORDビルトイン

 例  [image] 関連項目  [image] すべてのビルトイン

説明

妥当性チェックなしでブロックから現行のレコードを削除、つまりフラッシュします。問合せがブロック内でオープンしていて、現行レコードの削除後にレコード・スペースが埋められていない場合、Form Builderは次のレコードをフェッチしてそのブロックを再び埋めます。

消去されたデータベース・レコードは、次の「トランザクションのポストおよびコミット」プロセスにより削除として処理されません。

デフォルトのマスター/ディテール・ブロック・リレーションでは、マスター・レコードを消去すると、妥当性チェックなしで、そのレコードに対応するディテール・レコードがすべて消去されます。

構文:

PROCEDURE CLEAR_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可


CLEAR_RECORDの例

/*

** Built-in:  CLEAR_RECORD
** Example:Clear the current record if it's not the last
**            record in the block.
*/
BEGIN
  IF :System.Last_Record = 'TRUE' AND :System.Cursor_Record = '1' THEN
    Message('You cannot clear the only remaining entry.');
    Bell;
  ELSE
    Clear_Record;
  END IF;
END;


CLOSE_FORMビルトイン

 制限事項  [image] 関連項目  [image] すべてのビルトイン

説明

複数のフォームを持つアプリケーションで、指示されたフォームをクローズします。指示されたフォームが現行フォームである場合、CLOSE_FORMはEXIT_FORMと同等の意味を持ちます。

構文:

PROCEDURE CLOSE_FORM
  (form_name  VARCHAR2);

PROCEDURE CLOSE_FORM
  (form_id  FORMMODULE);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

form_name	VARCHAR2としてクローズするフォームの名前を指定します。

form_id	実行時にインスタンス化されたときにフォームに動的に割り当てられる、一意のID。 FIND_FORMビルトインは、適切な型の変数に使用します。このフォームIDのデータ型はFORMMODULEです。


CLOSE_FORMの制限事項

•	CALL_FORMを発行してコール先モーダル・フォームをコールすることにより現在使用不可にされているフォームは、クローズできません。

•	コール先フォームがコール側のフォームをクローズすることはできません。??たとえば、FORM_AがFORM_Bをコールした場合、FORM_BはFORM_Aをクローズすることはできません。


CLOSE_SERVER

 例	 制限事項  [image] 関連項目  [image] すべてのビルトイン

説明

OLEコンテナに関連付けらたOLEサーバーを非アクティブ化します。OLEサーバーとOLEコンテナの接続を終了します。

構文:

PROCEDURE CLOSE_SERVER
  (item_id  Item);

PROCEDURE CLOSE_SERVER
  (item_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。


CLOSE_SERVERの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


CLOSE_SERVERの例

/*

** Built-in: CLOSE_SERVER
** Example:Deactivates the OLE server associated with the object
**           in the OLE container.
** Trigger:When-Button-Pressed
*/
DECLARE
 item_id  ITEM;
 item_name VARCHAR(25) := 'OLEITM';
BEGIN
 item_id := Find_Item(item_name);
 IF Id_Null(item_id) THEN
  message('No such item:'||item_name);
 ELSE
  Forms_OLE.Close_Server(item_id);
 END IF;
END;


COMMIT_FORMビルトイン

 例  [image] 制限事項  [image] すべてのビルトイン

説明

データベース内のデータを更新して、フォーム内のデータと一致させます。Form Builderは最初に、フォームの妥当性チェックを行ってから、フォーム内の各ブロックごとにデータベースに対して削除、挿入および更新を行い、データベースをコミットします。データベースがコミットされることにより、データベースのすべての行および表のロックが解除されます。

エンド・ユーザーが現行のRunformセッション中にデータベースにデータを転記した場合、COMMIT_FORMビルトインへのコールによってこのデータがデータベースに対してコミットされます。

コミット操作に続いて、Form Builderはすべての実表ブロック内のすべてのレコードをデータベースからの問合せレコードのように扱います。Form Builderは、コミット処理時に起動するトリガー内に発生した変更を認識しません。

構文:

PROCEDURE COMMIT_FORM;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可


COMMIT_FORMの制限事項

PL/SQL COMMIT文を非同期ブロックまたはフォーム・レベル・プロシージャで使用する場合、Form Builderはその文をCOMMIT_FORMビルトインへのコールとして解釈します。


COMMIT_FORMの例

例1

/*

** Built-in:  COMMIT_FORM
** Example:If there are records in the form to be
**            committed, then do so.Raise an error if the
**            commit was not successful.
*/
BEGIN
  /*
  ** Force validation to happen first
  */
  Enter;
  IF NOT Form_Success THEN
    RAISE Form_Trigger_Failure;
  END IF;
  /*
  ** Commit if anything is changed
  */
  IF :System.Form_Status = 'CHANGED' THEN
    Commit_Form;
    /*
    ** A successful commit operation sets Form_Status back
    ** to 'QUERY'.
    */
    IF :System.Form_Status <> 'QUERY' THEN
      Message('An error prevented your changes from being
               committed.');
      Bell;
      RAISE Form_Trigger_Failure;
    END IF;
  END IF;
END;

例2

/*

** Built-in:  COMMIT_FORM
** Example:Perform Form Builder database commit during commit
**            processing.Decide whether to use this Built-in
**            or a user exit based on a global flag setup at
**            startup by the form, perhaps based on a
**
** Trigger:On-Commit
*/
BEGIN
  /*
  ** Check the global flag we set during form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    User_Exit('my_commit');
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Commit_Form;
  END IF;
END;


CONVERT_OTHER_VALUEビルトイン

 例  [image] 制限事項  [image] すべてのビルトイン

説明

チェックボックス、ラジオ・グループまたはリスト項目の現行値を、現行のチェックボックスの状態（「チェックあり」または「チェックなし」）または現行のラジオ・グループ要素またはリスト項目要素に関連付けられた値に変換します。

構文:

PROCEDURE CONVERT_OTHER_VALUE
  (item_id  ITEM);

PROCEDURE CONVERT_OTHER_VALUE
  (item_name  VARCHAR2);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

item_id	Form Builderが項目を作成するときに割り当てる一意のIDを指定します。このIDのデータ型はITEMです。

item_name	設計時に項目の名前として定義したVARCHAR2文字列を指定します。


CONVERT_OTHER_VALUEの制限事項

項目がチェックボックス、ラジオ・グループおよびリスト項目のいずれでもない場合、「FRM-41026:  項目が操作を認識しません」というエラー・メッセージが表示されます。このエラーを回避するには、CONVERT_OTHER_VALUE.をコールする前にGET_ITEM_PROPERTY（item_name, ITEM_TYPE）のコールを発行して項目タイプを判別します。


CONVERT_OTHER_VALUEの例

/*

** Built-in:  CONVERT_OTHER_VALUE
** Example:Ensure that a particular checkbox's value
**            represents either the checked or unchecked
**            value before updating the record.
** Trigger:Pre-Update
*/
BEGIN
  Convert_Other_Value('Emp.Marital_Status');
END;


COPYビルトイン

 例  [image] 制限事項  [image] 関連項目  [image] すべてのビルトイン

説明

項目または変数から別の項目またはグローバル変数に値をコピーします。NAME_INビルトインにより参照される項目に値を書き込むために特別に使用します。COPYは次の2つの理由で存在します。

•	参照項目を値に等しく設定する場合、標準PL/SQL構文は使用できません。

•	フォームが問合せ入力モードのときに、関係演算子などの文字を「NUMBER」フィールドや「DATE」フィールドにプログラムによって書き込むことが必要となる場合があります。

構文:

PROCEDURE COPY
  (source       VARCHAR2,
   destination  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

source	sourceはリテラル値です。

destination	destination は、テキスト項目または別のグローバル変数のいずれかです。

使用上の注意

•	DATE_FORMAT_COMPATIBILITY_MODE propertyが5.0に設定されている場合は、日付値を指定してCOPYを使用すると、BUILTIN_DATE_FORMAT propertyで定義された値が使用されます。このプロパティが4.5に設定されている場合、COPYではデフォルトの米国書式を使用して日付文字列を設定します。

•	参照元としてテキスト項目を使用するには、次のコードを使用します。

COPY(NAME_IN(source), destination);


COPYの制限事項

テキスト項目にコピーされた値については妥当性チェックは行われません。ただし、それ以外のタイプの項目については、コピーされた値に関してもすべて標準の妥当性チェックが行われます。


COPYの例

例1

/*

** Built-in:  COPY
** Example:Force a wildcard search on the EmpNo item during
**            query.
** Trigger:Pre-Query
*/
DECLARE
  cur_val VARCHAR2(40);
BEGIN
  /*
  ** Get the value of EMP.EMPNO as a string
  */
  cur_val := Name_In('Emp.Empno');
  /*
  ** Add a percent to the end of the string.
  */
  cur_val := cur_val || '%';
  /*
  ** Copy the new value back into the item so Form Builder
  ** will use it as a query criterion.
  */
  Copy( cur_val, 'Emp.Empno' );
END;

例2

/*

** Built-in:  COPY
** Example:Set the value of a global variable whose name is
**            dynamically constructed.
*/
DECLARE
  global_var_name  VARCHAR2(80);
BEGIN
  IF :Selection.Choice = 5 THEN
    global_var_name := 'Storage_1';
  ELSE
    global_var_name := 'Storage_2';
  END IF;
  /*
  ** Use the name in the 'global_var_name' variable as the
  ** name of the global variable in which to copy the
  ** current 'Yes' value.
  */
  COPY( 'Yes', 'GLOBAL.'||global_var_name );
END;


COPY_REGIONビルトイン

  関連項目  [image] すべてのビルトイン

説明

画面からテキスト項目またはイメージ項目の選択した領域をコピーし、別の選択領域をカットまたはコピーするまで、その領域をペースト・バッファに格納します。

構文:

PROCEDURE COPY_REGION;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし

使用上の注意

COPY_REGIONおよびその他の編集機能は、テキスト項目やイメージ項目に対してのみ使用してください。カット・アンド・コピー機能では選択済み領域はシステム・クリップボードに転送され、ペースト・ターゲットが指定されるまでシステム・クリップボード内にあります。ペースト・ターゲットが指定されると、カットまたはコピーされた内容がターゲット位置にペーストされます。


COPY_REPORT_OBJECT_OUTPUTビルトイン

 例  [image] すべてのビルトイン

説明

レポートの出力をファイルにコピーします。

構文:

PROCEDURE COPY_REPORT_OBJECT_OUTPUT
  (report_id VARCHAR2(20),
   output_file VARCHAR2
);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

report_id	RUN_REPORT_OBJECTビルトインから戻されるVARCHAR2値。この値によって、現在ローカルで実行されているまたはリモートのレポート・サーバー上で実行されているレポートが一意に識別されます。

output_file	レポート出力のコピー先ファイルの名前。

使用上の注意

•	「レポート宛先タイプ」プロパティを使用して、出力ファイルの形式を指定します。

•	リモート・マシンからレポートの出力をコピーするには、「レポート宛先タイプ」プロパティを「Cache」に設定する必要があります。


COPY_REPORT_OBJECT_OUTPUTの例

DECLARE

repid REPORT_OBJECT;

v_rep  VARCHAR2(100);

rep_status varchar2(20);

BEGIN

repid := find_report_object('report4');

v_rep := RUN_REPORT_OBJECT(repid);

rep_status := report_object_status(v_rep);

if rep_status = 'FINISHED' then

message('Report Completed');

copy_report_object_output(v_rep,'d:\temp\local.pdf');

host('netscape d:\temp\local.pdf');

else

message('Error when running report.');

end if;

END;


COUNT_QUERYビルトイン

 例  [image] 制限事項  [image] 関連項目  [image] すべてのビルトイン

説明

On-Countトリガーで、現ブロックに関して問合せで取り出す行数を識別するためのデフォルトのForm Builder処理を行って、現ブロックを消去します。ブロック内にコミットすべき変更がある場合、Form BuilderはCOUNT_QUERY処理時にエンド・ユーザーに対してその変更をコミットするよう要求します。COUNT_QUERYに対して有効なコールが行われると、Form Builderは、次のメッセージを戻します。

FRM-40355:問合せによって<レコード件数>件のレコードが取り出されます。

このビルトインは主に、Oracle以外のデータ・ソースに対して実行されるアプリケーション用に組み込まれているものです。

構文:

PROCEDURE COUNT_QUERY;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし


COUNT_QUERYの制限事項

制限付きビルトインを許可するトリガーでのみ有効です。


COUNT_QUERYの例

例1

/*

** Built-in:  COUNT_QUERY
** Example:Display the number of records that will be retrieved
**            by the current query.
*/
BEGIN
  Count_Query;
END;

例2

/*

** Built-in:  COUNT_QUERY
** Example:Perform Form Builder count query hits processing.
**            Decide whether to use this Built-in or a user
**            exit based on a global flag setup at startup by
**            the form, perhaps based on a parameter.
** Trigger:On-Count
*/
BEGIN
  /*
  ** Check the global flag we set during form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    /*
    ** User exit returns query hits count back into the
    ** CONTROL.HITS item.
    */
    User_Exit('my_count');
    /*
    ** Deposit the number of query hits in the appropriate
    ** block property so Form Builder can display its normal
    ** status message.
    */
    Set_Block_Property(:System.Trigger_Block,QUERY_HITS,
                     :control.hits);
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Count_Query;
  END IF;
END;


CREATE_GROUPビルトイン

 例  [image] すべてのビルトイン

説明

指定の名前を持つ非問合せレコード・グループを作成します。ADD_GROUP_COLUMNビルトイン、ADD_GROUP_ROWビルトインおよびPOPULATE_GROUP_WITH_QUERYビルトインを使用して明示的に行や列を追加するまでは、新規に作成されたレコードには列も行もありません。

構文:

FUNCTION CREATE_GROUP
  (recordgroup_name  VARCHAR2,
   scope             NUMBER,
   array_fetch_size  NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値 RECORDGROUP

問合せ入力モード 可

パラメータ

recordgroup_name	ユーザーが設計時にレコード・グループの名前として定義した文字列。Form Builderは、レコード・グループ・オブジェクトを作成するときに、オブジェクトに型RECORDGROUPの一意のIDも割り当てます。レコード・グループまたはレコード・グループ列ビルトイン・サブプログラムの後続のコールにおいて、名前またはIDでレコード・グループをコールすることができます。

scope	レコード・グループが現行のフォーム内のみで使用できるか、または複数のアプリケーション内のすべてのフォーム内で使用できるかを指定します。引数として次の定数をとります。

	FORM_SCOPE  レコード・グループが現行のフォーム内のみで使用できることを示します。これがデフォルト値です。
	GLOBAL_SCOPE  レコード・グループがグローバルであり、アプリケーション内のすべてのフォームで使用できることを示します。グローバル・レコード・グループはいったん作成されると、ランタイム・セッションが終わるまで持続します。
array_fetch_size	配列フェッチ・サイズを指定します。デフォルトの配列サイズは20です。


CREATE_GROUPの例

/*

** 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;


CREATE_GROUP_FROM_QUERYビルトイン

 例  [image] 制限事項  [image] すべてのビルトイン

説明

レコード・グループを所定の名前で作成します。レコード・グループには、ユーザーが問合せの選択リストに入れる各列を表す列があります。POPULATE_GROUPビルトインによりレコード・グループに行を追加します。

注意: SELECT文の列に仮列名（別名）を渡さないと、Form Builderはダミー・カウンタ<NUM>でICRGGQを作成します。これは、列名が無効である場合には必ず行われます。最初のダミー名カウンタは常に1です。たとえば、問合せSELECT 1 + 1 FROM DUALの結果は、ICRGGQ_1とい名前の列になります。

構文:

FUNCTION CREATE_GROUP_FROM_QUERY
  (recordgroup_name  VARCHAR2,
   query             VARCHAR2,
   scope             NUMBER,
   array_fetch_size  NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値 RECORDGROUP

問合せ入力モード 可

パラメータ

recordgroup_name	レコード・グループの名前。Form Builderは、レコード・グループ・オブジェクトを作成するときに、オブジェクトに型RECORDGROUPの一意のIDも割り当てます。

query	引用符（'）に囲まれた有効なSQL SELECT文。問合せの結果として取り出された列はすべて、表の中の列のデータ型をとります。問合せを表内の列のサブセットに制限すると、レコード・グループにはそれらの列のみが作成されます。

scope	レコード・グループが現行のフォーム内のみで使用できるか、または複数のアプリケーション内のすべてのフォーム内で使用できるかを指定します。引数として次の定数をとります。

	FORM_SCOPE レコード・グループが現行のフォーム内のみで使用できることを示します。これがデフォルト値です。
	GLOBAL_SCOPE  レコード・グループがグローバルであり、アプリケーション内のすべてのフォームで使用できることを示します。グローバル・レコード・グループはいったん作成されると、ランタイム・セッションが終わるまで持続します。
array_fetch_size	配列フェッチ・サイズを指定します。デフォルトの配列サイズは20です。


CREATE_GROUP_FROM_QUERYの制限事項

•	フォームAを実行中にグローバル・レコード・グループが問合せから作成され（または移入され）、フォームAが実行を終了するときにAに対してローカルなバインド変数参照（:block.itemまたは:PARAMETER.param）が問合せ文字列に含まれている場合、グローバル問合せレコード・グループはグローバル非問合せレコード・グループに変換されます（データは保持しますが、POPULATE_GROUPに対する以降のコールはエラーとみなされます）。


CREATE_GROUP_FROM_QUERYの例

/*

** Built-in:  CREATE_GROUP_FROM_QUERY
** Example:Create a record group from a query, and populate it.
*/
DECLARE
  rg_name  VARCHAR2(40) := 'Salary_Range';
  rg_id    RecordGroup;
  errcode  NUMBER;
BEGIN
  /*
  ** Make sure group doesn't 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_From_Query( rg_name,
                'SELECT SAL-MOD(SAL,1000) BASE_SAL_RANGE,'
               ||'COUNT(EMPNO) EMPS_IN_RANGE '
               ||'FROM EMP '
               ||'GROUP BY SAL-MOD(SAL,1000) '
               ||'ORDER BY 1');
  END IF;
  /*
  ** Populate the record group
  */
  errcode := Populate_Group( rg_id );
END;


CREATE_OLEOBJ

 関連項目   [image] すべてのビルトイン

説明

最初のフォームで、OLEオブジェクトを作成し、そのオブジェクトの永続性を確立します。2番目のフォームで、前にインスタンス生成されたOLEオブジェクトの永続性を変更します。

構文:

FUNCTION CREATE_OLEOBJ
  (name OLEOBJ, persistence_boolean := TRUE)
RETURN objpointer OLEOBJ;

...または...

FUNCTION CREATE_OLEOBJ
  (localobject VARCHAR2,
   persistence_boolean := TRUE)
RETURN objpointer OLEOBJ;

ビルトイン・タイプ  制限なしファンクション

戻り値  OLEオブジェクトのポインタ

パラメータ

name	OLEオブジェクトのサーバーのプログラムID。
localobject	ステータスを非永続から永続に変更するOLEオブジェクトへのポインタ。
persistence_boolean	ブール値TRUEによって、オブジェクトが永続として設定されます。これはオプションのパラメータです。指定されない場合のデフォルト値は非永続です。
使用上の注意

永続オブジェクトはトリガー起動中は存在します。非永続オブジェクトは、コールを起動したトリガーが実行されている間のみ存在します。


CREATE_PARAMETER_LISTビルトイン

 例  [image] 制限事項  [image] 関連項目  [image] すべてのビルトイン

説明

パラメータ・リストを所定の名前で作成します。パラメータ・リストを作成した時点ではその中にパラメータは含まれていません。ADD_PARAMETERビルトイン・サブプログラムを使用してリストにパラメータを追加する必要があります。パラメータ・リストは、引数としてCALL_FORM、NEW_FORM、OPEN_FORMおよびRUN_PRODUCTビルトイン・サブプログラムに渡すことができます。

構文:

FUNCTION CREATE_PARAMETER_LIST
  (name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  ParamList

問合せ入力モード 可

パラメータ

name	パラメータ・リスト・オブジェクトのVARCHAR2名を指定します。

Form Builderは、オブジェクトを生成するときに、そのオブジェクトにPARAMLIST型の一意のIDを割り当てます。パラメータ・リストに関係するビルトイン・サブプログラムへの後続のコールにおいて、名前またはIDでパラメータ・リストをコールすることができます。


CREATE_PARAMETER_LISTの制限事項

•	DEFAULTという名前のパラメータ・リストを作成することはできません。DEFAULTは、Form Builderがランタイム・セッションの開始時に作成するパラメータ・リストのために保持されます。

•	すでにパラメータ・リストが存在する場合は、パラメータ・リストは作成できません。作成しようとするとエラーが発生します。このエラーを回避するには、パラメータ・リストを作成する前に、ID_NULLを使用してパラメータ・リストがすでに存在しているかどうかをチェックします。パラメータ・リストがすでに存在する場合は、そのパラメータ・リストを削除してから、新しいリストを作成してください。


CREATE_PARAMETER_LISTの例

/*

** Built-in:  CREATE_PARAMETER_LIST
** Example:Create a parameter list named 'TEMPDATA'.First
**            make sure the list does not already exist, then
**            attempt to create a new list.Signal an error
**            if the list already exists or if creating the
**            list fails.
*/
DECLARE
  pl_id   ParamList;
  pl_name VARCHAR2(10) := 'tempdata';
BEGIN
  pl_id := Get_Parameter_List(pl_name);
  IF Id_Null(pl_id) THEN
    pl_id := Create_Parameter_List(pl_name);
    IF Id_Null(pl_id) THEN
      Message('Error creating parameter list '||pl_name);
      RAISE Form_Trigger_Failure;
    END IF;
  ELSE
    Message('Parameter list '||pl_name||' already exists!');
    RAISE Form_Trigger_Failure;
  END IF;
END;


CREATE_QUERIED_RECORDビルトイン

 例  [image] 制限事項  [image] 関連項目  [image] すべてのビルトイン

説明

On-Fetchトリガーからコールされるときに、そのブロックの待ちリスト上にレコードを作成します。待ちリストとは、中間的なレコード・バッファであり、この中にはデータ・ソースからフェッチされたが、まだアクティブ・レコードのブロック・リストには入れられていないレコードが含まれています。このビルトインは主に、トランザクション・トリガーを使用してOracle以外のデータ・ソースに対して実行されるアプリケーション用に組み込まれているものです。

待ちリストからレコードを削除する方法はないので注意してください。したがって、このようなアプリケーションではプログラムによってレコードに移入するために利用できるデータを確保しておく必要があります。

構文:

PROCEDURE CREATE_QUERIED_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


CREATE_QUERIED_RECORDの制限事項

•	多数のレコードを持つブロックでは、このプロシージャによってディスクI/Oまたはメモリーの割当て、あるいはその両方に副作用がもたらされる可能性があります。


CREATE_QUERIED_RECORDの例

/*

** Built-in:  CREATE_QUERIED_RECORD
** Example:Fetch the next N records into this block.Record
**            count kept in Global.Record_Count.
** Trigger:On-Fetch
*/
DECLARE
  fetch_count NUMBER;
  FUNCTION The_Next_Seq
  RETURN NUMBER IS
    CURSOR next_seq IS SELECT uniq_seq.NEXTVAL FROM DUAL;
    tmp NUMBER;
  BEGIN
    OPEN next_seq;
    FETCH next_seq INTO tmp;
    CLOSE next_seq;
    RETURN tmp;
  END;
BEGIN
  /*
  ** Determine how many records Form Builder is expecting us to
  ** fetch
  */
  fetch_count := Get_Block_Property('MYBLOCK',RECORDS_TO_FETCH);
  FOR i IN 1..fetch_count LOOP
    /*
    ** Create the Queried Record into which we'll deposit
    ** the values we're about to fetch;
    */
    Create_Queried_Record;
    :Global.Record_Count := NVL(:Global.Record_Count,0)+1;
    /*
    ** Populate the item in the queried record with a
    ** sequence function we declared above
    */
   :myblock.numbercol := the_next_seq;
  END LOOP;
END;


CREATE_RECORDビルトイン

 例	  関連項目	 すべてのビルトイン

説明

現ブロック内の現行のレコードの後に新規のレコードを作成します。次に、Form Builderは新規のレコードに移動します。

構文:

PROCEDURE CREATE_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


CREATE_RECORDの例

/*

** Built-in:  CREATE_RECORD
** Example:Populate new records in a block based on return
**            values from a query
*/
PROCEDURE Populate_Rows_Into_Block( projid NUMBER)  IS
  CURSOR tempcur( cp_projid NUMBER ) IS
    SELECT milestone_name, due_date
      FROM milestone
     WHERE project_id = cp_projid
    ORDER BY due_date;
BEGIN
  /* Add these records to the bottom of the block */
  Last_Record;
  /* Loop thru the records in the cursor */
  FOR rec IN tempcur( projid ) LOOP
    /*
    ** Create an empty record and set the current row's
    ** Milestone_Name and Due_Date items.
    */
    Create_Record;
  :Milestone.Milestone_Name := rec.milestone_name;
  :Milestone.Due_Date       := rec.due_date;
  END LOOP;
  First_Record;
END;


CREATE_TIMERビルトイン

 例  [image] 制限事項  [image] すべてのビルトイン

説明

新しいタイマーを所定の名前で作成します。間隔およびタイマーを時間切れのたびに繰り返すか、一回のみ実行するかを指示できます。タイマーが時間切れになると、Form BuilderはWhen-Timer-Expiredトリガーを起動します。

構文:

FUNCTION CREATE_TIMER
  (timer_name    VARCHAR2,
   milliseconds  NUMBER,
   iterate       NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値 timer

問合せ入力モード 可

パラメータ

timer_name	最高30文字までの英数字でタイマー名を指定します。名前はアルファベット文字で始める必要があります。その名前のデータ型はVARCHAR2です。

milliseconds	タイマーの持続時間をミリ秒単位で指定します。このパラメータに指定できる値の範囲は1～2147483648ミリ秒です。2147483648を超える値は、2147483648に切り捨てられます。指定できるのは正の整数のみであることに注意してください。このパラメータのデータ型はNUMBER型です。詳細は、制限事項を参照してください。

iterate	時間切れ時にタイマーを繰り返すかどうかを指定します。引数として次の定数をとります。

REPEAT  時間切れ時にタイマーを繰り返すことを示します。これがデフォルトです。

NO_REPEAT  再び明示的にコールされるまで、時間切れ時にタイマーを繰り返さず、1回のみ使用することを示します。


CREATE_TIMERの制限事項

•	2147483648を超える値は、2147483648に統一されます。

•	ミリ秒を10進値で表すことはできません。

•	大文字か小文字かに関係なく、2つのタイマーが同じフォーム・インスタンスで同じ名前を共有することはできません。

•	タイマーの実行時に定義されたWhen-Timer-Expiredトリガーがない場合は、エラーが戻されます。

•	タイマーの実行時に定義されたWhen-Timer-Expiredトリガーがなく、タイマーが繰返しタイマーの場合、その後の繰返しは取り消されますが、タイマーは保持されます。

•	タイマーの実行時にWhen-Timer-Expiredトリガーが定義されておらず、繰返しタイマーでない場合、そのタイマーは削除されます。


CREATE_TIMERの例

次の例では、EMP_TIMERという名前のタイマーを作成し、そのタイマーを60秒にセットし、反復値をNO_REPEATに設定しています。

DECLARE
    timer_id Timer;
    one_minute NUMBER(5) := 60000;
BEGIN
    timer_id := CREATE_TIMER('emp_timer', one_minute, NO_REPEAT);
END;


CREATE_VAR

 関連項目  [image] すべてのビルトイン

説明

空の、名前のないバリアントを作成します。

スカラー用と配列用に2種類のバージョンのファンクションがあります。

構文:

FUNCTION CREATE_VAR
  (persistence BOOLEAN)
RETURN newvar OLEVAR;

...または...

FUNCTION CREATE_VAR
  (bounds OLE_SAFEARRAYBOUNDS,
   vtype VT_TYPE,
   persistence BOOLEAN)
RETURN newvar OLEVAR;

ビルトイン・タイプ  制限なしファンクション

戻し値  作成されたOLEバリアント

パラメータ

persistence	作成後のバリアントの永続性を制御します。ブール値がTRUEの場合、永続としてバリアントが作成されます。値がFALSEの場合、非永続してバリアントが作成されます。 これはオプションのパラメータです。指定されない場合のデフォルト値は非永続です。
bounds	作成された配列に指定されるディメンションを指定するPL/SQL表。 このパラメータの内容およびレイアウトならびに型OLE_SAFEARRAYBOUNDSの詳細は、OLE用配列型のサポートを参照してください。
vtype	作成された配列内の要素のOLEバリアント・タイプ（VT_TYPE）。配列内に異なる要素タイプが混在している場合、VT_VARIANTを指定します。
使用上の注意

•	作成されたバリアントは、配列でない場合は、型指定されていません。その場合、その要素はユーザーが指定する型を持ちます。

•	作成されたバリアントには値もありません。SET_VARファンクションを使用して、初期値と型をバリアントに割り当てます。

•	永続バリアントはトリガー起動中は存在します。非永続バリアントは、コールを起動したトリガーが実行されている間のみ存在します。DESTROY_VARIANTも参照してください。


CUT_REGIONビルトイン

 関連項目  [image] すべてのビルトイン

説明

画面からテキスト項目またはイメージ項目の選択した領域を削除し、別の選択領域をカットまたはコピーするまで、その領域をペースト・バッファに格納します。

構文:

PROCEDURE CUT_REGION;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし

使用上の注意

CUT_REGIONおよびその他の編集機能は、テキスト項目およびイメージ項目に対してのみ使用してください。カット・アンド・コピー機能では選択済み領域はシステム・クリップボードに転送され、ペースト・ターゲットが指定されるまでシステム・クリップボード内にあります。ペースト・ターゲットが指定されると、カットまたはコピーされた内容がターゲット位置にペーストされます。


DBMS_ERROR_CODEビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

検出された最新のデータベース・エラーのエラー番号を戻します。

構文:

FUNCTIONDBMS_ERROR_CODE;

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 可

パラメータ

なし

使用上の注意

再帰的エラーの場合、このビルトイン処理では、スタックの先頭にあるメッセージ・コードが戻されます。したがって、エラー・テキストを解析する際は、これ以降のメッセージ番号について解析してください。


DBMS_ERROR_CODEの例

/*

** Built-in:DBMS_ERROR_CODE,DBMS_ERROR_TEXT
** Example: Reword certain Form Builder error messages by
**            evaluating the DBMS error code that caused them
** Trigger: On-Error
*/
DECLARE
  errcode     NUMBER        := ERROR_CODE;
  dbmserrcode NUMBER;
  dbmserrtext VARCHAR2(200);
BEGIN
  IF errcode = 40508 THEN
    /*
    ** Form Builder had a problem INSERTing, so
    ** look at the Database error which
    ** caused the problem.
    */
    dbmserrcode := DBMS_ERROR_CODE;
    dbmserrtext := DBMS_ERROR_TEXT;

    IF dbmserrcode = -1438 THEN
      /*
      ** ORA-01438 is "value too large for column"
      */
      Message('Your number is too large.Try again.');
    ELSIF dbmserrcode = -1400 THEN
      /*
      ** ORA-01400 is "Mandatory column is NULL"
      */
      Message('You forgot to provide a value.Try again.');
    ELSE
      /*
      ** Printout a generic message with the database
      ** error string in it.
      */
      Message('Insert failed because of '||dbmserrtext);
    END IF;
  END IF;
END;


DBMS_ERROR_TEXTビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

データベース・エラーのメッセージ番号（ORA-01438など）とメッセージ・テキストを戻します。

構文:

FUNCTION DBMS_ERROR_TEXT;

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 可

パラメータ

なし

使用上の注意

例外処理ルーチン中のデータベース・エラー・メッセージをテストする場合に、このファンクションを使用してください。

再帰的エラーの場合、DBMS_ERROR_TEXTでは、発生した順にすべてのエラーが戻されます。


DBMS_ERROR_TEXTの例

/*

** Built-in:DBMS_ERROR_CODE,DBMS_ERROR_TEXT
** Example: Reword certain Form Builder error messages by
**            evaluating the DBMS error code that caused them
** Trigger: On-Error
*/
DECLARE
  errcode     NUMBER        := ERROR_CODE;
  dbmserrcode NUMBER;
  dbmserrtext VARCHAR2(200);
BEGIN
  IF errcode = 40508 THEN
    /*
    ** Form Builder had a problem INSERTing, so
    ** look at the Database error which
    ** caused the problem.
    */
    dbmserrcode := DBMS_ERROR_CODE;
    dbmserrtext := DBMS_ERROR_TEXT;

    IF dbmserrcode = -1438 THEN
      /*
      ** ORA-01438 is "value too large for column"
      */
      Message('Your number is too large.Try again.');
    ELSIF dbmserrcode = -1400 THEN
      /*
      ** ORA-01400 is "Mandatory column is NULL"
      */
      Message('You forgot to provide a value.Try again.');
    ELSE
      /*
      ** Printout a generic message with the database
      ** error string in it.
      */
      Message('Insert failed because of '||dbmserrtext);
    END IF;
  END IF;
END;


DEBUG_MODEビルトイン

 制限事項	 すべてのビルトイン

説明

メニューのデバック・モードをトグル式でオン・オフに切り替えます。メニューのデバック・モードがオンの状態で、メニュー項目のコマンドを実行すると、Form Builderからその処理に応じたメッセージが発行されます。

構文:

PROCEDURE DEBUG_MODE;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


DEBUG_MODEの制限事項

DEBUG_MODEは、メニュー・モジュールに限り使用できます。このビルトイン処理では、フォームをデバッグ・モードにすることはできません。


DEFAULT_VALUEビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

指定された変数の現在の値がNULLならば、指定された値をその変数にコピーします。変数の現在の値がNULLでなければ、DEFAULT_VALUEは何もしません。したがって、テキスト項目についてこのビルトイン処理を実行すると、NULL項目に対してCOPYビルトイン処理を実行する場合と同様の処理が行われます。処理の対象となる変数が未定義のグローバル変数の場合は、Form Builderによりその変数が作成されます。

構文:

PROCEDURE DEFAULT_VALUE
  (value_string  VARCHAR2,
   variable_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

value_string	有効なVARCHAR2型の文字列や変数、または有効な文字列をデータとして持つテキスト項目。

variable_name	有効な変数またはグローバル変数、テキスト項目の名前。variable_nameのデータ型はVARCHAR2です。このビルトインの引数として渡されるオブジェクトは、一重引用符で囲む必要があります。


DEFAULT_VALUEの制限事項

DEFAULT_VALUEのビルトイン処理は、「初期値」項目のプロパティを処理するものではありません。


DEFAULT_VALUEの例

/*

** Built-in:DEFAULT_VALUE
** Example: Make sure a Global variable is defined by
**           assigning some value to it with Default_Value
*/
BEGIN
  /*
  ** Default the value of GLOBAL.Command_Indicator if it is
  ** NULL or does not exist.
  */
  Default_Value('***','global.command_indicator');
  /*
  ** If the global variable equals the string we defaulted
  ** it to above, then it must have not existed before
  */
  IF :Global.Command_Indicator = '***' THEN
    Message('You must call this screen from the Main Menu');
    RAISE Form_Trigger_Failure;
  END IF;
END;


DELETE_GROUPビルトイン

 例  [image] 制限事項	 すべてのビルトイン

説明

プログラム処理の中で自動的に作成されたレコード・グループを削除します。

構文:

PROCEDURE DELETE_GROUP
  (recordgroup_id  RecordGroup);

PROCEDURE DELETE_GROUP
  (recordgroup_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

recordgroup_id	Form Builderがグループを作成するときに割り当てる一意のID。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループを作成するときに付けた名前。その名前のデータ型はVARCHAR2です。


DELETE_GROUPの制限事項

このビルトイン処理では、設計時に作成されたレコード・グループを削除することはできません。


DELETE_GROUPの例

/*

** Built-in:DELETE_GROUP
** Example:Delete a programmatically created record group
*/
PROCEDURE Remove_Record_Group( rg_name VARCHAR2 ) IS
  rg_id RecordGroup;
BEGIN
  /*
  ** Make sure the Record Group exists before trying to
  ** delete it.
  */
  rg_id := Find_Group( rg_name );
  IF NOT Id_Null(rg_id) THEN
    Delete_Group( rg_id );
  END IF;
END;


DELETE_GROUP_ROWビルトイン

 例  [image] 制限事項	 すべてのビルトイン

説明

指定されたレコード・グループの指定行またはすべての行を削除します。削除された行以降の行では、Form Builderによって自動的に行番号が繰り上げられます。行が削除されると、その行が格納されていたメモリーが空きます。この空きメモリーは、Form Builderで使用します。

ALL_ROWS定数を使用してグループの全行削除を選択すると、Form Builderによりすべての行が削除されますが、そのグループ自体は、DELETE_GROUPサブプログラムを実行しないかぎり削除されずに残ります。

個別の行削除を行うと、削除行の前後の行が連番になるように、後続の行番号が振り直されます。

構文:

PROCEDURE DELETE_GROUP_ROW
  (recordgroup_id  RecordGroup,
   row_number      NUMBER);

PROCEDURE DELETE_GROUP_ROW
  (recordgroup_name  VARCHAR2,
   row_number        NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

recordgroup_id	Form Builderにより、グループ作成の際に各グループに一意に割り当てられるID。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	レコード・グループを作成するときに指定したグループの名前。その名前のデータ型はVARCHAR2です。

row_number	レコード・グループから削除する行を指定します。行には1からnまでの番号が自動的に付けられています。row numberパラメータのデータ型はNUMBERです。

ALL_ROWS  Form Builderに全行を削除させるよう指定します。このとき、レコード・グループは削除されません。ALL_ROWSは定数です。


DELETE_GROUP_ROWの制限事項

このビルトイン処理では、静的レコード・グループの行削除はできません。


DELETE_GROUP_ROWの例

/*

** Built-in:DELETE_GROUP_ROW
** Example: Delete certain number of records from the tail
**            of the specified record group.
*/
PROCEDURE Delete_Tail_Records( recs_to_del NUMBER,
                               rg_name VARCHAR2 ) IS
  rg_id     RecordGroup;
  rec_count NUMBER;
BEGIN
  /*
  ** Check to see if Record Group exists
  */
  rg_id := Find_Group( rg_name );
  /*
  ** Get a count of the records in the record group
  */
  rec_Count := Get_Group_Row_Count( rg_id );
  IF rec_Count < recs_to_del THEN
    Message('There are only '||TO_CHAR(rec_Count)||
           ' records in the group.');
    RAISE Form_Trigger_Failure;
  END IF;
  /*
  ** Loop thru and delete the last 'recs_to_del' records
  */
  FOR j IN 1..recs_to_del LOOP
    Delete_Group_Row( rg_id, rec_Count - j + 1 );
  END LOOP;
END;


DELETE_LIST_ELEMENTビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

リスト項目から、特定のリスト要素を削除します。

構文:

PROCEDURE DELETE_LIST_ELEMENT
  (list_name   VARCHAR2,
   list_index  NUMBER);

PROCEDURE DELETE_LIST_ELEMENT
  (list_id    ITEM,
   list_index  NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

list_id	Form Builderがリスト項目を作成するときに割り当てる一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

list_name	ユーザーがリスト項目を作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

list_index	リスト索引値を指定します。リスト索引は1を基礎としています。

使用上の注意

•	「ほかの値のマッピング」プロパティが定義されていて、ブロック中に問合せレコードがある場合は、DELETE_LIST_ELEMENTのビルトイン処理を実行しないでください。このような場合にCLEAR_LISTビルトインを使用すると、すでにフェッチされたレコードを表示できなくなる場合があります。

たとえば、値AおよびB、Cを含んでいるリスト項目があり、「ほかの値のマッピング」プロパティが定義されているとします。また、これらの値はデータベースからフェッチされたものであるとします（問合せはオープンしている）。この場合に、DELETE_LIST_ELEMENTによってリストからBを削除すると、エラーが起こります。これは、Form Builderが前回フェッチした値（A、B、C）を表示する際に、Bがリストから削除されているために値の表示が不可能となって発生するエラーです。

リスト要素の削除は、オープンしている問合せをすべてクローズしてから行ってください。オープンされた問合せのクローズには、ABORT_QUERYビルトインを使用します。

注意: 他の値要素が、設計時に全く指定されていなかったり、実行時にリストから自動的に削除された場合、そのリストには他の値要素は存在しません。


DELETE_LIST_ELEMENTの制限事項

ポップ・リストまたはTLIST・スタイルのリスト項目では、ユーザーがデフォルトの値要素を削除しようとすると、Form Buildeから「FRM-41331: <list_item>から要素を削除できませんでした」というエラー・メッセージが戻ります。

デフォルト値要素とは、設計時に、「初期値」プロパティの設定でラベルや値を指定した要素のことです。

コンボボックス形式のリスト項目については、「初期値」プロパティに要素ラベルではなく実際の値が設定されている場合に限り、デフォルト値要素を削除できます。

実表の「ポップリスト」または「Tlist」項目に対して、次のことを行うと、Form Builderから「FRM-41331: <list_item>から要素を削除できませんでした」というエラー・メッセージが戻ります。

•	ブロック中に問合せレコードや変更レコードがある状態で、他の値要素を削除しようとした場合。

•	ブロック中に問合せレコードや変更レコードがある状態で、他の値要素を持たないリストから要素を削除しようとした場合。

注意: 問合せされたレコードがブロックに含まれている場合、ブロック・ステータスはQUERYです。挿入または更新されたレコードがブロックに含まれている（問合せされたレコードが修正された）場合、ブロック・ステータスはCHANGEDです。


DELETE_LIST_ELEMENTの例

/*

**  Built-in:DELETE_LIST_ELEMENT
**  Example:See ADD_LIST_ELEMENT
*/


DELETE_PARAMETERビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

指定のキーを持つパラメータを、パラメータ・リストから削除します。

構文:

PROCEDURE DELETE_PARAMETER
  (list  VARCHAR2,
   key   VARCHAR2);

PROCEDURE DELETE_PARAMETER
  (name  VARCHAR2,
   key   VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

listまたはname	パラメータ・リストを示す（リストIDまたはリスト名で指定）。実際のパラメータには、型PARAMLISTのパラメータ・リストIDまたはパラメータ・リストのVARCHAR2名のどちらかを指定できます。

key	パラメータの名前。キーのデータ型はVARCHAR2です。


DELETE_PARAMETERの制限事項

•	パラメータ・リストに最後に残ったパラメータを削除しても、その削除処理でリスト自体が自動的に削除されることはありません。パラメータ・リストを削除する場合は、DESTROY_PARAMETER_LISTサブプログラムをコールしてください。


DELETE_PARAMETERの例

/*

** Built-in:DELETE_PARAMETER
** Example: Remove the 'NUMBER_OF_COPIES' parameter from the
**            already existing 'TEMPDATA' parameter list.
*/
BEGIN
  Delete_Parameter('tempdata','number_of_copies');
END;


DELETE_RECORDビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

On-Deleteトリガー以外で使用する場合は、ブロックから現レコードを削除し、そのレコードに削除マークを設定します。このビルトイン処理でレコードを削除すると、1回に1レコードずつ削除されるのではなく、削除対象レコードが削除レコード・リストに追加されます。次に有効なコミット・プロセスを行うときにこの削除リスト中のレコードがまとめて削除されます。

削除するレコードがデータベース中の行に対応している場合、Form Builderによりそのレコードをロックしてから、レコードの削除と削除マークの設定が行われます。

オープンしている問合せがブロック中に存在する場合、Form Builderにより、必要に応じてレコードがフェッチされ、ブロック内に取り込まれます。CLEARRECCLEAR_RECORDビルトイン・サブプログラムの説明も参照してください。

On-Deleteトリガーの中でDELETE_RECORDを実行すると、「トランザクションのポストおよびコミット」プロセスの中で、Form Builderのデフォルトのレコード削除処理が起動します。このコーディング例を、この後の例2に示します。

構文:

PROCEDURE DELETE_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


DELETE_RECORDの例

例1

/*

** Built-in:DELETE_RECORD
** Example: Mark the current record in the current block for
**            deletion.
*/
BEGIN
  Delete_Record;
END;

例2

/*

** Built-in:DELETE_RECORD
** Example:Perform Form Builder delete record processing
**            during commit-time.Decide whether to use this
**            Built-in or a user exit based on a global flag
**            setup at startup by the form, perhaps based on
**            a parameter.
** Trigger:On-Delete
*/
BEGIN
  /*
  ** Check the global flag we set during form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    User_Exit('my_delrec block=EMP');
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Delete_Record;
  END IF;
END;


DELETE_TIMERビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

フォームから指定のタイマーを削除します。

構文:

PROCEDURE DELETE_TIMER
  (timer_id  Timer);

PROCEDURE DELETE_TIMER
  (timer_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

timer_id	特に、CREATE_TIMERビルトインへの正常なコールに対する応答としてタイマーを作成するときにForm Builderにより割り当てられる一意のIDを指定します。FIND_TIMERビルトインを使用して、そのIDを適切に入力された変数に戻します。このIDのデータ型はTIMERです。

timer_name	タイマーを定義する際につけたタイマーの名前。timer_nameのデータ型はVARCHAR2です。


DELETE_TIMERの制限事項

•	タイマーを削除する場合、タイマー・オブジェクトの可用性チェックのためのID_NULLをコールしますが、このとき、ID_NULLのコールの前にFIND_TIMERコールを発行してください。たとえば、次の例は誤りです。DELETE_TIMERへのコールによってIDの値が設定されないからです。つまり、タイマーは削除されますが、IDは依然存在しており、存在しないタイマーを指しているため、NULLにはなりません。

-- Invalid Example
   timer_id := Find_Timer('my_timer');
   Delete_Timer(timer_id);
   IF (ID_Null(timer_id))...


DELETE_TIMERの例

/*

** Built-in:DELETE_TIMER
** Example: Remove a timer after first checking to see if
**            it exists
*/
PROCEDURE Cancel_Timer( tm_name VARCHAR2 ) IS
  tm_id Timer;
BEGIN
  tm_id := Find_Timer( tm_name );

  IF NOT Id_Null(tm_id) THEN
    Delete_Timer(tm_id);
  ELSE
    Message('Timer '||tm_name||' has already been cancelled.');
  END IF;
END;


DELETE_TREE_NODEビルトイン

 例   [image] すべてのビルトイン

説明

ツリーからデータ要素を削除します。

構文:

PROCEDURE DELETE_TREE_NODE

   (item_name VARCHAR2,

node NODE);

PROCEDURE DELETE_TREE_NODE

   (item_id ITEM,

node NODE);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
node	有効なノードを指定します。
使用上の注意

ブランチ・ノードを削除すると、そのすべての子ノードも削除されます。


DELETE_TREE_NODEの例

/*

** Built-in:DELETE_TREE_NODE
*/

-- This code finds a node with the label "Zetie"

-- and deletes it and all of its children.

DECLARE

htree         ITEM;

   delete_node   FTREE.NODE;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Find the node with a label of "Zetie".

-- Start searching from the root of the tree.

delete_node := Ftree.Find_Tree_Node(htree,

'Zetie',

Ftree.FIND_NEXT,

Ftree.NODE_LABEL,

Ftree.ROOT_NODE,

Ftree.ROOT_NODE);

-- Delete the node and all of its children.

IF NOT Ftree.ID_NULL(delete_node) then

Ftree.Delete_Tree_Node(htree, delete_node);

END IF;

END;


DESTROY_PARAMETER_LISTビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

動的に作成されたパラメータ・リストと、そのリスト中のすべてのパラメータを削除します。

構文:

PROCEDURE DESTROY_PARAMETER_LIST
  (list  VARCHAR2);

PROCEDURE DESTROY_PARAMETER_LIST
  (name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

listまたはname	パラメータ・リストを示す（リストIDまたはリスト名で指定）。実際のパラメータには、型PARAMLISTのパラメータ・リストIDまたはパラメータ・リストのVARCHAR2名のどちらかを指定できます。

使用上の注意:

DESTROY_PARAMETER_LISTを使用してパラメータ・リストが破棄された場合、パラメータ・リスト・ハンドルはNULLに設定されません。

このIDをPARAMLIST型の変数に戻す場合は、GET_PARAMETER_LISTのビルトイン処理を実行してください。


DESTROY_PARAMETER_LISTの例

/*

** Built-in:DESTROY_PARAMETER_LIST
** Example: Remove the parameter list 'tempdata' after first
**            checking to see if it exists
*/
DECLARE
  pl_id ParamList;
BEGIN
  pl_id := Get_Parameter_List('tempdata');
  IF NOT Id_Null(pl_id) THEN
    Destroy_Parameter_List(pl_id);
  END IF;
END;


DESTROY_VARIANT

 すべてのビルトイン

説明

CREATE_VARファンクションによって作成されたバリアントを破棄します。

構文:

PROCEDURE DESTROY_VARIANT (variant OLEVAR);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

variant	破棄されるOLEバリアント。


DISPATCH_EVENTビルトイン

 例   [image] すべてのビルトイン

説明

ActiveXコントロール・イベントのディスパッチ・モードを指定します。デフォルトで、ActiveXイベントに関連付けられているすべてのPL/SQLイベント・プロシージャは制限付きです。つまり、go_itemはプロシージャ内からコールすることができず、OUTパラメータは無視されることを意味します。ただし、同じイベントが複数の項目に適用され、go_itemが必要になるインスタンスがあります。これによって、イベントを制限なしでディスパッチする必要がでてきます。On-Dispatch-Eventトリガーを使用すると、DISPATCH_EVENTをコールして、ディスパッチ・モードを制限付きまたは制限なしに指定できます。ActiveXコントロール・イベントの操作方法の詳細は、オンライン・ヘルプの「ActiveXコントロール・イベントのイベントに応答」を参照してください。

構文:

PROCEDURE DISPATCH_EVENT
  (sync NUMBER,
);

PROCEDURE DISPATCH_EVENT
);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

sync	ディスパッチ・モードを制限付き（RESTRICTED）または制限なし（RESTRICTED_ALLOWED）のいずれかに指定します。


DISPATCH_EVENTの例

/*

ON-DISPATCH-EVENT trigger
*/
BEGIN
IF :SYSTEM.CUSTOM_ITEM_EVENT = 4294966696 THEN
/*when event occurs, allow it to apply to different items */
FORMS4W.DISPATCH_EVENT(RESTRICTED_ALLOWED);
ELSE
/*run the default, that does not allow applying any other	item */
FORMS4W.DISPATCH_EVENT(RESTRICTED);
END IF;
END;


DISPLAY_ERRORビルトイン

 すべてのビルトイン

説明

ログに書き込まれたエラーがある場合、「エラー表示」画面を表示します。オペレータが「エラー表示」画面を表示しながらファンクション・キーを押すと、Form Builderによってフォームが再表示されます。このビルトインのコール時に、表示するエラーがない場合は、Form Builderによってコールが無視され、「エラー表示」画面も表示されません。

構文:

PROCEDURE DISPLAY_ERROR;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


DISPLAY_ITEMビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

下位互換性のために用意されています。新規のアプリケーションには、SET_ITEM_INSTANCE_PROPERTYビルトインを使用してください。DISPLAY_ITEMは、指定された表示属性を項目に割り当てて、その項目の外観を変更します。DISPLAY_ITEMには、変更済みインスタンスをミラーする任意の項目の外観も変更する副作用があります。SET_ITEM_INSTANCE_PROPERTYはミラー項目を変更しません。

現行フォーム内の項目はどれでも参照できます。

DISPLAY_ITEMのビルトイン処理で変更した内容は、次の場合に無効となります。

•	同じ項目のインスタンスが、別のDISPLAY_ITEMビルトインによって参照された場合。

•	同じ項目のインスタンスが、SET_ITEM_INSTANCE_PROPERTYビルトイン（VISUAL_ATTRIBUTEプロパティあり）によって参照された場合。

•	項目のインスタンスが削除された場合（CLEAR_RECORDまたは問合せなどによって）。

•	レコードを変更して（ステータスはNEW）、いったんレコードから抜け出た後、再度レコードをアクティブにした場合。

•	現行フォームを終了した場合。

構文:

PROCEDURE DISPLAY_ITEM
  (item_id    ITEM,
   attribute  VARCHAR2);

PROCEDURE DISPLAY_ITEM
  (item_name  VARCHAR2,
   attribute  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item_id	Form Builderが項目を作成するときに割り当てる一意のIDを指定します。このIDのデータ型はITEMです。

item_name	項目を作成するときに項目名として指定したVARCHAR2型の文字列を指定します。

attribute	設定するユーザー命名の可視属性を指定します。その他に、Oracle*Terminalリソース・ファイルの中の有効な属性も指定できます。Form Builderでは、ユーザー命名の可視属性から先に検索されます。注意: 項目にデフォルト属性を適用する方法としてNormalを指定できますが、フォームにNormalと呼ばれる可視属性または論理属性（キャラクタ・モードまたはそれ以外）が含まれていない場合に限られます。また、項目をその初期可視属性（デフォルト、カスタムまたはユーザー命名）に戻す方法として、NULLを指定できます。


DISPLAY_ITEMの例

/*

** Built-in:DISPLAY_ITEM
** Example:Change the visual attribute of each item in the
**            current record.
*/
DECLARE
  cur_itm   VARCHAR2(80);
  cur_block VARCHAR2(80) := :System.Cursor_Block;
BEGIN
  cur_itm   := Get_Block_Property( cur_block, FIRST_ITEM );
  WHILE ( cur_itm IS NOT NULL ) LOOP
    cur_itm := cur_block||'.'||cur_itm;
    Display_Item( cur_itm, 'My_Favorite_Named_Attribute');
    cur_itm := Get_Item_Property( cur_itm, NEXTITEM );
  END LOOP;
END;


DOWNビルトイン

 関連項目	 すべてのビルトイン

説明

次のレコードの、同じ項目のインスタンスにナビゲートします。必要に応じて、Form Builderによりレコードがフェッチされます。Form Builderによりレコードが新規作成された場合は、そのレコードの中で最初のナビゲート可能項目に移動します。

構文:

PROCEDURE DOWN;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


DO_KEYビルトイン

 例   [image] 制限事項	 すべてのビルトイン

説明

指定のビルトイン・サブプログラムに対応するキー・トリガーを実行します。対応するキー・トリガーが存在しない場合は、指定のサブプログラムを実行します。このビルトイン処理でサブプログラムを実行しても、対応するファンクション・キーを押して実行しても、得られる結果は同じです。

構文:

PROCEDURE DO_KEY
  (built-in_subprogram_name  VARCHAR2);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

built-in_subprogram_name	有効なビルトイン・サブプログラムの名前を指定します。

ビルトイン	キー・トリガー	対応付けられたファンクション・キー
BLOCK_MENU	Key-MENU	「ブロック・メニュー」
CLEAR_BLOCK	Key-CLRBLK	「ブロック消去」
CLEAR_FORM	Key-CLRFRM	「フォーム消去」
CLEAR_RECORD	Key-CLRREC	「レコード消去」
COMMIT_FORM	Key-COMMIT	「Commit」
COUNT_QUERY	Key-CQUERY	「問合せ件数」
CREATE_RECORD	Key-CREREC	「レコード作成」
DELETE_RECORD	Key-DELREC	「レコード削除」
DOWN	Key-DOWN	「下へ」
DUPLICATE_ITEM	Key-DUP-ITEM	「項目の複製」
DUPLICATE_RECORD	Key-DUPREC	「レコードの複製」
EDIT_TEXTITEM	Key-EDIT	「編集」
ENTER	Key-ENTER	「Enter」
ENTER_QUERY	Key-ENTQRY	「問合せ入力」
EXECUTE_QUERY	Key-EXEQRY	「問合せ実行」
EXIT_FORM	Key-EXIT	「Exit/Cancel」
HELP	Key-HELP	「ヘルプ」
LIST_VALUES	Key-LISTVAL	「List」
LOCK_RECORD	Key-UPDREC	「レコード・ロック」
NEXT_BLOCK	Key-NXTBLK	「次のブロックへ」
NEXT_ITEM	Key-NEXT-ITEM	「次の項目へ」
NEXT_KEY	Key-NXTKEY	「Next Primary Key Fld」
NEXT_RECORD	Key-NXTREC	「次のレコードへ」
NEXT_SET	Key-NXTSET	「次のレコード・セットへ」
PREVIOUS_BLOCK	Key-PRVBLK	「前のブロックへ」
PREVIOUS_ITEM	Key-PREV-ITEM	「前の項目へ」
PREVIOUS_RECORD	Key-PRVREC	「前のレコードへ」
PRINT	Key-PRINT	「印刷」
SCROLL_DOWN	Key-SCRDOWN	「上方へスクロール」
SCROLL_UP	Key-SCRUP	「下方へスクロール」
UP	Key-UP	「上へ」


DO_KEYの制限事項

DO_KEYのパラメータに使用できるのはビルトイン名DO_KEY(ENTER_QUERY)のみです。特定キー名を受け入れるには、EXECUTE_TRIGGERビルトインEXECUTE_TRIGGER('KEY_F11')を実行します。


DO_KEYの例

/*

** Built-in:DO_KEY
** Example:Simulate pressing the [Execute Query] key.
*/
BEGIN
  Do_Key('Execute_Query');
END;


DUMMY_REFERENCEビルトイン

 制限事項	   関連項目	 すべてのビルトイン

説明

このビルトイン処理を使用すると、バインド変数を明示的に参照するよう設定できます。通常、バインド変数は計算式（または計算式からコールされるファンクションやプロシージャ）の中で間接的にしか参照できません。DUMMY_REFERENCEを使用すれば、Form Builderによって、計算項目（バインド変数の間接的な参照を含む）に再計算マークが設定されます。

式は、文字、数、または日付型のいずれでも構文いません。一般に式は、バインド変数へのシングル参照からなります。

注意: Form Builderに参照バインド変数を認識させるために、そのバインド変数に対してDUMMY_REFERENCEを実行する必要はありません（実行すると、関連する計算項目に再計算マークが付けられてしまいます）。

構文:

PROCEDURE DUMMY_REFERENCE(式);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


DUMMY_REFERENCEの制限事項

なし


DUPLICATE_ITEMビルトイン

 制限事項	   関連項目	 すべてのビルトイン

説明

現項目に、前のレコードの同一項目のインスタンスと同じ値を割り当てます。

構文:

PROCEDURE DUPLICATE_ITEM;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


DUPLICATE_ITEMの制限事項

現行のセッションにおいて、必ず前のレコードが存在している必要があります。前のレコードがないと、Form Builderから次のエラーが戻されます。FRM-41803: 値をコピーする元の前レコードがありません。


DUPLICATE_RECORDビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

一つ前のレコードの各項目の値を、現レコードの対応する項目にコピーします。このとき、現レコードがデータベース中の行に対応しないでください。データベース中の行に対応していると、エラーが発生します。

注意: 複製レコードは、ソース・レコードのレコード・ステータスを継承しません。その代わりに、レコード・ステータスはINSERTになります。

構文:

PROCEDURE DUPLICATE_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


DUPLICATE_RECORDの制限事項

現行のセッションにおいて、前のレコードが存在している必要があります。


DUPLICATE_RECORDの例

/*

** Built-in:DUPLICATE_RECORD;
** Example:Make a copy of the current record and increment
**            the "line_sequence" item by one.
*/
DECLARE
  n NUMBER;
BEGIN
  /*
  ** Remember the value of the 'line_sequence' from the
  ** current record
  */
  n := :my_block.line_sequence;
  /*
  ** Create a new record, and copy all the values from the
  ** previous record into it.
  */
  Create_Record;
  Duplicate_Record;
  /*
  ** Set the new record's 'line_sequence' to one more than
  ** the last record's. */
  :my_block.line_sequence := n + 1;
END;


EDIT_TEXTITEMビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

ランフォームの項目エディタを起動して現行のテキスト項目を開き、フォームを編集モードにします。

構文:

PROCEDURE EDIT_TEXTITEM;

PROCEDURE EDIT_TEXTITEM
  (x  NUMBER,
   y  NUMBER);
PROCEDURE EDIT_TEXTITEM
  (x       NUMBER,
   y       NUMBER,
   width  NUMBER,
   height  NUMBER);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

x	項目エディタのポップアップ・ウィンドウ表示位置のx座標を指定します。ここでの表示位置とは、画面上に表示するときのウィンドウの左上角の座標を指します。

y	項目エディタのポップアップ・ウィンドウ表示位置のy座標を指定します。ここでの表示位置とは、画面上に表示するときのウィンドウの左上隅の座標を指します。

width	エディタ・ウィンドウ全体（ボタンを含む）の横幅を指定します。

height	エディタ・ウィンドウ全体（ボタンを含む）の縦の長さを指定します。

縦の長さを6文字セル以下に指定すると、Form Builderによって縦の長さが6文字セルに設定されます。

項目エディタのポップアップ・ウィンドウ表示位置やウィンドウ・サイズを指定する場合に、このEDIT_TEXTITEMオプション・パラメータを使用します。このオプション・パラメータを指定しないと、Form Builderでは、デフォルトの表示位置とウィンドウ・サイズで項目エディタが起動されます。


EDIT_TEXTITEMの制限事項

•	横幅には、少なくともエディタ・ウィンドウ下部のボタンが表示できる長さを指定してください。


EDIT_TEXTITEMの例

/*

** Built-in:EDIT_TEXTITEM
** Example:Determine the x-position of the current item
**            then bring up the editor either on the left
**            side or right side of the screen so as to not
**            cover the item on the screen.
*/
DECLARE
  itm_x_pos NUMBER;
BEGIN
  itm_x_pos := Get_Item_Property(:System.Cursor_Item,X_POS);
  IF itm_x_pos > 40 THEN
    Edit_TextItem(1,1,20,8);
  ELSE
    Edit_TextItem(60,1,20,8);
  END IF;
END;


ENFORCE_COLUMN_SECURITYビルトイン

 制限事項  [image] 関連項目	 すべてのビルトイン

説明

データベースの列に対して、列のセキュリティ・チェックのデフォルト処理を実行します。Oracle以外のデータ・ソースに対して実行するアプリケーションにおいて、Form Builderのデフォルト・トランザクション処理の代わりにトランザクション・トリガーを実行する場合に、このビルトイン処理をインクルードするのが主な用途です。

列のセキュリティ・チェックのデフォルト処理では、Form Builderによって列レベルのセキュリティがかけられる際に発生したイベントが、発生順に参照されます。このセキュリティ・チェックは、「列セキュリティの強化」ブロック・ プロパティが「はい」に設定されているブロックに対して実行されます。列のセキュリティをかける前に、Form Builderではデータベースに問い合わせて、実表の列の中で現行フォームのオペレータが更新権限を持っている列を調べます。オペレータが更新権限を持っていない列では、Form Builderによってフォームの中の該当する実表項目が更新不可能となります。具体的には、「更新可」項目のプロパティを動的に「いいえ」に設定します。デフォルトでは、Form Builderによってフォームの起動時に各ブロックに対して順次この操作が行われます。

構文:

PROCEDURE ENFORCE_COLUMN_SECURITY

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

使用上の注意

このビルトイン・サブプログラムをOn-Column-Securityトリガーにインクルードすると、このトリガーの処理を補強できます。ただし、同トリガーの処理そのものを代行させることはできません。詳細は、このマニュアル「トリガー」を参照してください。


ENFORCE_COLUMN_SECURITYの制限事項

このビルトイン処理は、On-Column-Securityトリガーの中でのみ使用できます。


ENTERビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

現行の妥当性チェック単位内でデータの妥当性チェックを行います（デフォルトの妥当性チェック単位は項目です）。

構文:

PROCEDURE ENTER;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし


ENTERの例

/*

** Built-in:ENTER
** Example:Force Validation to occur before calling another
**            form
*/
BEGIN
  Enter;
  IF NOT Form_Success THEN
    RAISE Form_Trigger_Failure;
  END IF;
  Call_Form('newcust');
END;


ENTER_QUERYビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

ENTER_QUERYの動作は、指定のパラメータに応じて異なります。

構文:

PROCEDURE ENTER_QUERY;

PROCEDURE ENTER_QUERY
  (keyword_one  VARCHAR2);
PROCEDURE ENTER_QUERY
  (keyword_two  VARCHAR2);
PROCEDURE ENTER_QUERY
  (keyword_one  VARCHAR2,
   keyword_two  VARCHAR2);
PROCEDURE ENTER_QUERY
  (keyword_one  VARCHAR2,
   keyword_two  VARCHAR2,
   locking      VARCHAR2);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード  はい（ブロックで最後に実行された問合せの結果、得られた例レコードを再表示する）

パラメータ

パラメータなし	ENTER_QUERYと指定すると、現ブロックがフラッシュされ、フォームが問合せ入力モードになります。コミットすべき変更点がある場合は、ENTER_QUERYプロセスの中で、Form Builderからオペレータに対し、変更点をコミットするよう指示が出されます。

keyword_one	ENTER_QUERY(ALL_RECORDS)と指定すると、EXECUTE_QUERY起動時にForm Builderにより、選択済みレコードがすべてフェッチされます。それ以外のアクションは、ENTER_QUERYのみを指定した場合と同様です。

keyword_two	ENTER_QUERY(FOR_UPDATE)と指定すると、EXECUTE_QUERY起動時にForm Builderでは、選択済みレコードすべてを即時にロックしようとします。それ以外のアクションは、ENTER_QUERYのみを指定した場合と同様です。

keyword_one/ keyword_two	ENTER_QUERY(ALL_RECORDS, FOR_UPDATE)と指定すると、EXECUTE_QUERY起動時にForm Builderでは、選択済みレコードすべてを即時にロックしようとし、さらにこれらのレコードをフェッチします。それ以外のアクションは、ENTER_QUERYのみを指定した場合と同様です。

locking	FOR_UPDATEパラメータを使用する場合に限り、このパラメータをNO_WAITに設定できます。NO_WAITと設定すると、即時更新用のロックがかからないレコードがあった場合に、オペレータにその旨を示すダイアログがForm Builderから表示されます。

NO_WAITパラメータを指定しない場合、Form Builderにより、ロックがかかるまでトライが続けられます。このとき、オペレータはこのプロセスを取り消すことはできません。

NO_WAITパラメータは、この機能をサポートするデータ・ソースに対して実行する場合に限り使用してください。


ENTER_QUERYの制限事項

ALL_RECORDSパラメータおよびFOR_UPDATEパラメータは注意して使用してください。多数の行のロックやフェッチでは、作業遂行上、大量のリソースを取得する必要があるため、処理に時間がかかることがあります。


ENTER_QUERYの例

/*

** Built-in:ENTER_QUERY
** Example:Go Into Enter-Query mode, and exit the form if
**            the user cancels out of enter-query mode.
*/
BEGIN
  Enter_Query;
  /*
  ** Check to see if the record status of the first record
  ** is 'NEW' immediately after returning from enter-query
  ** mode.It should be 'QUERY' if at least one row was
  ** returned.
  */

  IF :System.Record_Status = 'NEW' THEN
    Exit_Form(No_Validate);
  END IF;
END;


ERASEビルトイン

 例  [image]  関連項目	 すべてのビルトイン

説明

指定のグローバル変数を削除します（これにより、このグローバル変数は存在しなくなります）。また、そのグローバル変数が格納されていたメモリーを解放します。各グローバル変数には、それぞれ255バイトの記憶領域が割り当てられます。必要以上にパフォーマンスが低下するのを避けるため、不要なグローバル変数があれば消去してください。

構文:

PROCEDURE ERASE
  (global_variable_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

global_variable_name	有効なグローバル変数の名前を指定します。


ERASEの例

ERASE('global.var');


ERROR_CODEビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

Form Builderで発生したエラーの番号を戻します。

構文:

PROCEDURE ERROR_CODE;

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 可

パラメータ

なし


ERROR_CODEの例

/*

** Built-in:ERROR_CODE,ERROR_TEXT,ERROR_TYPE
** Example:Reword certain FRM error messages by checking
**            the Error_Code in an ON-ERROR trigger
** Trigger:On-Error
*/
DECLARE
  errnum NUMBER       := ERROR_CODE;
  errtxt VARCHAR2(80) := ERROR_TEXT;
  errtyp VARCHAR2(3)  := ERROR_TYPE;
BEGIN
  IF errnum = 40301 THEN
    Message('Your search criteria identified no matches...
              Try Again.');
  ELSIF errnum = 40350 THEN
    Message('Your selection does not correspond to an employee.');
  ELSE
    /*
    ** Print the Normal Message that would have appeared
    **
    ** Default Error Message Text Goes Here
    */
    Message(errtyp||'-'||TO_CHAR(errnum)||':'||errtxt);
    RAISE Form_Trigger_Failure;
  END IF;
END;


ERROR_TEXTビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

Form Builderで発生したエラーのメッセージ・テキストを戻します。

構文:

FUNCTION ERROR_TEXT;

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 可

説明

Form Builderで発生したエラーのメッセージ・テキストを戻します。

パラメータ

なし

使用上の注意

例外処理サブプログラムの実行中にエラー・メッセージをテストする場合にこのファンクションを指定してください。


ERROR_TEXTの例

/*

** Built-in:ERROR_CODE,ERROR_TEXT,ERROR_TYPE
** Example:Reword certain FRM error messages by checking
**            the Error_Code in an ON-ERROR trigger
** Trigger:On-Error
*/
DECLARE
  errnum NUMBER       := ERROR_CODE;
  errtxt VARCHAR2(80) := ERROR_TEXT;
  errtyp VARCHAR2(3)  := ERROR_TYPE;
BEGIN
  IF errnum = 40301 THEN
    Message('Your search criteria identified no matches...
             Try Again.');
  ELSIF errnum = 40350 THEN
    Message('Your selection does not correspond to an employee.');
  ELSE
    /*
    ** Print the Normal Message that would have appeared
    **
    ** Default Error Message Text Goes Here
    */
    Message(errtyp||'-'||TO_CHAR(errnum)||':'||errtxt);
    RAISE Form_Trigger_Failure;
  END IF;


ERROR_TYPEビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

現行のRun Formセッションで最後に実行したアクションのエラー・メッセージ・タイプを返します。

構文:

FUNCTION ERROR_TYPE;

ビルトイン・タイプ  制限なしファンクション

戻り値  ERROR_TYPEは、エラー・メッセージ・タイプとして次のいずれかの値を戻します。

FRM	Form Builderで発生するエラーを示す値

ORA	Oracleで発生するエラーを示す値

問合せ入力モード 可

パラメータ

なし

使用上の注意

このファンクションは、次のような目的で使用します。

•	キー入力などのユーザー・アクションの結果をテストし、On-Errorトリガー内の処理を確認するため。

•	ビルトイン処理の結果をテストし、トリガーにおけるその後の処理を確認するため。

どちらのテストの場合も、対象となるアクションを実行したらすぐにテストします。テスト実行直前に対象外のアクションが入らないようにしてください。


ERROR_TYPEの例

/*

** Built-in:ERROR_CODE,ERROR_TEXT,ERROR_TYPE
** Example:Reword certain FRM error messages by checking
**            the Error_Code in an ON-ERROR trigger
** Trigger:On-Error
*/
DECLARE
  errnum NUMBER       := ERROR_CODE;
  errtxt VARCHAR2(80) := ERROR_TEXT;
  errtyp VARCHAR2(3)  := ERROR_TYPE;
BEGIN
  IF errnum = 40107 THEN
    Message('You cannot navigate to this non-displayed item...
          Try again.');
  ELSIF errnum = 40109 THEN
    Message('If you want to leave this block,
          you must first cancel Enter Query mode.');
  ELSE
    /*
    ** Print the Normal Message that would have appeared
    **
    ** Default Error Message Text Goes Here
    */
    Message(errtyp||'-'||TO_CHAR(errnum)||':'||errtxt);
    RAISE Form_Trigger_Failure;
  END IF;
END;


EXEC_VERB

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

OLEサーバーが動詞名や動詞索引で識別した動詞を実行します。OLEオブジェクト上で実行可能なアクションをOLE動詞で指定します。

構文:

PROCEDURE EXEC_VERB
  (item_id     Item,
   verb_index  VARCHAR2);

PROCEDURE EXEC_VERB
  (item_id    Item,
   verb_name  VARCHAR2);
PROCEDURE EXEC_VERB
  (item_name   VARCHAR2,
   verb_index  VARCHAR2);
PROCEDURE EXEC_VERB
  (item_name  VARCHAR2,
   verb_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

verb_index	動詞の数値索引を指定します。FORMS_OLE.Find_OLE_Verbビルトインを使用して、この値を取得します。索引のデータ型はVARCHAR2文字列です。

verb_name	動詞名を指定します。Forms_OLE.Get_Verb_Nameビルトインを使用して、この値を取得します。名前のデータ型はVARCHAR2 CHARです。


EXEC_VERBの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


EXEC_VERBの例

/*

** Built-in:EXEC_VERB
** Example:Deactivates the OLE server associated with the object
**           in the OLE container.
** Trigger:When-Button-Pressed
*/
DECLARE
 item_id  ITEM;
 item_name VARCHAR(25) := 'OLEITM';
 verb_cnt_str VARCHAR(20);
 verb_cnt NUMBER;
 verb_name VARCHAR(20);
 loop_cntr NUMBER;
BEGIN
 item_id := Find_Item(item_name);
 IF Id_Null(item_id) THEN
  message('No such item:'||item_name);
 ELSE
  verb_cnt_str := Forms_OLE.Get_Verb_Count(item_id);
  verb_cnt := TO_NUMBER(verb_cnt_str);
  FOR loop_cntr in 1..verb_cnt LOOP
    verb_name := Forms_OLE.Get_Verb_Name(item_id,loop_cntr);
    IF verb_name = 'Edit' THEN
   EXEC_VERB(item_id,verb_name);
    END IF;
  END LOOP;
 END IF;
END;


EXECUTE_QUERYビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

現ブロックのフラッシュおよび問合せのオープン、選択済みレコードのフェッチを行います。コミットすべき変更点がある場合は、EXECUTE_QUERY処理が一時中断され、Form Builderからオペレータに対し、変更点をコミットするよう指示が出されます。

構文

PROCEDURE EXECUTE_QUERY;

PROCEDURE EXECUTE_QUERY
  (keyword_one  VARCHAR2);
PROCEDURE EXECUTE_QUERY
  (keyword_two  VARCHAR2);
PROCEDURE EXECUTE_QUERY
  (keyword_one  VARCHAR2,
   keyword_two  VARCHAR2);
PROCEDURE EXECUTE_QUERY
  (keyword_one  VARCHAR2,
   keyword_two  VARCHAR2,
   locking      VARCHAR2);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

パラメータなし	EXECUTE_QUERYと指定すると、現ブロックのフラッシュ、問合せのオープン、選択済みレコードのフェッチが行われます。

keyword_one	EXECUTE_QUERY(ALL_RECORDS)と指定すると、Form Builderにより、選択済みレコードすべてがフェッチされます。それ以外のアクションはEXECUTE_QUERYのみを指定した場合と同様です。

keyword_two	EXECUTE_QUERY(FOR_UPDATE)と指定すると、Form Builderにより、選択済みレコードすべてを即時にロックしようとします。それ以外のアクションはEXECUTE_QUERYのみを指定した場合と同様です。

keyword_one/ keyword_two	EXECUTE_QUERY(ALL_RECORDS, FOR_UPDATE)と指定すると、Form Builderでは、選択済みレコードすべてを即時にロックしようとし、さらにこれらのレコードをフェッチします。それ以外のアクションは、EXECUTE_QUERYのみの場合と同様です。

locking	FOR_UPDATEパラメータを使用する場合に限り、このパラメータをNO_WAITに設定できます。NO_WAITと設定すると、即時更新用のロックがかからないレコードがあった場合に、オペレータにその旨を示すダイアログがForm Builderから表示されます。

NO_WAITパラメータを指定しない場合、Form Builderにより、ロックがかかるまでトライが続けられます。このとき、オペレータはこのプロセスを取り消すことはできません。

NO_WAITパラメータは、この機能をサポートするデータ・ソースに対して実行する場合に限り使用してください。


EXECUTE_QUERYの制限事項

ALL_RECORDSパラメータおよびFOR_UPDATEパラメータは、注意して使用してください。多数の行をフェッチすると、処理に時間がかかることがあります。また、多数の行を一度にロックするには、大量のリソースが必要となります。


EXECUTE_QUERYの例

/*

** Built-in:EXECUTE_QUERY
** Example:Visit several blocks and query their contents,
**            then go back to the block where original block.
*/
DECLARE
  block_before VARCHAR2(80) := :System.Cursor_Block;
BEGIN
  Go_Block('Exceptions_List');
  Execute_Query;
  Go_Block('User_Profile');
  Execute_Query;
  Go_Block('Tasks_Competed');
  Execute_Query;
  Go_Block( block_before );
END;


EXECUTE_TRIGGERビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

EXECUTE_TRIGGERでは、指定のトリガーを実行します。

構文:

PROCEDURE EXECUTE_TRIGGER
  (trigger_name  VARCHAR2);

ビルトイン・タイプ   制限付きプロシージャ（ユーザー定義トリガーから制限付きビルトイン・サブプログラムをコールする場合）

問合せ入力モード 可

注意: EXECUTE_TRIGGERは、ユーザー命名トリガーを実行するのに好ましいメソッドではありません。ユーザー命名サブプログラムを作成することをお薦めします。

パラメータ

trigger_name	有効なユーザー命名トリガーの名前を指定します。

使用上の注意

このビルトイン処理では有効範囲を指定できないため、Form Builderでは、1番下のレベルから上のレベルに向かって、処理対象のトリガーが検索されます。

対応するキーのあるビルトイン処理を実行する場合は、EXECUTE_TRIGGERではなく、DO_KEYのビルトイン処理を使用してください。たとえば、次の項目へ移動する場合、

Execute_Trigger ('KEY-NEXT-ITEM');

ではなく、

Do_Key('NEXT_ITEM');


EXECUTE_TRIGGERの制限事項

EXECUTE_TRIGGERでは、ユーザー命名トリガーのほか、ビルトイン・トリガーも指定して実行できますが、ビルトイン・トリガーの指定はお薦めできません。これは、EXECUTE_TRIGGERでビルトイン・トリガーの起動に失敗した場合のデフォルト動作が、Form Builderのデフォルト処理の中でビルトイン・トリガーを自動起動したときとは異なる規則に基づいているためです。たとえば、デフォルト処理では、When-Validate-Itemトリガーの起動に失敗した場合は例外処理が行われ、フォームの処理は停止します。これに対し、EXECUTE_TRIGGERを使用してWhen-Validate-Itemトリガーを起動し、これに失敗した場合、フォームの処理は停止しません 。この場合、EXECUTE_TRIGGERビルトイン処理からの戻り値であるForm_FailureがFALSEにセットされて戻されます。


EXECUTE_TRIGGERの例

/*

** Built-in:EXECUTE_TRIGGER
** Example:Execute a trigger dynamically from the PL/SQL
**            code of a Menu item, depending on a menu
**            checkbox.
*/
DECLARE
  Cur_Setting   VARCHAR2(5);
  Advanced_Mode BOOLEAN;
BEGIN
  /*
  ** Check whether the 'Advanced' menu item under the
  ** 'Preferences' submenu is checked on or not.
  */
  Cur_Setting :=  Get_Menu_Item_Property
                    ('Preferences.Advanced',CHECKED);
  /*
  ** If it is checked on, then Advanced_Mode is boolean
  ** true.
  */
  Advanced_Mode := (Cur_Setting = 'TRUE');
  /*
  ** Run the appropriate trigger from the underlying form
  **
  */
  IF Advanced_Mode THEN
    Execute_Trigger('Launch_Advanced_Help');
  ELSE
    Execute_Trigger('Launch_Beginner_Help');
  END IF;
END;


EXIT_FORMビルトイン

 例  [image] すべてのビルトイン

説明

コミットを確認し、ロールバック・アクションを指定することにより、フォームを終了するための手段を提供します。

•	大抵のコンテキストの場合、EXIT_FORMはフォームを"外"へ導きます。現行フォームで変更した内容が転記またはコミットされていない場合は、EXIT_FORM処理は一時中断し、Form Builderからオペレータに対してコミットするよう指示が出されます。

•	オペレータが問合せ入力モードに入っている場合にEXIT_FORMを実行すると、問合せ入力モードの外にナビゲートされます。この場合、フォームからは出ません。

•	CALL_INPUT処理中にEXIT_FORMを実行すると、CALL_INPUTファンクションを終了させます。

構文:

PROCEDURE EXIT_FORM;

PROCEDURE EXIT_FORM
  (commit_mode  NUMBER);
PROCEDURE EXIT_FORM
  (commit_mode   NUMBER,
   rollback_mode NUMBER);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

commit_mode	ASK_COMMIT  EXIT_FORM処理の中で、Form Builderからオペレータに対し、コミットを行うよう指示が出されます。

ただし、RECORD_STATUSがINSERTでもレコードが無効の場合、Form Builderからオペレータに対してフォームを閉じるかどうかが確認されます。閉じることをオペレータが了承した場合、フォームが閉じられる前に変更がロールバックされます。

DO_COMMIT   Form Builderにより、変更点の有効化およびコミット処理が行われ、現行フォームが終了します。この一連の処理の中で、オペレータへの指示はありません。

NO_COMMIT  Form Builderにより、変更点が有効化され、現行フォームが終了します。この一連の処理の中で、変更点のコミットは行われず、オペレータへの指示もありません。

NO_VALIDATE  Form Builderでは、現行フォームを終了させます。このとき、変更点の有効化やコミット処理は行われず、オペレータへの指示もありません。

rollback_mode	TO_SAVEPOINT  Form Builderでは（転記済みのものを含む）コミットされていないすべての変更内容が現行フォームのセーブポイントにロールバックされます。

FULL_ROLLBACK  Form Builderでは、現ランフォーム・セッション中に加えられたコミットされていないすべての変更内容（転記済みのものを含む）がロールバックされます。転記専用モードで実行されているフォームからFULL_ROLLBACKを指定することはできません。（フォームに未転記のレコードがあるときに別のフォームをコールすると、転記専用モードになる可能性があります。コール側フォームが発行したロックの損失を防ぐために、Form Builderはコールされたフォーム内のコミット処理をすべて妨げます。

NO_ROLLBACK   Form Builderでは、セーブポイントまでロールバックせずに現行フォームを終了させます。ロールバックせずに最上位レベルのフォームを終了させることもできますが、この場合は、NEW_FORM操作全体がロックされたままになります。外部3GLプログラムからForm Builderを実行している場合も同様のロックがかかります。このロックは、Form Builderから3GLプログラムに制御が戻っても保持されます。

使用上の注意

EXIT_FORMのデフォルト・パラメータは、commit_mode用のASK_COMMITおよびrollback_mode用のTO_SAVEPOINTであるため、一部のコンテキストでパラメータを指定せずにEXIT_FORMを起動すると、予期しない結果が生じる場合があります。たとえば、フォームがPOST onlyモードにあり、EXIT_FORMがパラメータなしで起動されると、ユーザーに対して変更のコミットを求めるプロンプトが表示されます。ただし、そのプロンプトでの入力内容に関係なく、変更が行われたことを確認するメッセージが表示されますが、TO_SAVEPOINTのデフォルトのrollback_modeによって、フォームへの変更はロールバックされます。矛盾を回避するには、パラメータを明示的に指定します。


EXIT_FORMの例

/*

** Built-in:EXIT_FORM and POST
** Example:Leave the called form, without rolling back the
**            posted changes so they may be posted and
**            committed by the calling form as part of the
**            same transaction.
*/
BEGIN
  Post;

  /*
  ** Form_Status should be 'QUERY' if all records were
  ** successfully posted.
  */
  IF :System.Form_Status <> 'QUERY' THEN
    Message('An error prevented the system from posting changes');
    RAISE Form_Trigger_Failure;
  END IF;
  /*
  ** By default, Exit_Form asks to commit and performs a
  ** rollback to savepoint.We've already posted, so we do
  ** not need to commit, and we don't want the posted changes
  ** to be rolled back.
  */
  Exit_Form(NO_COMMIT, NO_ROLLBACK);
END;


FETCH_RECORDSビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

On-Fetchトリガーからこのビルトイン処理をコールすると、Form Builderにより、デフォルトのフェッチ処理が起動されます。ここでフェッチされるのは、SELECT処理の結果、選択基準と一致したレコードです。

構文:

PROCEDURE FETCH_RECORDS;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

このビルトインは主に、Oracle以外のデータ・ソースに対して実行されるアプリケーション用に組み込まれているものです。

パラメータ

なし


FETCH_RECORDSの例

/*

** Built-in:FETCH_RECORDS
** Example:Perform Form Builder record fetch processing during
**            query time.Decide whether to use this built-in
**            or a user exit based on a global flag setup at
**            startup by the form, perhaps based on a
**            parameter.The block property RECORDS_TO_FETCH
**            allows you to know how many records Form Builder
**            is expecting.
** Trigger:On-Fetch
*/
DECLARE
  numrecs NUMBER;
BEGIN
  /*
  ** Check the global flag we set during form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    /*
    ** How many records is the form expecting us to
    ** fetch?
    */
    numrecs := Get_Block_Property('EMP',RECORDS_TO_FETCH);
    /*
    ** Call user exit to determine if there are any
    ** more records to fetch from its cursor.User Exit
    ** will return failure if there are no more
    ** records to fetch.
    */
    User_Exit('my_fetch block=EMP remaining_records');
    /*
    ** If there ARE more records, then loop thru
    ** and create/populate the proper number of queried
    ** records.If there are no more records, we drop through
    ** and do nothing.Form Builder takes this as a signal that
    ** we are done.
    */
    IF Form_Success THEN
      /* Create and Populate 'numrecs' records */
      FOR j IN 1..numrecs LOOP
        Create_Queried_Record;
        /*
        ** User exit returns false if there are no more
        ** records left to fetch.We break out of the
        ** if we've hit the last record.
        */
        User_Exit('my_fetch block=EMP get_next_record');
        IF NOT Form_Success THEN
          EXIT;
        END IF;
      END LOOP;
    END IF;
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Fetch_Records;
  END IF;
END;


FIND_ALERTビルトイン

 例   [image] 関連項目	 すべてのビルトイン

説明

Form Builderの有効な警告のリストを検索します。指定された警告が見つかると、サブプログラムは警告IDを戻します。 ユーザーは、適切に入力された変数にIDを戻す必要があります。変数はALERT型で定義してください。

構文:

FUNCTION FIND_ALERT
  (alert_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  警告

問合せ入力モード 可

パラメータ

alert_name	VARCHAR2型の警告名を指定します。


FIND_ALERTの例

/*

** 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;


FIND_BLOCKビルトイン

 例  [image] 関連項目  [image] すべてのビルトイン

説明

有効なブロック・リストを検索して、一意のブロックIDを戻します。適切な型を持つ変数を定義して戻り値を受け取ります。変数はBLOCK型で定義してください。

構文:

FUNCTION FIND_BLOCK
  (block_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値 ブロック

問合せ入力モード 可

パラメータ

block_name	VARCHAR2型のブロック名を指定します。


FIND_BLOCKの例

/*

** 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;


FIND_CANVASビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

キャンバス・リストを検索して、指定の名前を持つ有効キャンバスが見つかると、そのキャンバスのIDを戻します。適切な型を持つ変数を定義して戻り値を受け取ります。変数はCanvas型で定義してください。

構文:

FUNCTION FIND_CANVAS
  (canvas_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  キャンバス

問合せ入力モード 可

パラメータ

canvas_name	キャンバスを定義するときは､ユーザーが命名したVARCHAR2型のキャンバス名を指定します。


FIND_CANVASの例

DECLARE
  my_canvas Canvas;
BEGIN
  my_canvas := Find_Canvas('my_canvas');
END;


FIND_COLUMNビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

レコード・グループ列のリストを検索して、指定の名前を持つ有効な列が見つかると、そのグループ列のIDを戻します。適切な型を持つ変数を定義して戻り値を受け取ります。変数はGROUPCOLUMN型で定義してください。

構文:

FUNCTION FIND_COLUMN
  (recordgroup.groupcolumn_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値 GROUPCOLUMN

問合せ入力モード 可

パラメータ

recordgroup. groupcolumn_name	VARCHAR2レコード・グループの完全修飾列名を指定します。


FIND_COLUMNの例

/*

** Built-in:FIND_COLUMN
** Example:Get column IDs for three columns in a record
**            group before performing multiple Get's or Set's
**            of the record group's column values
*/
PROCEDURE Record_Machine_Stats( mach_number NUMBER,
                          pph         NUMBER,
                          temperature NUMBER) IS
  rg_id  RecordGroup;
  col1   GroupColumn;
  col2   GroupColumn;
  col3   GroupColumn;
  row_no NUMBER;
BEGIN
  rg_id := Find_Group('machine');
  col1  := Find_Column('machine.machine_no');
  col2  := Find_Column('machine.parts_per_hour');
  col3  := Find_Column('machine.current_temp');
  /*
  ** Add a new row at the bottom of the 'machine' record
  ** group, and make a note of what row number we just
  ** added.
  */
  Add_Group_Row( rg_id, END_OF_GROUP);
  row_no := Get_Group_Row_Count(rg_id);
  Set_Group_Number_Cell(col1, row_no, mach_number);
  Set_Group_Number_Cell(col2, row_no, pph);
  Set_Group_Number_Cell(col3, row_no, temperature);
END;


FIND_EDITORビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

エディタ・リストを検索し、所要の名前を持つ有効エディタを見つけると、エディタIDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数をEDITOR型で定義します。

構文:

FUNCTION FIND_EDITOR
  (editor_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  Editor

問合せ入力モード 可

パラメータ

editor_name	有効なVARCHAR2エディタ名を指定します。


FIND_EDITORの例

/*

** Built-in:FIND_EDITOR
** Example:Find and show a user-defined editor
*/
DECLARE
  ed_id  Editor;
  status BOOLEAN;
BEGIN
  ed_id := Find_Editor('Happy_Edit_Window');

  IF NOT Id_Null(ed_id) THEN
    Show_Editor(ed_id, NULL, :emp.comments, status);
  ELSE
    Message('Editor "Happy_Edit_Window" not found');
    RAISE Form_Trigger_Failure;
  END IF;
END;


FIND_FORMビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

フォーム・リストを検索し、所要の名前を持つ有効フォームが見つかると、フォーム・モジュールIDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数をMORMMODULE型で定義します。

構文:

FUNCTION FIND_FORM
  (formmodule_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  FormModule

問合せ入力モード 可

パラメータ

formmodule_name	有効なVARCHAR2フォーム名を指定します。


FIND_FORMの例

/*

** Built-in:FIND_FORM
** Example:Find a form's Id before inquiring about several
**            of its properties
*/
DECLARE
  fm_id  FormModule;
  tmpstr VARCHAR2(80);
BEGIN
  fm_id := Find_Form(:System.Current_Form);
  tmpstr := Get_Form_Property(fm_id,CURSOR_MODE);
  tmpstr := tmpstr||','||Get_Form_Property(fm_id,SAVEPOINT_MODE);
  Message('Form is configured as:'||tmpstr);
END;


FIND_GROUPビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

レコード・グループ・リストを検索し、所要の名前を持つ有効グループが見つかると、レコード・グループIDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数をRECORDGROUPのタイプで定義します。

構文:

FUNCTION FIND_GROUP
  (recordgroup_name VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り RECORDGROUP

問合せ入力モード 可

パラメータ

recordgroup_name	有効なVARCHAR2レコード・グループ名を指定します。


FIND_GROUPの制限事項

このファンクションのパフォーマンスは、レコード・グループの数によって異なります。


FIND_GROUPの例

/*

** Built-in:FIND_GROUP
** Example:See CREATE_GROUP and DELETE_GROUP_ROW
*/


FIND_ITEMビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

所定のブロック内で項目リストを検索し、所要の名前を持つ有効な項目が見つかると、項目IDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数をITEM型で定義します。

構文:

FUNCTION FIND_ITEM
  (block.item_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値 item

問合せ入力モード 可

パラメータ

block_name. item_name	完全修飾項目名を指定します。その名前のデータ型はVARCHAR2です。


FIND_ITEMの例

/*

** Built-in:FIND_ITEM
** Example:Find an item's Id before setting several
**            of its properties.
*/
PROCEDURE Hide_an_Item( item_name VARCHAR2, hide_it BOOLEAN) IS
  it_id   Item;
BEGIN
  it_id := Find_Item(item_name);
  IF Id_Null(it_id) THEN
    Message('No such item:'||item_name);
    RAISE Form_Trigger_Failure;
  ELSE
    IF hide_it THEN
      Set_Item_Property(it_id,VISIBLE,PROPERTY_FALSE);
    ELSE
      Set_Item_Property(it_id,VISIBLE,PROPERTY_TRUE);
      Set_Item_Property(it_id,ENABLED,PROPERTY_TRUE);
      Set_Item_Property(it_id,NAVIGABLE,PROPERTY_TRUE);
    END IF;
  END IF;
END;


FIND_LOVビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

値リストを検索し、所要の名前を持つ有効な値リストが見つかると、値リスト IDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数を値リスト型で定義します。

構文:

FUNCTION FIND_LOV  (LOV_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  値リスト

問合せ入力モード 可

パラメータ

LOV_name	VARCHAR2型の値リストの有効な名前を指定します。


FIND_LOVの例

/*

** Built-in:FIND_LOV
** Example:Determine if an LOV exists before showing it.
*/
DECLARE
  lv_id  LOV;
  status BOOLEAN;
BEGIN
  lv_id := Find_LOV('My_Shared_LOV');
  /*
  ** If the 'My_Shared_LOV' is not part of the current form,
  ** then use the 'My_Private_LOV' instead.
  */
  IF Id_Null(lv_id) THEN
    lv_id := Find_LOV('My_Private_LOV');
  END IF;
  status := Show_LOV(lv_id,10,20);
END;


FIND_MENU_ITEMビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

メニュー項目リストを検索し、所要の名前を持つ有効なメニュー項目が見つかると、メニュー項目IDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数をMENUITEM型で定義します。

構文:

FUNCTION FIND_MENU_ITEM
  (menu_name.menu_item_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  MenuItem

問合せ入力モード 可

パラメータ

menu_name. menu_item_name	有効なVARCHAR2型の完全修飾メニュー項目名を指定します。


FIND_MENU_ITEMの例

/*

** Built-in:FIND_MENU_ITEM
** Example:Find the id of a menu item before setting
**            multiple properties
*/
PROCEDURE Toggle_AutoCommit_Mode IS
  mi_id MenuItem;
  val   VARCHAR2(10);
BEGIN
  mi_id := Find_Menu_Item('Preferences.AutoCommit');
  /*
  ** Determine the current checked state of the AutoCommit
  ** menu checkbox item
  */
  val := Get_Menu_Item_Property(mi_id,CHECKED);
  /*
  ** Toggle the checked state
  */
  IF val = 'TRUE' THEN
    Set_Menu_Item_Property(mi_id,CHECKED,PROPERTY_FALSE);
  ELSE
    Set_Menu_Item_Property(mi_id,CHECKED,PROPERTY_TRUE);
  END IF;
END;


FIND_OLE_VERB

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

OLE動詞索引を返します。OLEオブジェクト上で実行可能なアクションをOLE動詞で指定すると、OLE動詞のそれぞれに対応するOLE動詞索引が付加されます。OLE動詞索引はVARCHAR2文字列として返されるので、FORMS_OLE.EXE_VERBに使用するときは、NUMBERに変換する必要があります。適切な型を持つ変数を定義して戻り値を受け取ります。

構文:

FUNCTION FIND_OLE_VERB
  (item_id    Item,
   verb_name  VARCHAR2);

FUNCTION FIND_OLE_VERB
  (item_name  VARCHAR2,
   verb_name  VARCHAR2);

戻し値  VARCHAR2

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 不可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

verb_name	OLE動詞名を指定します。OLEオブジェクト上で実行可能なアクションをOLE動詞で指定します。Forms_OLE.Get_Verb_Nameビルトインを使用して、この値を取得します。その名前のデータ型は、VARCHAR2文字列です。


FIND_OLE_VERBの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


FIND_OLE_VERBの例

/*

** Built-in:EXEC_VERB
** Example:Finds an OLE verb index for use with the
**           Forms_OLE.Exec_Verb built-in.
** Trigger:When-Button-Pressed
*/
DECLARE
 item_id  ITEM;
 item_name VARCHAR(25) := 'OLEITM';
 verb_index_str VARCHAR(20);
 verb_index NUMBER;
BEGIN
 item_id := Find_Item(item_name);
 IF Id_Null(item_id) THEN
  message('No such item:'||item_name);
 ELSE
  verb_index_str := Forms_OLE.Find_OLE_Verb(item_id,'Edit');
  verb_index := TO_NUMBER(verb_index_str);
  Forms_OLE.Exec_Verb(item_id,verb_index);
 END IF;
END;


FIND_RELATIONビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

リレーション・リストを検索し、所要の名前を持つ有効なリレーションが見つかると、リレーションIDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数をRELATION型で定義します。

構文:

FUNCTION FIND_RELATION
  (relation_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値 relation

問合せ入力モード 可

パラメータ

relation_name	有効なVARCHAR2型のリレーション名を指定します。


FIND_RELATIONの例

/*

** Built-in:FIND_RELATION
** Example:Find the id of a relation before inquiring about
**            multiple properties
*/
FUNCTION Detail_of( Relation_Name VARCHAR2 )
RETURN VARCHAR2 IS
  rl_id Relation;
BEGIN
  rl_id := Find_Relation( Relation_Name );

  /*
  ** Signal error if relation does not exist
  */
  IF Id_Null(rl_id) THEN
    Message('Relation '||Relation_Name||' does not exist.');
    RAISE Form_Trigger_Failure;
  ELSE
    RETURN Get_Relation_Property(rl_id,DETAIL_NAME);
  END IF;
END;


FIND_REPORT_OBJECTビルトイン

 例  [image] すべてのビルトイン

説明

指定されたレポートのreport_idを返します。このIDを、RUN_REPORT_OBJECTなど、他のビルトインのパラメータとして使用できます。

構文:

FUNCTION FIND_REPORT_OBJECT
  (report_name VARCHAR2
);

ビルトイン・タイプ   制限なしプロシージャ

戻り値	   データ型REPORTのreport_id。

問合せ入力モード 可

パラメータ

report_name	検索するレポートの一意名を指定します。


FIND_REPORT_OBJECTの例

DECLARE

repid REPORT_OBJECT;

v_rep  VARCHAR2(100);

BEGIN

repid := find_report_object('report4');

v_rep := RUN_REPORT_OBJECT(repid);

....

END;


FIND_TAB_PAGEビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

所定のタブ・キャンバス内でタブ・ページのリストを検索し、所要の名前を持つ有効なタブ・ページが見つかると、タブ・ページIDを返します。戻り値を受け取るには、データ型TAB_PAGEの変数を定義する必要があります。

構文:

FUNCTION FIND_TAB_PAGE
  (tab_page_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  tab_page

問合せ入力モード 可

パラメータ

tab_page_name	一意のタブ・ページ名。データ型はVARCHAR2です。（注意:複数のタブ・キャンバスが同じ識別名のタブ・ページを持っている場合、タブ・ページの完全修飾名、すなわちMY_TAB_CVS.TAB_PAGE_1、を指定する必要があります。


FIND_TAB_PAGEの例

/* Use FIND_TAB_PAGE to find the ID of the top-most tab

** page on tab canvas TAB_PAGE_1, then use the ID to set
** properties of the tab page:
*/
DECLARE
  tp_nm   VARCHAR2(30);
  tp_id   TAB_PAGE;

BEGIN
  tp_nm := GET_CANVAS_PROPERTY('tab_page_1', topmost_tab_page);
  tp_id := FIND_TAB_PAGE(tp_nm);
  SET_TAB_PAGE_PROPERTY(tp_id, visible, property_true);
  SET_TAB_PAGE_PROPERTY(tp_id, label, 'Order Info');
END;


FIND_TIMERビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

タイマー・リストを検索し、所要の名前を持つ有効タイマーを見つけると、タイマーIDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数をタイマー型で定義します。

構文:

FUNCTION FIND_TIMER
  (timer_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り timer

問合せ入力モード 可

パラメータ

timer_name	有効なVARCHAR2型のタイマー名を指定します。


FIND_TIMERの例

/*

** Built-in:FIND_TIMER
** Example:If the timer exists, reset it.Otherwise create
**            it.
*/
PROCEDURE Reset_Timer_Interval( Timer_Name VARCHAR2,
                          Timer_Intv NUMBER ) IS
  tm_id       Timer;
  tm_interval NUMBER;
BEGIN
  /*
  ** User gives the interval in seconds, the timer subprograms
  ** expect milliseconds
  */
  tm_interval := 1000 * Timer_Intv;
  /* Lookup the timer by name */
  tm_id := Find_Timer(Timer_Name);
  /* If timer does not exist, create it */
  IF Id_Null(tm_id) THEN
    tm_id := Create_Timer(Timer_Name,tm_interval,NO_REPEAT);
  /*
  ** Otherwise, just restart the timer with the new interval
  */
  ELSE
    Set_Timer(tm_id,tm_interval,NO_REPEAT);
  END IF;
END;


FIND_TREE_NODEビルトイン

 例   [image] すべてのビルトイン

説明

ラベルまたは値が検索文字列と一致する、ツリー内の次のノードを検索します。

構文:

FUNCTION FIND_TREE_NODE

(item_name VARCHAR2,

search_string VARCHAR2,

search_type NUMBER,

search_by NUMBER,

search_root NODE,

start_point NODE);

FUNCTION FIND_TREE_NODE

(item_id ITEM,

search_string VARCHAR2,

search_type NUMBER,

search_by NUMBER,

search_root NODE,

start_point NODE);

ビルトイン・タイプ  制限なしファンクション

戻り値  NODE

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
search_string	VARCHAR2検索文字列を指定します。
search_type	NUMBER検索型を指定します。指定できる値は次のとおりです。 FIND_NEXT FIND_NEXT_CHILD  search_rootノードの子のみを検索します。
search_by	検索条件となるNUMBERを指定します。指定できる値は次のとおりです。 NODE_LABEL NODE_VALUE
search_root	検索ツリーのルートを指定します。
start_point	NODE検索の開始点を指定します。


FIND_TREE_NODEの例

/*

** Built-in:FIND_TREE_NODE
*/

-- This code finds a node with a label of "Doran"

-- within the subtree beginning with the a node

-- with a label of "Zetie".

DECLARE

   htree         ITEM;

   find_node     Ftree.NODE;

BEGIN

   -- Find the tree itself.

   htree := Find_Item('tree_block.htree3');

   -- Find the node with a label "Zetie".

   find_node := Ftree.Find_Tree_Node(htree, 'Zetie', Ftree.FIND_NEXT,

                 Ftree.NODE_LABEL, Ftree.ROOT_NODE, Ftree.ROOT_NODE);

   -- Find the node with a label "Doran"

   -- starting at the first occurance of "Zetie".

   find_node := Ftree.Find_Tree_Node(htree, 'Doran', Ftree.FIND_NEXT,

                Ftree.NODE_LABEL, find_node, find_node);

   IF NOT Ftree.ID_NULL(find_node) then

      ...

   END IF;

END;


FIND_VAビルトイン

 すべてのビルトイン

説明

任意のブロック内にある項目の可視属性を検索し、その属性の値をテキスト文字列として返します。

構文:

FUNCTION FIND_VA

  (va_name PROPERTY);

ビルトイン・タイプ  制限なしファンクション

戻り値  可視属性

問合せ入力モード 可

パラメータ

va_name	可視属性の作成時に付けた名前。データ型はVARCHAR2です。


FIND_VIEWビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

キャンバス・リストを検索し、所要の名前を持つ有効なキャンバスを見つけると、ビューIDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数をVIEWPORT型で定義します。

構文:

FUNCTION FIND_VIEW
  (viewcanvas_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  ViewPort

問合せ入力モード 可

パラメータ

viewcanvas_name	VARCHAR2文字列でキャンバス名を指定します。


FIND_VIEWの例

/*

** Built-in:FIND_VIEW
** Example:Change the visual attribute and display position
**           of a stacked view before making it visible to
**           the user.
*/
DECLARE
  vw_id ViewPort;
BEGIN
  vw_id := Find_View('Sales_Summary');
  Set_Canvas_Property('Sales_Summary', VISUAL_ATTRIBUTE,
              'Salmon_On_Yellow');
  Set_View_Property(vw_id, VIEWPORT_X_POS, 30);
  Set_View_Property(vw_id, VIEWPORT_Y_POS, 5);
  Set_View_Property(vw_id, VISIBLE, PROPERTY_TRUE);
END;


FIND_WINDOWビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

ウィンドウ・リストを検索し、所要の名前を持つ有効ウィンドウを見つけると、ウィンドウIDを返します。適切な型を持つ変数を定義して戻り値を受け取ります。変数をWINDOW型で定義します。

構文:

FUNCTION FIND_WINDOW
  (window_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  WINDOW

問合せ入力モード 可

パラメータ

window_name	VARCHAR2文字列の有効なウィンドウ名を指定します。


FIND_WINDOWの例

/*

** Built-in:FIND_WINDOW
** Example:Anchor the upper left corner of window2 at the
**            bottom right corner of window1.
*/
PROCEDURE Anchor_Bottom_Right( Window2 VARCHAR2, Window1
VARCHAR2) IS
  wn_id1 Window;
  wn_id2 Window;
  x      NUMBER;
  y      NUMBER;
  w      NUMBER;
  h      NUMBER;
BEGIN
  /*   ** Find Window1 and get its (x,y) position, width,
       ** and height.
  */
  wn_id1 := Find_Window(Window1);
  x      := Get_Window_Property(wn_id1,X_POS);
  y      := Get_Window_Property(wn_id1,Y_POS);
  w      := Get_Window_Property(wn_id1,WIDTH);
  h      := Get_Window_Property(wn_id1,HEIGHT);
  /*
  ** Anchor Window2 at (x+w,y+h)
  */
  wn_id2 := Find_Window(Window2);
  Set_Window_Property(wn_id2,X_POS, x+w );
  Set_Window_Property(wn_id2,Y_POS, y+h );
END;


FIRST_RECORDビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

ブロック内のレコード・リストの最初のレコードへナビゲートします。

構文:

PROCEDURE FIRST_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


FIRST_RECORDの例

/*

** Built-in:FIRST_RECORD
** Example:Have a button toggle between the first and last
**            records in a block.
** Trigger:When-Button-Pressed
*/
BEGIN
  /*
  ** If we're not at the bottom, then go to the last record
  */
  IF :System.Last_Record <> 'TRUE' THEN
    Last_Record;
  ELSE
    First_Record;
  END IF;
END;


FORM_FAILUREビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

現行のランフォーム・セッションにおいて、最後に実行したアクションの結果を示す値を返します。

結果	戻り値
成功	FALSE
失敗	TRUE
致命的エラー	FALSE

現行のランフォーム・セッション中に、アクションを実行しなかった場合には、FORM_FAILUREを使用して、FALSEを返します。

FORM_FAILUREを使用して、ビルトイン結果をテストし、トリガーで処理を続行するかどうかを判断します。正確なテスト結果を得るには、正確なテスト結果を得るには、アクションの実行直後にテストを行う必要があります。つまり、テスト前にもう1つのアクションが発生するといけないからです。

注意: "もう一つのアクション"は、ビルトインおよびPL/SQL割当て文を含みます。もう1つのアクションが発生すると、FORM_FAILUREはテスト中のビルトイン・ステータスではなく、それより後で実行した別のアクションのステータスを示すことがあります。もっと正確なテクニックは、たとえば、COMMIT_FORMを実行するときに、動作終了後、SYSTEM.FORM_STATUS変数が'QUERY'に設定されるようにすることです。

構文:

FUNCTION FORM_FAILURE;

ビルトイン・タイプ  制限なしファンクション

戻り値 BOOLEAN

問合せ入力モード 可

パラメータ

なし


FORM_FAILUREの例

/*

** Built-in:FORM_FAILURE
** Example:Determine if the most recently executed built-in
**            failed.
*/
BEGIN
  GO_BLOCK('Success_Factor');
  /*
  ** If some validation failed and prevented us from leaving
  ** the current block, then stop executing this trigger.
  **
  ** Generally it is recommended to test
  **     IF NOT Form_Success THEN ...
  ** Rather than explicitly testing for FORM_FAILURE
  */
  IF Form_Failure THEN
    RAISE Form_Trigger_Failure;
  END IF;
END;


FORM_FATALビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

現行のランフォーム・セッションにおいて、最後に実行したアクションの結果を返します。

結果	戻り値
成功	FALSE
失敗	FALSE
致命的エラー	TRUE

FORM_FATALを使用して、ビルトイン結果をテストし、トリガーで処理を続行するかどうかを判断します。正確なテスト結果を得るには、正確なテスト結果を得るには、アクションの実行直後にテストを行う必要があります。つまり、テスト前にもう1つのアクションが発生するといけないからです。

注意: "もう一つのアクション"は、ビルトインおよびPL/SQL割当て文を含みます。もう1つのアクションが発生すると、FORM_FATALはテスト中のビルトイン・ステータスではなく、それより後で実行した別のアクションのステータスを示すことがあります。もっと正確なテクニックは、たとえば、COMMIT_FORMを実行するときに、動作終了後、SYSTEM.FORM_STATUS変数が'QUERY'に設定されるようにすることです。

構文:

FUNCTION FORM_FATAL;

ビルトイン・タイプ  制限なしファンクション

戻り値の型:

BOOLEAN

問合せ入力モード 可

パラメータ

なし


FORM_FATALの例

/*

** Built-in:FORM_FATAL
** Example:Check whether the most-recently executed built-in
**            had a fatal error.
*/
BEGIN
  User_Exit('Calculate_Line_Integral control.start control.stop');
  /*
  ** If the user exit code returned a fatal error, print a
  ** message and stop executing this trigger.
  **
  ** Generally it is recommended to test   **
  **     IF NOT FORM_SUCCESS THEN ...**
  ** Rather than explicitly testing for FORM_FATAL
  */

  IF Form_Fatal THEN
    Message('Cannot calculate the Line Integral due to internal
             error.');
    RAISE Form_Trigger_Failure;
  END IF;
END;


FORM_SUCCESSビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

現行のランフォーム・セッションにおいて、最後に実行したアクションの結果を返します。

結果	戻り値
成功	TRUE
失敗	FALSE
致命的エラー	FALSE
構文:

FUNCTION FORM_SUCCESS;

ビルトイン・タイプ  制限なしファンクション

戻り値の型:

BOOLEAN

問合せ入力モード 可

パラメータ

なし

使用上の注意

•	FORM_SUCCESSを使用して、ビルトイン結果をテストし、トリガーで処理を続行するかどうかを判断します。正確なテスト結果を得るには、正確なテスト結果を得るには、アクションの実行直後にテストを行う必要があります。つまり、テスト前にもう1つのアクションが発生するといけないからです。"もう一つのアクション"は、ビルトインおよびPL/SQL割当て文を含みます。もう1つのアクションが発生すると、FORM_SUCCESSはテスト中のビルトイン・ステータスではなく、それより後で実行した別のアクションのステータスを示すことがあります。

•	COMMIT_FORMまたはPOSTビルトインが成功したかどうかをテストするときは、FORM_SUCCESSを使用しないでください。COMMIT_FORMによってそれ以外の多数のトリガーが起動される可能性があるため、FORM_SUCCESSを評価するときには、COMMIT_FORMの状態が反映されず、それ以外のより最近に実行されたビルトインの状態が反映されることがあります。より正確な技法としては、操作の完了後にSYSTEM.FORM_STATUS変数が「QUERY」に設定されているかをチェックする方法があります。

•	Microsoft Windows NTでは、HOSTビルトインを使用して16ビット・アプリケーションを実行するときに、FORM_SUCCESSビルトインは、そのアプリケーションが正常に実行されても失敗してもTRUEを戻します。これは、Microsoft Win32の問題です。32ビット・アプリケーションおよびOSコマンドは、正常に実行されるとTRUEを正しく戻し、失敗するとFALSEを戻します。無効なコマンドは、FALSEを戻します。

•	Windows 95プラットフォーム上では、FORM_SUCCESSビルトインは失敗したHOSTコマンドに対して常にTRUEを戻します。この中には、command.comまたはOSファックションに対するコール、任意の16ビットDOSアプリケーション、GUIアプリケーションまたは無効なコマンドが含まれます。FORM_SUCCESSは、32ビット・アプリケーションが正常に実行されるとTRUEを戻し、失敗するとFALSEを戻します。


FORM_SUCCESSの例

/*

** Built-in:FORM_SUCCESS
** Example:Check whether the most-recently executed built-in
**            succeeded.
*/
BEGIN
  /*
  ** Force validation to occur
  */
  Enter;
  /*
  ** If the validation succeeded, then Commit the data.
  **

  */
  IF Form_Success THEN
    Commit;
    IF :System.Form_Status <> 'QUERY' THEN
      Message('Error prevented Commit');
      RAISE Form_Trigger_Failure;
    END IF;
  END IF;
END;


FORMS_DDLビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

実行時にサーバ側のPL/SQLおよびデータ定義言語（DDL）など、動的SQL文を発行します。

注意: データ定義言語を操作すると、必ず暗黙のCOMMITが発行され、Form Builderが保留中の変更を処理しないうちに現行のトランザクションを終了してしまいます。

構文:

FUNCTION FORMS_DDL
  (statement  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 可

パラメータ

statement	32K以内で、次の任意の文字列式を指定します。

•	リテラル

•	動的に作成したPL/SQLコード・ブロックのテキストを表す式や変数

•	データ操作言語（DML）文または

•	データ定義言語文

使用上の注意


GENERATE_SEQUENCE_NUMBERビルトイン

 例	   制限事項	 すべてのビルトイン

説明

レコード作成時に、重複しない順序番号を生成するForm Builderのデフォルトの処理を起動します。データベース内に順序オブジェクトが定義されている場合は、「Initial Value」プロパティをSEQUENCE.my_seq.NEXTVALにすれば、順序オブジェクトを項目の初期値として参照することができます。デフォルトでは、レコードが作成されると、Form Builderによって順序の次の値が取得されます。Oracle以外のデータ・ソースに接続している場合は、On-Sequence-Numberトリガーにこのビルトインへのコールを含めることができます。

構文:

PROCEDURE GENERATE_SEQUENCE_NUMBER;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


GENERATE_SEQUENCE_NUMBERの制限事項

On-Sequence-Number内でのみ有効です。


GENERATE_SEQUENCE_NUMBERの例

/*

** Built-in:GENERATE_SEQUENCE_NUMBER
** Example:Perform Form Builder standard sequence number
**            processing based on a global flag setup at
**            startup by the form, perhaps based on a
**            parameter.
** Trigger:On-Sequence-Number
*/
BEGIN
  /*
  ** Check the global flag we setup at form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    User_Exit('my_seqnum seq=EMPNO_SEQ');
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Generate_Sequence_Number;
  END IF;
END;


GET_APPLICATION_PROPERTYビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

現行のForm Builderアプリケーションに関する情報を返します。このビルトインは、取り出す値ごとコールする必要があります。

構文:

FUNCTION GET_APPLICATION_PROPERTY
  (property  NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

property	アプリケーションに関する情報を返す次の定数をどれか1つ指定します。

APPLICATION_INSTANCE  インスタンス・ハンドルのポインタ値が返されます。Microsoft Windowsプラットフォームにのみ適用されます。他のプラットフォームでは、NULLが返されます。

BUILTIN_DATE_FORMAT   Builtin日付書式マスク（Builtin_Date_Formatプロパティに保持されている）の現行値が返されます。

CALLING_FORM  現行フォームがCALL_FORMビルトインによって起動されている場合、コール側フォームの名前が返されます。現行フォームがコール先フォームでない場合、Form BuilderはNULLを返します。

CONNECT_STRING  現行のオペレータのデータベース接続文字列が返されます。現行のオペレータが接続文字列を指定していない場合は、NULLが返されます。

CURRENT_FORM  現在実行しているフォームの.FMXファイル名が返されます。

CURRENT_FORM_NAME  フォーム・モジュールの「名前」プロパティに示される現行フォームの名前が返されます。

CURSOR_STYLE  現行のカーソル・スタイル・プロパティの名前が返されます。データ型VARCHAR2の有効な戻り値は、BUSY、CROSSHAIR、DEFAULT、HELPおよびINSERTIONです。

DATASOURCE  現在使用しているデータベースの名前が返されます。有効な戻り値は、NULL、ORACLE、DB2、NONSTOP、TERADATA、NCR/3600/NCR/3700およびSQLSERVERです。このコールでは、On-Logonトリガーによって確立された接続を除き、Form Builderによって確立された接続のデータベース名のみが返されます。

DATE_FORMAT_COMPATIBILITY_MODE  このプロパティに含まれる互換性設定が返されます。

DISPLAY_HEIGHT  画面の高さが返されます。高さの単位は、そのフォーム・モジュールに対して「座標システム」プロパティをどのように定義したかによって異なります。

DISPLAY_WIDTH  画面の幅が返されます。高さの単位は、そのフォーム・モジュールに対して「座標システム」プロパティをどのように定義したかによって異なります。

ERROR_DATE/DATETIME_FORMAT エラー日付または日時書式マスク（FORMSnn_Error_Date/Datetime_Format環境変数で設定される）の現行値が返されます。

FLAG_USER_VALUE_TOO_LONG  このプロパティの現行値(｢TRUE｣または｢FALSE｣)が返されます。この値によって、｢最大長｣プロパティを超えるユーザー入力値の切捨てが制御されます。

OPERATING_SYSTEM  現在使用しているオペレーティング・システムの名前が返されます。有効な戻り値は、MSWINDOWS、MSWINDOWS32、WIN32COMMON、UNIX、SunOS、MACINTOSH、VMSおよびHP-UXです。

OUTPUT_DATE/DATETIME_FORMAT出力日付または日時書式マスク（FORMSnn_Output_Date/Datetime_Format環境変数で設定される）の現行値が返されます。

PASSWORD  現行オペレータのパスワードが返されます。

PLSQL_DATE_FORMAT  PLSQL日付書式マスク（PLSQL_Date_Formatプロパティに保持されている）の現行値が返されます。

RUNTIME_COMPATIBILITY_MODE  このプロパティに含まれる互換性設定が返されます。

SAVEPOINT_NAME  Form Builderから発行された最後のセーブポイントの名前が返されます。この定数は、On-SavepointトリガーまたはOn-Rollbackトリガーからコールした場合にのみ有効です。これは本来、トランザクション・トリガーを使用してOracle以外のデータ・ソースにアクセスする開発者向けに用意された定数です。

TIMER_NAME  最新の期限切れタイマーの名前が返されます。タイマーがない場合は、NULLが返されます。

USER_DATE/DATETIME_FORMAT  ユーザー日付または日時書式マスク（FORMSnn_User_Date/Datetime_Format環境変数で設定される）の現行値が返されます。

USER_INTERFACE  現在使用しているユーザー・インタフェースの名前が返されます。有効な戻り値は、MOTIF、MACINTOSH、MSWINDOWS、MSWINDOWS32、WIN32COMMON、WEB、PM、CHARMODE、BLOCKMODE、XおよびUNKNOWNです。

USER_NLS_CHARACTER_SET  フォーム・オペレータ用に定義されたUSER_NLS_LANG環境変数のうち、文字セットに関する部分の現行の値のみが返されます。USER_NLS_LANGが明示的に設定されない場合は、デフォルトでNLS_LANGが設定されます。

USER_NLS_LANG  各国語サポートの目的でフォーム・オペレータ用に定義されたUSER_NLS_LANG環境変数の現行の値が、現在の設定値で返されます。USER_NLS_LANGが明示的に設定されない場合、NLS_LANGにデフォルト設定されます。USER_NLS_LANGは、USER_NLS_LANGUAGE、USER_NLS_TERRITORYおよびUSER_NLS_CHARACTER_SETを連結したものと同じです。

USER_NLS_LANGUAGE  フォーム・オペレータ用に定義されたUSER_NLS_LANG環境変数のうち、言語に関する部分の現行の値のみが返されます。USER_NLS_LANGが明示的に設定されない場合は、デフォルトでNLS_LANGが設定されます。

USER_NLS_TERRITORY  フォーム・オペレータ用に定義されたUSER_NLS_LANG環境変数のうち、地域に関する部分の現行の値のみが返されます。USER_NLS_LANGが明示的に設定されない場合は、デフォルトでNLS_LANGが設定されます。

USERNAME  現行オペレータの名前が返されます。注意: ユーザーがOPS$アカウントを使用して接続する場合、GET_APPLICATION_PROPERTY(USERNAME)は実際のユーザー名を返しません。この場合、GET_APPLICATION_PROPERTY(CONNECT_STRING)を使用して、ユーザー名情報を取り出す必要があります。

使用上の注意

接続文字列の追加も含めた完全なログインを要求するには、「Username」プロパティ、「Password」プロパティおよび「Connect_String」プロパティを指定します。たとえば、ユーザーが次のような接続文字列を指定して、Microsoft Windowsのランフォーム・セッションを起動した場合、次のようになります。

ifrun60 my_form scott/tiger@corpDB1

GET_APPLICATION_PROPERTY(USERNAME)をコールすると、Form Builderによって次の文字列が返されます。

scott

GET_APPLICATION_PROPERTY(PASSWORD)をコールすると、Form Builderによって次の文字列が返されます。

tiger

GET_APPLICATION_PROPERTY(CONNECT_STRING)をコールすると、Form Builderによって次の文字列が返されます。

corpDB1


GET_APPLICATION_PROPERTYの制限事項

最近実行されたタイマーのタイマー名を取り出すには、When-Timer-Expiredトリガー内からGET_APPLICATION_PROPERTYへのコールを起動する必要があります。それ以外の場合、ビルトインの結果は未定義です。


GET_APPLICATION_PROPERTYの例

例1

/*

** Built-in:GET_APPLICATION_PROPERTY
** Example:Determine the name of the timer that just
**            expired, and based on the username perform a
**            task.
** Trigger:When-Timer-Expired
*/
DECLARE
  tm_name  VARCHAR2(40);
BEGIN
  tm_name  := Get_Application_Property(TIMER_NAME);

  IF tm_name = 'MY_ONCE_EVERY_FIVE_MINUTES_TIMER' THEN

  :control.onscreen_clock := SYSDATE;

  ELSIF tm_name = 'MY_ONCE_PER_HOUR_TIMER' THEN

    Go_Block('connected_users');
    Execute_Query;

  END IF;
END;

例2

/*

** Built-in:GET_APPLICATION_PROPERTY
** Example:Capture the username and password of the
**            currently logged-on user, for use in calling
**            another Tool.
*/
PROCEDURE Get_Connect_Info( the_username IN OUT VARCHAR2,
              the_password IN OUT VARCHAR2,
              the_connect  IN OUT VARCHAR2) IS
BEGIN
  the_username := Get_Application_Property(USERNAME);
  the_password := Get_Application_Property(PASSWORD);
  the_connect  := Get_Application_Property(CONNECT_STRING);
END;


GET_BLOCK_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

特定のブロックに関する情報を返します。取り出すプロパティの値ごとに、このビルトインをコールする必要があります。

構文:

FUNCTION GET_BLOCK_PROPERTY
  (block_id  Block,
   property  NUMBER);

FUNCTION GET_BLOCK_PROPERTY
  (block_name  VARCHAR2,
   property    NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

block_id	ブロック作成時にForm Builderによってそのブロックに割り当てられた一意のID。データ型はBLOCKです。

block_name	ブロック作成時にユーザーがそのブロックに付けた名前。データ型はVARCHAR2です。

property	指定したブロックに関する情報を返す次の定数をどれか1つ指定します。

ALL_RECORDS  問合せ基準に一致するすべてのレコードを、問合せの実行時にデータ・ブロック内にフェッチするかどうかを指定します。

BLOCKSCROLLBAR_X_POS  ブロックのスクロール・バーのx位置を、「座標システム」フォーム・プロパティによって示されるフォーム座標単位で指定された数として返します。

BLOCKSCROLLBAR_Y_POS  ブロックのスクロール・バーのy位置を、「座標システム」フォーム・プロパティによって示されるフォーム座標単位で指定された数として返します。

COLUMN_SECURITY  「列セキュリティの強化」が「はい」に設定されていればVARCHAR2値TRUEが返され、「列セキュリティの強化」 が「いいえ」に設定されていればVARCHAR2文字列FALSEが返されます。

COORDINATION_STATUS  マスター/ディテールのブロック・リレーションでディテール・ブロックにあたるブロックの場合、このプロパティでは、このブロックのマスター・ブロックに対する調整ステータスが指定されます。そのブロックがすべてのマスター・ブロックと調整されていれば、VARCHAR2値COORDINATEDが返されます。すべてのマスター・ブロックと調整されていなければ、VARCHAR2値NON_COORDINATEDが返されます。ディテール・ブロックのステータスは、レコードがディテール・ブロックにフェッチされた直後に COORDINATEDになります。また、別のレコードがマスター・ブロックの現レコードになると、ディテール・ブロックのステータスが「NON_COORDINATED」に戻ります。

CURRENT_RECORD  現レコードの番号が返されます。

CURRENT_RECORD_ATTRIBUTE  指定したブロックのユーザー命名可視属性の名前がVARCHAR2型で返されます。

CURRENT_ROW_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

CURRENT_ROW_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

CURRENT_ROW_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

CURRENT_ROW_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

CURRENT_ROW_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

CURRENT_ROW_FONT_STYLE  フォントのスタイル。

CURRENT_ROW_FONT_WEIGHT  フォントの太さ。

CURRENT_ROW_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

CURRENT_ROW_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

DEFAULT_WHERE ブロックの「WHERE句」プロパティの現在の設定を示す、ブロックに対するWHERE句が返されます。

DELETE_ALLOWED  ブロックの「削除可」プロパティが「はい」であればVARCHAR2値TRUEが返され、「いいえ」であればFALSEが返されます。このプロパティによって、オペレータまたはアプリケーションがブロックのレコードを削除できるかどうかが決定されます。

DML_DATA_TARGET_NAME  ブロックのDMLデータ・ソースの名前がVARCHAR2型で返されます。

DML_DATA_TARGET_TYPE  「DMLデータ宛先タイプ」プロパティの現在の設定を示すVARCHAR2値が返されます。このプロパティの戻り値は、NONE、TABLE、STORED PROCEDUREまたはTRANSACTIONAL TRIGGERです。

ENFORCE_PRIMARY_KEY  「主キーの強化」プロパティが「はい」に設定されていれば、VARCHAR2値TRUEが返されます。「主キーの強化」プロパティが「いいえ」に設定されていれば、VARCHAR2値FALSEを返します。

ENTERABLE   ブロックが入力可能である場合、つまり、ブロック内のいずれかの項目の「変更可能」プロパティと「キーボードで移動可能」プロパティが 「はい」に設定されていれば、VARCHAR2値TRUEが返されます。ブロックが入力可能でなければ、VARCHAR2値FALSEを返します。

FIRST_DETAIL_RELATION  指定したブロックがディテールである最初のリレーションの名前がVARCHAR2型で返されます。そのようなリレーションが存在しなければ、NULLが返されます。

FIRST_ITEM  指定したブロックの最初の項目の名前がVARCHAR2型で返されます。

FIRST_MASTER_RELATION  指定したブロックがマスターである最初のリレーションの名前がVARCHAR2型で返されます。そのようなリレーションが存在しなければ、NULLが返されます。

INSERT_ALLOWED  ブロックの「挿入可」プロパティが「はい」であれば、VARCHAR2値TRUEが返され、「いいえ」であればFALSEが返されます。このプロパティによって、オペレータまたはアプリケーションがブロックにレコードを挿入できるかどうかが決定されます。

KEY MODEブロックの「キー・モード」プロパティの現在の設定を示すVARCHAR2値が返されます。このプロパティの戻り値は、UNIQUE_KEY、UPDATEABLE_PRIMARY_KEYまたはNON_UPDATEABLE_PRIMARY_KEYです。

LAST_ITEM  指定したブロックの最後の項目の名前が返されます。

LAST_QUERY  指定したブロックの最後の問合せのSQL文が返されます。

LOCKING_MODE  実表項目の変更時、行が直ちにロックされる場合は、VARCHAR2値IMMEDIATEが返され、行がコミットの直前にロックされる場合は、VARCHAR2値DELAYEDが返されます。

MAX_QUERY_TIME 「最長問合せ時間」プロパティの現在の設定を示すVARCHAR2値が返されます。このプロパティによって、問合せの経過時間がこのプロパティの値を超えた場合に、オペレータが問合せを中止できるかどうかが決定されます。

MAX_RECORDS_FETCHED  フェッチできるレコードの最大数を示す数値が返されます。このプロパティは、「全レコード問合せ」プロパティが「はい」に設定されている場合にのみ有効です。

NAVIGATION_STYLE  「ナビゲーション形式」ブロック・プロパティの現在の設定を示す、SAME_RECORD、CHANGE_RECORD、またはCHANGE_BLOCKのいずれかのVARCHAR2値が返されます。

NEXTBLOCK  次のブロックの名前が返されます。指定されたブロックがフォームの最後のブロックの場合は、NULLが返されます。「次のナビゲーション・データ・ブロック」ブロック・プロパティに設定しても、NEXBLOCKの値に影響しないことに注意してください。

NEXT_NAVIGATION_BLOCK  ブロックの次のナビゲーションブロックの名前がVARCHAR2型で返されます。デフォルトでは、次のナビゲーション・ブロックはオブジェクト・ナビゲータで定義したブロック順序の次のブロックです。ただし、「次のナビゲーション・データ・ブロック」を設定すれば、このデフォルトのナビゲーション順序を上書きできます。

OPTIMIZER_HINT  問合せの組立て時にForm BuilderからRDBMSオプティマイザへ渡されるヒントがVARCHAR2文字列の形式で返されます。

ORDER_BY  ブロックに影響するデフォルトのORDER BY句が、「ORDER BY句」ブロック・プロパティの現在の設定が示すとおりに返されます。

PRECOMPUTE_SUMMARIES[Under Construction]

PREVIOUSBLOCK  フォーム内で1つ前の順序番号を持つブロックの名前が、Object Navigatorでブロックの順序として定義されたとおりに返されます。指定したブロックがフォームの最初のブロックの場合は、NULLが返されます。ブロックの「前のナビゲーション・データ・ブロック」プロパティの設定は、PREVIOUSBLOCKの値に影響しないことに注意してください。

PREVIOUS_NAVIGATION_BLOCK  ブロックの前のナビゲーション・ブロックの名前がVARCHAR2型で返されます。デフォルトでは、前のナビゲーション・ブロックは、オブジェクト・ナビゲータで定義したブロックの順序番号が次に小さいブロックです。ただし、「前のナビゲーション・データ・ブロック」ブロック・プロパティを設定すれば、デフォルトのブロック・ナビゲータ順序を上書きできます。

QUERY_ALLOWED  「問合せ可」ブロック・プロパティが「はい」であれば、VARCHAR2値TRUEが返され、「いいえ」であればFALSEが返されます。このプロパティによって、オペレータまたはアプリケーションがブロック内のレコードを問合せできるかどうかが決定されます。

QUERY_DATA_SOURCE_NAME  ブロックの問合せデータ・ソースの名前がVARCHAR2型で返されます。

QUERY_DATA_SOURCE_TYPE  「問合せデータ・ソース・タイプ」プロパティの現在の設定を示すVARCHAR2値が返されます。このプロパティの戻り値は、NONE、TABLE、STORED PROCEDURE、TRANSACTIONAL TRIGGERまたはSUB-QUERYです。

QUERY_HITS  COUNT_QUERY操作によって識別されたレコードの数を示すVARCHAR2値が返されます。問合せからレコードが取り出されている最中に「QUERY_HITS」の値を調べる場合は、この値は取り出されたレコード数を表します。

QUERY_OPTIONS  VARCHAR2値VIEW、FOR_UPDATE、COUNT_QUERYまたはオプションがない場合はNULLが返されます。デフォルトの処理を迂回しなかった場合は、Form Builderによってデフォルトで実行される問合せ操作のタイプをユーザー・イグジットで識別するときに、トランザクション・トリガー内でこのパラメータを指定してGET_BLOCK_PROPERTYコールすることができます。

RECORDS_DISPLAYED  指定したブロックが表示できるレコードの数が返されます。このプロパティは、「表示レコード数」ブロック・プロパティに相当します。

RECORDS_TO_FETCH  On-Fetchトリガーがフェッチし、問い合わせられたレコードとして作成されることをForm Builderが予期するレコードの数が返されます。

STATUS  ブロックに新規レコードのみが含まれている場合は、VARCHAR2値NEWが、ブロックに1つ以上の変更されたレコードが含まれている場合は、CHANGEDが、ブロックにデータベースから検索された有効なレコードのみが含まれている場合は、QUERYが返されます。

TOP_RECORD  指定したブロック内にある先頭の可視レコードのレコード番号が返されます。

UPDATE_ALLOWED  「更新可」ブロック・プロパティが「はい」であれば、VARCHAR2値TRUEが返され、「いいえ」であればFALSEが返されます。このプロパティによって、オペレータとアプリケーションがブロック内のレコードを更新できるかどうかが決定されます。

UPDATE_CHANGED_COLUMNS  オペレータが更新した列のみがデータベースに送信されることを指定します。「変更列のみ更新」プロパティが「いいえ」に設定されていれば、更新されたかどうかに関係なくすべての列が送信されます。この場合、特にブロックにLONGデータ型が含まれていれている場合は、ネットワークの通信量が大幅に増加します。


GET_BLOCK_PROPERTYの例

/*

** Built-in:GET_BLOCK_PROPERTY
** Example:Return the screen line of the current record in
**            a multi-record block.Could be used to
**            dynamically position LOV to a place on the
**            screen above or below the current line so as to
**            not obscure the current record in question.
*/
FUNCTION Current_Screen_Line
RETURN NUMBER IS
  cur_blk VARCHAR2(40) := :System.Cursor_Block;
  cur_rec NUMBER;
  top_rec NUMBER;
  itm_lin NUMBER;
  cur_lin NUMBER;
  bk_id   Block;
BEGIN
  /*
  ** Get the block id since we'll be doing multiple
  ** Get_Block_Property operations for the same block
  */
  bk_id := Find_Block( cur_blk );
  /*
  ** Determine the (1) Current Record the cursor is in,
  **               (2) Current Record which is visible at the
  **                   first (top) line of the multirecord
  **                   block.
  */
  cur_rec := Get_Block_Property( bk_id, CURRENT_RECORD);
  top_rec := Get_Block_Property( bk_id, TOP_RECORD);
  /*
  ** Determine the position on the screen the first field in
  ** the multirecord block
  */
  itm_lin := Get_Item_Property( Get_Block_Property
                     (bk_id,FIRST_ITEM),Y_POS);
  /*
  ** Add the difference between the current record and the
  ** top record visible in the block to the screen position
  ** of the first item in the block to get the screen
  ** position of the current record:
  */
  cur_lin := itm_lin + (cur_rec - top_rec);
  RETURN cur_lin;
END;


GET_CANVAS_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定したキャンバスの指定したキャンバス・プロパティが返されます。 .

構文:

FUNCTION GET_CANVAS_PROPERTY
  (canvas_id  Canvas,
   property   NUMBER);

FUNCTION GET_CANVAS_PROPERTY
  (canvas_name  VARCHAR2,
   property     NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

canvas_id	キャンバス・オブジェクト作成時にForm Builderによってキャンバス・オブジェクトに割り当てられる重複しないID。FIND_CANVASビルトインを使用すると、このIDをデータ型CANVASの変数に返すことができます。

canvas_name	キャンバス・オブジェクトの定義時に付けた名前。

property	指定したキャンバスの値を取得するためのプロパティ。値を返す次の定数をどれか1つ指定します。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

HEIGHT 「座標システム」フォーム・プロパティによって示される座標単位で、指定したキャンバスの高さが返されます。

TAB_PAGE_X_OFFSET  タブ・キャンバスの左端からタブ・ページの左端までの距離が返されます。返される値は、フォーム座標システムの単位がピクセル、センチメートル、インチ、またはポイントのどれであるかによって異なります。

TAB_PAGE_Y_OFFSET  タブ・キャンバスの上端からタブ・ページの上端までの距離が返されます。返される値は、フォーム座標システムの単位がピクセル、センチメートル、インチ、またはポイントのどれであるかによって異なります。

TOPMOST_TAB_PAGE  現在、指定したタブ・キャンバスの一番上に表示されているタブ・ページの名前が返されます。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

WIDTH  「座標システム」フォーム・プロパティによって示されるフォーム座標の単位で、指定されたキャンバスの幅が返されます。

VISUAL_ATTRIBUTE  現在有効な可視属性の名前が返されます。キャンバスに名前付き可視属性が割り当てられていない場合は、カスタム可視属性であればCUSTOMが、デフォルトの可視属性であればDEFAULTが返されます。


GET_CANVAS_PROPERTYの例

/*

** Built-in:GET_CANVAS_PROPERTY
** Example:Can get the width/height of the canvas.
*/
DECLARE
  the_width  NUMBER;
  the_height NUMBER;
  cn_id      CANVAS;
BEGIN
  cn_id      := FIND_CANVAS('my_canvas_1');
  the_width  := GET_CANVAS_PROPERTY(cn_id, WIDTH);
  the_height := GET_CANVAS_PROPERTY(cn_id,HEIGHT);
END;


GET_CUSTOM_PROPERTYビルトイン

  関連項目

説明

プラグイン可能Javaコンポーネント内のユーザー定義プロパティの値を取得します。

構文:

このビルトインは、文字列、数値またはブール値のデータからなるVARCHAR2を戻します。

GET_CUSTOM_PROPERTY
  (item,
   row-number,
   prop-name);

ビルトイン・タイプ   制限なしプロシージャ

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

item	ターゲットのプラグイン可能Javaコンポーネントに関連付けられた項目の名前またはID。名前の形式は、VARCHAR2リテラルまたは名前の値が設定された変数です。

row-number	取得対象項目のインスタンスの行番号。（インスタンスの行番号は1から始まります。）

prop-name	取得対象Javaコンポーネントのプロパティ名

使用上の注意

•	プラグイン可能Javaコンポーネントでは、各カスタム・プロパティのタイプは、ID.registerPropertyを使用して作成されるIDクラスの1つのインスタンスによって表す必要があります。

•	フォームで実行される各Get_Custom_Propertyビルトインについて、JavaコンポーネントのgetPropertyメソッドがコールされます。

•	項目の名前は、Find_Item('Item_Name')または単に'Item_Name'を介して取得できます。


GET_FILE_NAMEビルトイン

 例	 すべてのビルトイン

説明

ユーザーが既存のファイルを選択したり新規ファイルを指定したりできる、標準のファイル・オープン・ダイアログ・ボックスが表示されます。

構文:

FUNCTION GET_FILE_NAME
  (directory_name   VARCHAR2,
   file_name        VARCHAR2,
   file_filter      VARCHAR2,
   message          VARCHAR2,
   dialog_type      NUMBER,
   select_file      BOOLEAN;

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

directory_name	オープンするファイルが含まれるディレクトリの名前を指定します。デフォルト値はNULLです。directory_nameがNULLの場合、次に表示されるダイアログでは、最後に表示したディレクトリがオープンされます。

file_name	オープンするファイルの名前を指定します。デフォルト値はNULLです。

file_filter	特定のファイルのみが表示されるように指定します。デフォルト値はNULLです。ファイル・フィルタはさまざまな形式をとり、現在のmotifおよび文字モードのプラットフォームでは無視されます。Windowsでは、"Writeファイル(*.WRI)|*.WRI|"の形式をとります。NULLが指定されればデフォルトで“すべてのファイル(*.*)|*.*|”になります。Macintoshでは、現在この属性は"Text"の形式をとります。

message	選択されているファイルのタイプを指定します。デフォルト値はNULLです。

dialog_type	ダイアログがOPEN_FILEまたはSAVE_FILEのどちらを示すかを指定します。デフォルト値はOPEN_FILEです。

select_file	ユーザーがファイルまたはディレクトリのどちらを選択しているかを指定します。デフォルト値はTRUEです。dialog_typeがSAVE_FILEに設定されている場合、select_fileは内部的にTRUEに設定されます。


GET_FILE_NAMEの例

/*

** Built-in:GET_FILE_NAME
** Example:Can get an image of type TIFF.
*/
DECLARE
  filename VARCHAR2(256)
BEGIN
  filename := GET_FILE_NAME(File_Filter=> 'TIFF Files (*.tif)|*.tif|');
  READ_IMAGE_FILE(filename, 'TIFF', 'block5.imagefld);
END;


GET_FORM_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたフォームに関する情報を返します。アプリケーションがマルチ・フォーム・アプリケーションの場合は、このビルトインをコールして、コール側フォーム、現行のフォーム、コール先フォームに関する情報を返すことができます。

構文:

FUNCTION GET_FORM_PROPERTY
  (formmodule_id  FormModule,
   property       NUMBER);

FUNCTION GET_FORM_PROPERTY
  (formmodule_name  VARCHAR2,
   property         NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

formmodule_id	フォーム・モジュール作成時にForm Builderによってそのモジュールに割り当てられた重複しないIDを指定します。FIND_FORMビルトインを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型はFormModule型です。

formmodule_name	ユーザーがフォーム・モジュールを定義したときにそのモジュールに付けた名前をデータ型VARCHAR2で指定します。

property	このビルトインに次のどの定数が適用されたかにより、フォームの特定の要素に関する情報を返します。

CHARACTER_CELL_HEIGHT 文字セルのディメンションが「座標システム」プロパティによって指定されたフォーム単位で返されます。「座標システム」が「文字セル」であれば、値はピクセルで返されます。

CHARACTER_CELL_WIDTH 文字セルのディメンションが「座標システム」プロパティによって指定されたフォーム単位で返されます。「座標システム」が「文字セル」であれば、値はピクセルで返されます。

COORDINATE_SYSTEM フォーム・モジュールで使用される座標システムを示すVARCHAR2文字列が返されます。

•	フォームの現行の座標システムが文字セル・ベースの場合は、CHARACTER_CELLが返されます。

•	フォームの現行の座標システムがポイントの場合は、POINTSが返されます。

•	フォームの現行の座標システムがセンチメートルの場合は、CENTIMETERSが返されます。

•	フォームの現行の座標システムがインチの場合は、INCHESが返されます。

•	フォームの現行の座標システムがピクセルの場合は、PIXELSが返されます。

CURRENT_RECORD_ATTRIBUTE  現在行で使用する必要があるユーザー命名可視属性の名前がVARCHAR2で返されます。

CURRENT_ROW_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

CURRENT_ROW_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

CURRENT_ROW_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

CURRENT_ROW_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

CURRENT_ROW_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

CURRENT_ROW_FONT_STYLE  フォントのスタイル。

CURRENT_ROW_FONT_WEIGHT  フォントの太さ。

CURRENT_ROW_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

CURRENT_ROW_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

CURSOR_MODE  既存のカーソルに対するコミット・アクションの予想される影響を示す設定が返されます。

DEFER_REQUIRED_ENFORCEMENT  必須フィールドの強制が、項目の妥当性チェック時からレコードの妥当性チェック時まで延期されるかどうかを示す設定が返されます。有効な戻り値は、｢TRUE｣、｢4.5｣および｢FALSE｣です。

DIRECTION   両方向オブジェクトのレイアウト方向が返されます。有効な戻り値はRIGHT_TO_LEFT、LEFT_TO_RIGHTです。

FILE_NAME  指定したフォームが格納されているファイルの名前が返されます。

FIRST_BLOCK  指定したフォーム内の最も小さい順序番号を持つブロックの名前が返されます。

FIRST_NAVIGATION_BLOCK  Form Builderがフォームの起動時にナビゲートするブロックの名前を返します。デフォルトでは、オブジェクト・ナビゲータで定義した最初のブロックが最初のナビゲーション・ブロックになりますが、「最初のナビゲーション・データ・ブロック」ブロック・プロパティを設定すれば、フォーム起動時に別のブロックを最初のナビゲーション・ブロックに指定することができます。

FORM_NAME フォームの名前が返されます。

INTERACTION_MODE  フォームの相互作用モードが返されます。有効な戻り値は、BLOCKINGまたはNONBLOCKINGです。

ISOLATION_MODE READ_COMMITTEDまたはSERIALIZABLEのいずれかの、フォームの独立モードの設定が返されます。

LAST_BLOCK  指定したフォーム内の最も大きな順序番号を持つブロックの名前が返されます。

MAX_QUERY_TIME 「最長問合せ時間」プロパティの現在の設定を示すVARCHAR2値が返されます。このプロパティによって、問合せの経過時間がこのプロパティの値を超えた場合に、オペレータが問合せを中止できるかどうかが決定されます。

MAX_RECORDS_FETCHED  フェッチできるレコードの最大数を示す数値が返されます。このプロパティは、「全レコード問合せ」プロパティが「はい」に設定されている場合にのみ有効です。

MODULE_NLS_CHARACTER_SET  フォーム用に定義されたDEVELOPER_NLS_LANG環境変数のうち、文字セットに関する部分の現行の値のみが返されます。DEVELOPER_NLS_LANGが明示的に設定されない場合は、デフォルトでNLS_LANGに設定されます。

MODULE_NLS_LANG  フォーム用に定義されたDEVELOPER_NLS_LANG環境変数に含まれる各国語サポートのの現行の値が、完全な形式で返されます。DEVELOPER_NLS_LANGが明示的に設定されない場合は、デフォルトでNLS_LANGに設定されます。MODULE_NLS_LANGは、MODULE_NLS_LANGUAGE、MODULE_NLS_TERRITORYおよびMODULE_NLS_CHACTER_SETを連結したものに相当します。

MODULE_NLS_LANGUAGE  フォーム用に定義されたDEVELOPER_NLS_LANG環境変数の言語に関する部分の現行の値のみが返されます。DEVELOPER_NLS_LANGが明示的に設定されない場合は、デフォルトでNLS_LANGに設定されます。

MODULE_NLS_TERRITORY  フォーム用に定義されたDEVELOPER_NLS_LANG環境変数のうち、地域に関する部分の現行の値のみが返されます。DEVELOPER_NLS_LANGが明示的に設定されない場合は、デフォルトでNLS_LANGに設定されます。

SAVEPOINT_MODE  データ・ソースでセーブポイントがサポートされているかどうかを示すPROPERTY_ONまたはPROPERTY_OFFが返されます。

VALIDATION  Form Builderのデフォルトの妥当性チェックが有効であるかどうかを示すTRUEまたはFALSEが返されます。

VALIDATION_UNIT  フォームに対する現行の妥当性チェック単位を示すVARCHAR2文字列が返されます。

•	現行の妥当性検査単位がフォームであれば、FORM_SCOPEが返されます。

•	現行の妥当性検査単位がブロックであれば、BLOCK_SCOPEが返されます。

•	現行の妥当性検査単位がレコードであれば、RECORD_SCOPEが返されます。

•	現行の妥当性検査単位が項目またはDEFAULTであれば、ITEM_SCOPEが返されます。


GET_FORM_PROPERTYの例

例1

/*

** Built-in:GET_FORM_PROPERTY
** Example:Determine the name of the first block in the form.
*/
DECLARE
  curform VARCHAR2(40);
  blkname VARCHAR2(40);
BEGIN
  curform := :System.Current_Form;
  blkname := Get_Form_Property(curform,FIRST_BLOCK);
END;

例2

/*

** Built-in:GET_FORM_PROPERTY
** Example:Evaluate the current setting of the
**            Validate property.
*/
BEGIN
  IF Get_Form_Property('curform', VALIDATION) = 'FALSE'
  THEN
    Message ('Form currently has Validation turned OFF');
  END IF;
END;


GET_GROUP_CHAR_CELLビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定された行と列から特定されたレコード・グループ・セルのVARCHAR2またはLONG値を返します。セルは行と列が交差する部分です。

構文:

FUNCTION GET_GROUP_CHAR_CELL
  (groupcolumn_id  GroupColumn,
   row_number      NUMBER);

FUNCTION GET_GROUP_CHAR_CELL
  (groupcolumn_name  VARCHAR2,
   row_number        NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

groupcolumn_id	レコード・グループの列作成時にForm Builderによって割り当てられた重複しないIDを指定します。適切な型の変数にIDを戻すには、FIND_COLUMNビルトインを使用します。このIDのデータ型はGROUPCOLUMN型です。

groupcolumn_name	レコード・グループの列を定義するときに付けたデータ型VARCHAR2の名前を完全に指定します。recordgroup_name.groupcolumn_nameのように、レコード・グループ名およびドットが前に付けられます。列が問合せの結果定義された場合は、その列の名前は対応するデータベース列の名前と同じです。

row_number	セルの値を取り出す行を指定します。


GET_GROUP_CHAR_CELLの制限事項

パラメータrow_numberには、レコード・グループ内に存在する行番号を指定する必要があります。存在しないrow_numberを指定すると、索引範囲外エラーが発生します。


GET_GROUP_CHAR_CELLの例

/*

** Built-in:GET_GROUP_CHAR_CELL
** Example:Search thru names in a static record group to
**            determine if the value passed into this subprogram
**            exists in the list.Returns the row number
**            where the record was first located, or zero (0)
**            if no match was found.
*/
FUNCTION Is_Value_In_List( the_value     VARCHAR2,
               the_rg_name   VARCHAR2,
               the_rg_column VARCHAR2)
RETURN NUMBER IS
  the_Rowcount   NUMBER;
  rg_id          RecordGroup;
  gc_id          GroupColumn;
  col_val        VARCHAR2(80);
  Exit_Function  Exception;
BEGIN
  /*
  ** Determine if record group exists, and if so get its ID.
  */
  rg_id := Find_Group( the_rg_name );

  IF Id_Null(rg_id) THEN
    Message('Record Group '||the_rg_name||' does not exist.');
    RAISE Exit_Function;
  END IF;

  /*
  ** Make sure the column name specified exists in the
  ** record Group.
  */
  gc_id := Find_Column( the_rg_name||'.'||the_rg_column );

  IF Id_Null(gc_id) THEN
    Message('Column '||the_rg_column||' does not exist.');
    RAISE Exit_Function;
  END IF;
  /*
  ** Get a count of the number of records in the record
  ** group
  */
  the_Rowcount := Get_Group_Row_Count( rg_id );

  /*
  ** Loop through the records, getting the specified column's
  ** value at each iteration and comparing it to 'the_value'
  ** passed in.  Compare the values in a case insensitive
  ** manner.
  */
  FOR j IN 1..the_Rowcount LOOP
    col_val := GET_GROUP_CHAR_CELL( gc_id, j );
    /*
    ** If we find a match, stop and return the
    ** current row number.
    */
    IF UPPER(col_val) = UPPER(the_value) THEN
      RETURN j;
    END IF;
  END LOOP;

  /*
  ** If we get here, we didn't find any matches.
  */
  RAISE Exit_Function;
EXCEPTION
  WHEN Exit_Function THEN
    RETURN 0;
END;


GET_GROUP_DATE_CELLビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定された行と列から特定されたレコード・グループ・セルのDATE値を返します。セルは行と列が交差する部分です。

構文:

FUNCTION GET_GROUP_DATE_CELL
  (groupcolumn_id  GroupColumn,
   row_number      NUMBER);

FUNCTION GET_GROUP_DATE_CELL
  (groupcolumn_name  VARCHAR2,
   row_number        NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  DATE

問合せ入力モード 可

パラメータ

groupcolumn_id	レコード・グループの列作成時にForm Builderによって割り当てられた重複しないIDを指定します。適切な型の変数にIDを戻すには、FIND_COLUMNビルトインを使用します。このIDのデータ型はGROUPCOLUMN型です。

groupcolumn_name	レコード・グループの列を定義するときに付けたデータ型VARCHAR2の名前を完全に指定します。recordgroup_name.groupcolumn_nameのように、レコード・グループ名およびドットが前に付けられます。列が問合せの結果定義された場合は、その列の名前は対応するデータベース列の名前と同じです。

row_number	セルの値を取り出す行を指定します。


GET_GROUP_DATE_CELLの制限事項

パラメータrow_numberには、レコード・グループ内に存在する行番号を指定する必要があります。存在しないrow_numberを指定すると、索引範囲外エラーが発生します。


GET_GROUP_DATE_CELLの例

/*

** Built-in:GET_GROUP_DATE_CELL
** Example:Lookup a row in a record group, and return the
**            minimum order date associated with that row in
**            the record group.Uses the 'is_value_in_list'
**            function from the GET_GROUP_CHAR_CELL example.
*/
FUNCTION Max_Order_Date_Of( part_no VARCHAR2 )
RETURN DATE IS
  fnd_row NUMBER;
BEGIN
  /*
  ** Try to lookup the part number among the temporary part
  ** list record group named 'TMPPART' in its 'PARTNO'
  ** column.
  */
  fnd_row := Is_Value_In_List( part_no, 'TMPPART', 'PARTNO');
  IF fnd_row = 0 THEN
    Message('Part Number '||part_no||' not found.');
    RETURN NULL;
  ELSE
    /*
    ** Get the corresponding Date cell value from the
    ** matching row.
    */
    RETURN Get_Group_Date_Cell( 'TMPPART.MAXORDDATE', fnd_row );
 END IF;
END;


GET_GROUP_NUMBER_CELLビルトイン

 例	   制限事項	 すべてのビルトイン

説明

指定された行と列から特定されたレコード・グループ・セルのNUMBER値を返します。セルは行と列が交差する部分です。

構文:

FUNCTION GET_GROUP_NUMBER_CELL
  (groupcolumn_id  GroupColumn,
   row_number      NUMBER);

FUNCTION GET_GROUP_NUMBER_CELL
  (groupcolumn_name  VARCHAR2,
   row_number        NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  NUMBER

問合せ入力モード 可

パラメータ

groupcolumn_id	レコード・グループの列作成時にForm Builderによって割り当てられた重複しないIDを指定します。適切な型の変数にIDを戻すには、FIND_COLUMNビルトインを使用します。このIDのデータ型はGROUPCOLUMN型です。

groupcolumn_name	レコード・グループの列を定義するときに付けたデータ型VARCHAR2の名前を完全に指定します。recordgroup_name.groupcolumn_nameのように、レコード・グループ名およびドットが前に付けられます。列が問合せの結果定義された場合は、その列の名前は対応するデータベース列の名前と同じです。

row_number	セルの値を取り出す行を指定します。


GET_GROUP_NUMBER_CELLの制限事項

パラメータrow_numberには、レコード・グループ内に存在する行番号を指定する必要があります。存在しないrow_numberを指定すると、索引範囲外エラーが発生します。


GET_GROUP_NUMBER_CELLの例

/*

** Built-in:GET_GROUP_NUMBER_CELL
** Example:Lookup a row in a record group, and return the
**            minimum order quantity associated with that row
**            in the record group.Uses the
**            'is_value_in_list' function from the
**            GET_GROUP_CHAR_CELL example.
*/
FUNCTION Min_Order_Qty_Of( part_no VARCHAR2 )
RETURN NUMBER IS
  fnd_row NUMBER;
BEGIN
  /*
  ** Try to lookup the part number among the temporary part
  ** list record group named 'TMPPART' in its 'PARTNO'
  ** column.
  */
  fnd_row := Is_Value_In_List( part_no, 'TMPPART', 'PARTNO');

  IF fnd_row = 0 THEN
    Message('Part Number '||part_no||' not found.');
    RETURN NULL;
  ELSE
    /*
    ** Get the corresponding Number cell value from the
    ** matching row.
    */
    RETURN Get_Group_Number_Cell( 'TMPPART.MINQTY', fnd_row );
  END IF;
END;


GET_GROUP_RECORD_NUMBERビルトイン

 例	   制限事項	 すべてのビルトイン

説明

列の値がcell_valueパラメータに等しいレコード・グループ内の最初のレコードのレコード番号を返します。一致するレコードがなければ、0（ゼロ）が返されます。

構文:

FUNCTION GET_GROUP_RECORD_NUMBER
  (groupcolumn_id  GroupColumn,
   cell_value      NUMBER);

FUNCTION GET_GROUP_RECORD_NUMBER
  (groupcolumn_name  VARCHAR2,
   cell_value      NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  NUMBER

問合せ入力モード 可

パラメータ

groupcolumn_id	レコード・グループの列作成時にForm Builderによって割り当てられた重複しないIDを指定します。FIND_COLUMNビルトインを使用すると、このIDを変数に返すことができます。このIDのデータ型はGROUPCOLUMN型です。

groupcolumn_name	ユーザーがグループを作成するときに付けたレコード・グループ列の名前を指定します。その名前のデータ型はVARCHAR2です。

cell_value	指定したレコード・グループ列で検索する値を指定します。データ型は、VARCHAR2、NUMBERまたはDATEです。


GET_GROUP_RECORD_NUMBERの制限事項

cell_valueパラメータのデータ型は、レコード・グループ列と同じにしてください。データ型VARCHAR2の比較では、大文字と小文字が区別されます。


GET_GROUP_RECORD_NUMBERの例

/*

** Built-in:GET_GROUP_RECORD_NUMBER
** Example:Find the first record in the record group with a
**     cell in a column that is identical to the value
**    specified in the cell_value parameter.
*/
DECLARE
  rg_id         RecordGroup;
  match         NUMBER := 2212;
  status        NUMBER;
  the_recordnum NUMBER;
BEGIN
  rg_id := Create_Group_From_Query('QGROUP',
          'SELECT ENAME,EMPNO,SAL FROM EMP ORDER BY SAL DESC');
  status := Populate_Group( rg_id );
  */  *** Zero status is success***  /
  IF status = 0 THEN
    the_recordnum :=Get_Group_Record_Number('QGROUP.ENAME',match);
    Message('The first match is record number                                   '||to_CHAR(the_recordnum));
  ELSE
    Message('Error creating query record group.');
    RAISE Form_Trigger_Failure;
  END IF;
END;


GET_GROUP_ROW_COUNTビルトイン

 例	     関連項目	 すべてのビルトイン

説明

レコード・グループ内の行数を返します。

構文:

FUNCTION GET_GROUP_ROW_COUNT
  (recordgroup_id  RecordGroup);

FUNCTION GET_GROUP_ROW_COUNT
  (recordgroup_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  NUMBER

問合せ入力モード 可

パラメータ

recordgroup_id	レコード・グループ作成時にForm Builderによってそのグループに割り当てられた重複しないIDを指定します。FIND_GROUPビルトインを使用して、そのIDを変数に戻します。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループ作成時に与えたレコード・グループ名を指定します。その名前のデータ型はVARCHAR2です。


GET_GROUP_ROW_COUNTの例

/*

** Built-in:GET_GROUP_ROW_COUNT
** Example:Determine how many rows were retrieved by a
**            Populate_Group for a query record group.
*/
DECLARE
  rg_id        RecordGroup;
  status       NUMBER;
  the_rowcount NUMBER;
BEGIN
  rg_id := Create_Group_From_Query('MY_QRY_GROUP',
          'SELECT ENAME,EMPNO,SAL FROM EMP ORDER BY SAL DESC');
  status := Populate_Group( rg_id );
  */  *** Zero status is success***  /
  IF status = 0 THEN
    the_rowcount := Get_Group_Row_Count( rg_id );
    Message('The query retrieved '||to_CHAR(the_rowcount)||
           ' record(s)');
  ELSE
    Message('Error creating query record group.');
    RAISE Form_Trigger_Failure;
  END IF;
END;


GET_GROUP_SELECTIONビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたグループで選択された行の順序番号を返します。

構文:

FUNCTION GET_GROUP_SELECTION
  (recordgroup_id    RecordGroup,
   selection_number  NUMBER);

FUNCTION GET_GROUP_SELECTION
  (recordgroup_name  VARCHAR2,
   selection_number  NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  NUMBER

問合せ入力モード 可

パラメータ

recordgroup_id	レコード・グループ作成時にForm Builderによってそのグループに割り当てられた重複しないIDを指定します。FIND_GROUPビルトインを使用して、そのIDを変数に戻します。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループ作成時に与えたレコード・グループ名を指定します。

selection_number	選択された行が何番目に選択されたかを指定します。たとえば、行3、7、および21が選択されている場合、選択の値は、それぞれ1、2および3です。selection_numberの引数は、NUMBERデータ型の値をとります。


GET_GROUP_SELECTIONの例

/*

** Built-in:GET_GROUP_SELECTION
** Example:Return a comma-separated list (string) of the
**            selected part numbers from the presumed
**            existent PARTNUMS record group.
*/
FUNCTION Comma_Separated_Partnumbers
RETURN VARCHAR2 IS
  tmp_str      VARCHAR2(2000);
  rg_id        RecordGroup;
  gc_id        GroupColumn;
  the_Rowcount NUMBER;
  sel_row      NUMBER;
  the_val      VARCHAR2(20);
BEGIN
  rg_id := Find_Group('PARTNUMS');
  gc_id := Find_Column('PARTNUMS.PARTNO');
  /*
  ** Get a count of how many rows in the record group have
  ** been marked as "selected"
  */
  the_Rowcount := Get_Group_Selection_Count( rg_id );
  FOR j IN 1..the_Rowcount LOOP
    /*
    ** Get the Row number of the J-th selected row.
    */
    sel_row := Get_Group_Selection( rg_id, j );
    /*
    ** Get the (VARCHAR2) value of the J-th row.
    */
    the_val := Get_Group_CHAR_Cell( gc_id, sel_row );
    IF j = 1 THEN
      tmp_str := the_val;
    ELSE
      tmp_str := tmp_str||','||the_val;
    END IF;
  END LOOP;
  RETURN tmp_str;
END;


GET_GROUP_SELECTION_COUNTビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたレコード・グループ内で、SET_GROUP_SELECTIONコールによって「選択済み」とマークされた行数を返します。

構文:

FUNCTION GET_GROUP_SELECTION_COUNT
  (recordgroup_id  RecordGroup);

FUNCTION GET_GROUP_SELECTION_COUNT
  (recordgroup_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  NUMBER

問合せ入力モード 可

パラメータ

recordgroup_id	レコード・グループ作成時にForm Builderによってそのグループに割り当てられた重複しないIDを指定します。FIND_GROUPビルトインを使用して、そのIDを変数に戻します。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループ作成時に与えたレコード・グループ名を指定します。


GET_GROUP_SELECTION_COUNTの例

/*

** Built-in:GET_GROUP_SELECTION_COUNT
** Example:See GET_GROUP_SELECTION
*/


GET_INTERFACE_POINTER

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

OLE2オートメーション・オブジェクトにハンドルを返します。

構文:

FUNCTION GET_INTERFACE_POINTER
  (item_id  Item);

FUNCTION GET_INTERFACE_POINTER
  (item_name  VARCHAR2);

戻り値  PLS_INTEGER

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 不可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。


GET_INTERFACE_POINTERの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


GET_INTERFACE_POINTERの例

/*

** Built-in:GET_INTERFACE_POINTER
** Example:Finds a handle to an OLE object
*/
FUNCTION HandleMap(MapName VARCHAR2) RETURN OLE2.obj_type is
BEGIN
 RETURN(Get_interface_Pointer(MapName));
END;


GET_ITEM_INSTANCE_PROPERTYビルトイン

 すべてのビルトイン

説明

指定された項目インスタンスのプロパティの値を返します。GET_ITEM_INSTANCE_PROPERTYは、初期値または指定された項目インスタンスについてSET_ITEM_INSTANCE_PROPERTYによって最後に指定された値を返します。プロパティの有効値は返しません（項目インスタンス、項目およびブロックの各レベルで指定されたプロパティを組み合わせて導出される値）。有効なプロパティ値の詳細は、SET_ITEM_INSTANCE_PROPERTYを参照してください。

構文:

FUNCTION GET_ITEM_INSTANCE_PROPERTY
  (item_id  ITEM,
   record_number  NUMBER,
   property  NUMBER);

FUNCTION GET_ITEM_INSTANCE_PROPERTY
  (item_name  VARCHAR2,
   record_number  NUMBER,
   property   NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

item_id	オブジェクト作成時にForm Builderによってそのオブジェクトに割り当てられた重複しないID。FIND_ITEMビルトインを使用すると、このIDをデータ型ITEMの変数に返すことができます。

item_name	ユーザーがオブジェクトを作成するときにそのオブジェクトに付けた名前。

record_number	レコード番号またはCURRENT_RECORD。

property	指定した項目で値を取出すプロパティ。有効なpropertyの値は次のとおりです。

BORDER_BEVEL  項目インスタンスのレベルでBORDER_BEVELプロパティがRAISED、LOWEREDまたはPLAINに設定されている場合、それぞれRAISED、LOWEREDまたはPLAINが返されます。項目インスタンスのレベルでBORDER_BEVELが指定されていない場合は、" "が返されます。

INSERT_ALLOWED  項目インスタンスのINSERT_ALLOWEDプロパティが真に設定されていれば、VARCHAR2文字列TRUEが返されます。偽に設定されている場合はFALSEが返されます。

NAVIGABLE  項目インスタンスのNAVIGABLEプロパティが真に設定されていれば、VARCHAR2文字列TRUEが返されます。偽に設定されている場合はFALSEが返されます。

REQUIRED  項目インスタンスのREQUIREDプロパティが真に設定されていれば、VARCHAR2文字列TRUEが返されます。偽に設定されている場合はFALSEが返されます。

SELECTED_RADIO_BUTTON  指定のレコードのラジオ・グループ内の選択されたラジオ・ボタンのラベルが返されます。指定したレコードのラジオ・グループに選択したラジオ・ボタンがないか、指定したレコードが表示領域外にスクロールされている場合に、NULLが返されます。

UPDATE_ALLOWED  項目インスタンスの「UPDATE_ALLOWED」プロパティが真に設定されていれば、VARCHAR2文字列TRUEが返されます。偽に設定されている場合はFALSEが返されます。

VISUAL_ATTRIBUTE  現在有効な可視属性の名前が返されます。項目インスタンスに名前付き可視属性が割り当てられていなければ、デフォルトの可視属性を表すDEFAULTが返されます。項目インスタンスのレベルでVISUAL_ATTRIBUTEが指定されていなければ、''が返されます。


GET_ITEM_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定された項目のプロパティの値を返します。特定のオブジェクトのプロパティを取得できる場合があることに注意してください。ただし、設定することはできません。

構文:

FUNCTION GET_ITEM_PROPERTY
  (item_id,  ITEM
   property  NUMBER);

FUNCTION GET_ITEM_PROPERTY
  (item_name  VARCHAR2,
   property   NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

item_id	オブジェクト作成時にForm Builderによってそのオブジェクトに割り当てられた重複しないID。FIND_ITEMビルトインを使用すると、このIDをデータ型ITEMの変数に返すことができます。

item_name	ユーザーがオブジェクトを作成するときにそのオブジェクトに付けた名前。

property	指定した項目から取り出すプロパティの値。有効なpropertyの値は次のとおりです。

AUTO_HINT  「ヒントの自動表示」プロパティが「はい」に設定されていればVARCHAR2文字列TRUEが返され、「いいえ」に設定されていればVARCHAR2文字列FALSEが返されます。

AUTO_SKIP  「自動スキップ」が「はい」に設定されていればVARCHAR2文字列TRUEが返され、「いいえ」に設定されていれば文字列FALSEが返されます。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

BLOCK_NAME  この項目のVARCHAR2ブロック名が返されます。

BORDER_BEVEL  項目のレベルでBORDER_BEVELプロパティがRAISED、LOWEREDまたはPLAINに設定されている場合、それぞれRAISED、LOWEREDまたはPLAINが返されます。

CASE_INSENSITIVE_QUERY  このプロパティが「はい」に設定されていればVARCHAR2文字列TRUEが返され、「いいえ」 に設定されていれば文字列FALSEが返されます。

CASE_RESTRICTION  項目のテキストが大文字で表示される場合は、UPPERCASEが返され、テキストが小文字で表示される場合は、LOWERCASEが返されます。大文字小文字の制限が有効でない場合は、NONEが返されます。

COLUMN_NAME  データブロック項目が関連付けられているデータベース内の列の名前が返されます。

COMPRESS 　Oracleの内部形式へ変換される場合に、ファイルからフォームに読み込まれるサウンド・オブジェクトを圧縮する必要があるかどうかを示す値（TRUEまたはFALSE）が返されます。

CONCEAL_DATA  オペレータがテキスト項目へ入力するテキストが非表示の場合はVARCHAR2文字列TRUEが返され、オペレータがテキスト項目へ入力するテキストが表示される場合はVARCHAR2文字列FALSEが返されます。

CURRENT_RECORD_ATTRIBUTE  指定した項目のユーザー命名可視属性の名前がVARCHAR2型で返されます。

CURRENT_ROW_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

CURRENT_ROW_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

CURRENT_ROW_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

CURRENT_ROW_FONT_SIZE  ポイント数の100倍で指定されるフォントのサイズ(例えば、フォント･サイズが8ポイントの項目では、800が返されます)。

CURRENT_ROW_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

CURRENT_ROW_FONT_STYLE  フォントのスタイル。

CURRENT_ROW_FONT_WEIGHT  フォントの太さ。

CURRENT_ROW_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

CURRENT_ROW_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

DATABASE_VALUE  実表項目の場合は、本来データベースからフェッチされた値が返されます。

DATATYPE  ALPHA、CHAR、DATE、JDATE, EDATE、DATETIME、INT、RINT、MONEY、RMONEY、NUMBER、RNUMBER、TIME、LONG、GRAPHICS、またはIMAGEの項目のデータ型が返されます。ボタンやチャートなど、データ型を持たない種類の項目があることに注意してください。データ型がないためにエラー・メッセージが出力されることのないよう、データ型を取得する前に項目タイプを選別してください。

DIRECTION   両方向オブジェクトのレイアウト方向が返されます。有効な戻り値はRIGHT_TO_LEFT、LEFT_TO_RIGHTです。

DISPLAYED VARCHAR2文字列TRUEまたはFALSEが返されます。

ECHO  この項目の「データ隠ぺい」プロパティが「いいえ」に設定されていればVARCHAR2文字列TRUEが返され、「はい」に設定されていればVARCHAR2文字列FALSEが返されます。

EDITOR_NAME  テキスト項目に連結されたエディタの名前が返されます。

EDITOR_X_POS  テキスト項目に連結されたエディタのx座標が返されます。（このプロパティは、「エディタY位置」プロパティに相当します。）

EDITOR_Y_POS  テキスト項目に連結されたエディタのy座標が返されます。（このプロパティは、「エディタY位置」プロパティに相当します。）

ENFORCE_KEY  新規レコードがマスター/ディテールのリレーションの一部として作成されたときに、値が外部キーとしてこの項目にコピーされた項目の名前が返されます。（このプロパティは、「Copy」プロパティに相当します。）

ENABLED  「変更可能」プロパティが「はい」に設定されていればTRUEが返され、「いいえ」に設定されていればFALSEが返されます。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FIXED_LENGTH  この項目のこのプロパティが「はい」に設定されていればVARCHAR2文字列TRUEが返され、「いいえ」に設定されていればVARCHAR2文字列FALSEが返されます。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

FORMAT_MASK  テキスト項目で使用されている書式マスクが返されます。

HEIGHT  項目の高さが返されます。高さの単位は、そのフォームに指定した「座標システム」プロパティの値とデフォルトのフォント・スケーリングによって異なります。

HINT_TEXT  実行時にメッセージ行に表示される項目特有のヘルプ・テキストが返されます。

ICON_NAME  「アイコン化」プロパティがTRUEに設定されたボタン項目に関連するアイコン・リソースのファイル名が返されます。

ICONIC_BUTTON  ボタンがアイコン・ボタンとして定義されていればVARCHAR2値TRUEが返され、ボタンがアイコン・ボタンとして定義されていなければVARCHAR2値FALSEが返されます。

IMAGE_DEPTH  指定したイメージ項目の色の濃さが返されます。

IMAGE_FORMAT  指定したイメージ項目の形式が返されます。

INSERT_ALLOWED  項目のレベルでINSERT_ALLOWEDプロパティが真に設定されている場合、VARCHAR2値TRUEが返されます。偽に設定されている場合はFALSEが返されます。

ITEM_CANVAS  この項目が割り当てられているキャンバスの名前が返されます。

ITEM_IS_VALID 現項目が有効であればVARCHAR2文字列TRUEが返され、現項目が有効でなければVARCHAR2文字列FALSEが返されます。

ITEM_NAME  項目の名前が返されます。

ITEM_TAB_PAGE  項目が割り当てられているタブ・ページの名前が返されます。Form Builderが項目のタブ・ページの名前を返すことができるように、項目をタブ・キャンバスに割り当てる必要があることに注意してください。

ITEM_TYPE  項目のタイプが返されます。項目がボタンであればBUTTONが、チャート項目であればCHART ITEMが、チェックボックスであればCHECKBOXが、表示項目であればDISPLAY ITEMが、イメージ項目であればIMAGEが、リスト項目であればLISTが、OCXコントロールまたはOLEコンテナであればOLE OBJECTが、ラジオ・グループであればRADIO GROUPが、テキスト項目であればTEXT ITEMが、ユーザー領域であればUSER AREAが、VBXコントロールであるカスタム項目であればVBX CONTROLが返されます。

JUSTIFICATION  テキストの文字揃えが返されます。テキストの文字揃えはテキスト項目および表示項目のみに適用されます。有効な戻り値は、START、END、LEFT、CENTER、RIGHTです。

KEEP_POSITION  カーソルが項目から移動されたとき、移動前にあった特定の位置へ再入力される場合はVARCHAR2文字列TRUEが返され、カーソルがデフォルトの位置へ再入力される場合はVARCHAR2文字列FALSEが返されます。

LABEL  項目の「ラベル」プロパティに定義されたVARCHAR2値が返されます。このプロパティは、ボタンやチェックボックスのようにラベルを持つ項目にのみ有効です。

LIST  項目が、値リスト(LOV)が割り当てられているテキスト項目であればVARCHAR2文字列TRUEが返され、それ以外であればVARCHAR2文字列FALSEが返されます。

LOCK_RECORD_ON_CHANGE  この項目が変更される可能性があるときに、Form Builderが行をロックする必要があれば、VARCHAR2文字列TRUEが返され、ロックする必要がなければ、VARCHAR2文字列FALSEが返されます。

LOV_NAME  任意の項目に関連付けられている値リストのVARCHAR2名が返されます。指定した値リスト名が存在しない場合は、エラー・メッセージが出力されます。

LOV_X_POS このテキスト項目に関連する値リストのx座標が返されます。（このプロパティは、「X位置のリスト」プロパティに相当します。

LOV_Y_POS このテキスト項目に関連する値リストのy座標が返されます。（このプロパティは、「Y位置のリスト」プロパティに相当します。

MAX_LENGTH  項目の最大長の設定が返されます。この値はデータ型NUMBERで返されます。

MERGE_CURRENT_ROW_VA  指定された可視属性の内容を現行行の可視属性とマージします（置換ではない）。

MERGE_TOOLTIP_ATTRIBUTE  指定された可視属性の内容をツールチップの現行の可視属性とマージします（置換ではない）。

MERGE_VISUAL_ATTRIBUTE  指定された可視属性の内容をオブジェクトの現行の可視属性とマージします（置換ではない）。

MOUSE_NAVIGATE  項目の「マウス・ナビゲート」が「はい」に設定されていればVARCHAR2文字列TRUEが返され、「いいえ」に設定されていれば VARCHAR2文字列FALSEが返されます。

MULTI_LINE  指定した項目が複数行のテキスト項目であればVARCHAR2値TRUEが返され、1行のテキスト項目であればVARCHAR2文字列FALSEが返されます。

NAVIGABLE  項目のレベルで「NAVIGABLE」プロパティが真に設定されている場合、VARCHAR2文字列TRUEが返されます。偽に設定されている場合はFALSEが返されます。

NEXTITEM  デフォルトのナビゲーション順序での次の項目の名前が、オブジェクト・ナビゲータで定義した項目の順序のとおりに返されます。

NEXT_NAVIGATION_ITEM  この現項目の"次ナビゲーション項目"として定義されている項目の名前が返されます。

POPUPMENU_CONTENT_ITEM  次のいずれかのOLEポップアップ・メニュー項目プロパティの設定が返されます。

•	POPUPMENU_COPY_ITEM

•	POPUPMENU_CUT_ITEM

•	POPUPMENU_DELOBJ_ITEM

•	POPUPMENU_INSOBJ_ITEM

•	POPUPMENU_LINKS_ITEM

•	POPUPMENU_OBJECT_ITEM

•	POPUPMENU_PASTE_ITEM

•	POPUPEMNU_PASTESPEC_ITEM

OLEポップアップ・メニュー項目が非表示の場合は、VARCHAR2文字列HIDDENを返します。OLEポップアップ・メニュー項目が表示され変更可能に設定されている場合は、VARCHAR2文字列ENABLEDを返します。OLEポップアップ・メニュー項目が表示され変更可能に設定されていない場合は、VARCHAR2文字列DISABLEDを返します。また、プラットフォームがMicrosoft Windowsでない場合は、VARCHAR2文字列UNSUPPORTEDを返します。

PREVIOUSITEM  前の項目の名前が返されます。

PREVIOUS_NAVIGATION_ITEM  この現項目の"前ナビゲーション項目"として定義されている項目の名前が返されます。

PRIMARY_KEY  項目が主キーであればVARCHAR2文字列TRUEが返され、主キーでなければVARCHAR2文字列FALSEが返されます。

PROMPT_ALIGNMENT_OFFSET  項目と項目のプロンプトの間の距離がVARCHAR2値として返されます。

PROMPT_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

PROMPT_DISPLAY_STYLE  プロンプトの表示スタイルとしてFIRST_RECORD、HIDDEN、ALL_RECORDSのいずれかが返されます。

PROMPT_EDGE  START、END、TOP、BOTTOMのいずれかのうち、どの境界線に項目プロンプトが連結されているかを示す値が返されます。

PROMPT_EDGE_ALIGNMENT  START、END、CENTERのうち、どの境界線に項目のプロンプトが位置揃えされているかを示す値が返されます。

PROMPT_EDGE_OFFSET  項目とその項目のプロンプトの間の距離がVARCHAR2値として返されます。

PROMPT_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

PROMPT_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

PROMPT_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

PROMPT_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

PROMPT_FONT_STYLE  フォントのスタイル。

PROMPT_FONT_WEIGHT  フォントの太さ。

PROMPT_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

PROMPT_TEXT  項目について表示されるテキスト・ラベルが返されます。

PROMPT_TEXT_ALIGNMENT  START、LEFT、RIGHT、CENTER、ENDのうち、プロンプトの位置揃えの方法を示す値が返されます。

PROMPT_VISUAL_ATTRIBUTE  プロンプトのユーザー命名可視属性を示す値が返されます。

PROMPT_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

QUERYABLE  項目を問合せに含めることができる場合はVARCHAR2文字列TRUEが返され、項目を問合せに含めることができない場合はVARCHAR2文字列FALSEが返されます。

QUERY_LENGTH  フォームが問合せ入力モードの場合にオペレータがテキスト項目に入力できる文字数が返されます。

QUERY_ONLY  項目のこのプロパティが「はい」に設定されていればVARCHAR2文字列TRUEが返され、「いいえ」に設定されていればVARCHAR2文字列FALSEが返されます。

RANGE_HIGH  範囲制限の最大値が返されます。（このプロパティは「最低許容値」プロパティに相当します。

RANGE_LOW  範囲制限の最小値が返されます。（このプロパティは「最低許容値」プロパティに相当します。

REQUIRED  複数行のテキスト項目において、項目のレベルでREQUIREDプロパティが真に設定されている場合、VARCHAR2文字列TRUEが返されます。偽に設定されている場合はFALSEが返されます。

SCROLLBAR   「垂直スクロール・バー表示」プロパティが「はい」に設定されていればVARCHAR2文字列TRUEが返され、「いいえ」に設定されていればVARCHAR2文字列FALSEが返されます。

SHOW_FAST_FORWARD_BUTTON  [image] が指定したサウンド項目上に表示される場合はVARCHAR2値TRUEが返され、そうでない場合はFALSEが返されます。

SHOW_PALETTE  イメージ操作パレットが指定したイメージ項目の近くに表示される場合はVARCHAR2値TRUEが返され、そうでない場合はFALSEが返されます。

SHOW_PLAY_BUTTON  指定したサウンド項目に [image] が表示される場合はVARCHAR2値TRUEが返され、表示されない場合はFALSEが返されます。

SHOW_RECORD_BUTTON  指定したサウンド項目に [image] が表示される場合はVARCHAR2値TRUEが返され、表示されない場合はFALSEが返されます。

SHOW_REWIND_BUTTON  指定したサウンド項目に [image] が表示される場合はVARCHAR2値TRUEが返され、表示されない場合はFALSEが返されます。

SHOW_SLIDER  指定したサウンド項目にスライダー位置制御が表示される場合はVARCHAR2値TRUEが返され、表示されない場合はFALSEが返されます。

SHOW_TIME_INDICATOR  指定したサウンド項目に [image] が表示される場合はVARCHAR2値TRUEが返され、表示されない場合はFALSEが返されます。

SHOW_VOLUME_CONTROL  指定したサウンド項目に [image] が表示される場合はVARCHAR2値TRUEが返され、表示されない場合はFALSEが返されます。

TOOLTIP_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

TOOLTIP_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

TOOLTIP_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

TOOLTIP_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

TOOLTIP_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

TOOLTIP_FONT_STYLE  フォントのスタイル。

TOOLTIP_FONT_WEIGHT  フォントの太さ。

TOOLTIP_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

TOOLTIP_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

TOOLTIP_TEXT 項目のヒント・テキストが返されます。

UPDATE_ALLOWED  項目のレベルで「UPDATE_ALLOWED」プロパティが真に設定されている場合、VARCHAR2文字列TRUEが返されます。偽に設定されている場合はFALSEが返されます。

UPDATE_COLUMN  Form Builderで項目を更新済みとして扱う必要があればVARCHAR2文字列TRUEが返され、更新済みとして扱う必要がなければFALSEが返されます。

UPDATE_NULL項目がNULLの場合のみに更新の必要がある場合はVARCHAR2文字列TRUEが返され、項目を常に更新できる場合はVARCHAR2文字列FALSEが返されます。（このプロパティは、「NULLのみ更新」プロパティに相当します。

UPDATE_PERMISSION 「UPDATE_PERMISSION」プロパティが「はい」に設定され、項目の「更新可」プロパティと「NULLのみ更新」プロパティが「ON」に設定されていればVARCHAR2文字列TRUEが返されます。VARCHAR2文字列FALSEは、「更新可」と「NULLのみ更新」が「いいえ」であることを表します。

VALIDATE_FROM_LIST  Form Builder 側で、連結されている値リスト内の値に対するテキスト項目の値の妥当性チェックが必要な場合はVARCHAR2文字列TRUEが返され、妥当性チェックが不要な場合はVARCHAR2文字列FALSEが返されます。

VISIBLE項目のこのプロパティが「はい」に設定されていればVARCHAR2文字列TRUEが返され、「いいえ」に設定されていればVARCHAR2文字列FALSEが返されます。

VISUAL_ATTRIBUTE  現在有効な可視属性の名前が返されます。項目に名前付き可視属性が割り当てられていなければ、デフォルトの可視属性を表すDEFAULTが返されます。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

WIDTH項目の幅が返されます。

WINDOW_HANDLE  オブジェクトの参照に使用される一意の内部VARCHAR2定数が返されます。プラットフォームがMicrosoft Windows以外であればVARCHAR2値'0'が返されます。

WRAP_STYLE  項目のラップ・スタイルが「VARCHAR2」に設定されていればVARCHAR2が、「単語」が設定されていればWORDが、ラップ・スタイルが項目に指定されていなければNONEが返されます。

X_POS  キャンバスの左上隅に対する項目の左上隅の現行の位置を示すx座標が返されます。

Y_POS  キャンバスの左上隅に対する項目の左上隅の現行の位置を示すy座標が返されます。

使用上の注意

GET_ITEM_PROPERTYビルトインを使用して、その項目では無効なプロパティを取得しようとすると、エラーが発生します。たとえば、ラジオ・グループからLISTを取得しようとすると、LISTはテキスト項目にのみ有効なプロパティであるため、エラーが発生します。


GET_ITEM_PROPERTYの例

/*

**  Built-in:GET_ITEM_PROPERTY
**  Example:Navigate to the next required item in the
**             current block.*/
PROCEDURE Go_Next_Required_Item IS
  cur_blk        VARCHAR2(40);
  cur_itm        VARCHAR2(80);
  orig_itm       VARCHAR2(80);
  first_itm      VARCHAR2(80);
  wrapped        BOOLEAN := FALSE;
  found          BOOLEAN := FALSE;
  Exit_Procedure EXCEPTION;
  /*
  ** Local function returning the name of the item after the
  ** one passed in. Using NVL we make the item after the
  ** last one in the block equal the first item again.
  */
  */
  FUNCTION The_Item_After(itm VARCHAR2)
  RETURN VARCHAR2 IS
 BEGIN
    RETURN cur_blk||'.'||
      NVL(Get_Item_Property(itm,NEXTITEM),
      first_itm);
 END;
BEGIN
  cur_blk   := :System.Cursor_Block;
  first_itm := Get_Block_Property( cur_blk, FIRST_ITEM );
  orig_itm  := :System.Cursor_Item;
  cur_itm   := The_Item_After(orig_itm);
  /*
  ** Loop until we come back to the item name where we started
  */
  WHILE (orig_itm <> cur_itm) LOOP

    /*
    ** If required item, set the found flag and exit procedure
    */
    IF Get_Item_Property(cur_itm,REQUIRED) = 'TRUE' THEN
      found := TRUE;
      RAISE Exit_Procedure;
    END IF;
    /*
    ** Setup for next iteration
    */
    cur_itm := The_Item_After(cur_itm);
  END LOOP;
  /*
  ** If we get here we wrapped all the way around the
  ** block's item names
  */
  wrapped := TRUE;
  RAISE Exit_Procedure;
EXCEPTION
  WHEN Exit_Procedure THEN
    /*
    ** If we found a required item and we didn't come back
    ** to the item we started in, then navigate there
    */
    IF found AND NOT wrapped THEN
      Go_Item(cur_itm);
    END IF;
END;


GET_LIST_ELEMENT_COUNTビルトイン

 例	     関連項目	 すべてのビルトイン

説明

NULL値の要素も含め、リスト内のリスト項目要素数の合計を返します。

構文:

FUNCTION GET_LIST_ELEMENT_COUNT
  (list_id  Item);

FUNCTION GET_LIST_ELEMENT_COUNT
  (list_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

list_id	Form Builderがリスト項目を作成するときに割り当てる一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

list_name	ユーザーがリスト項目を作成するときに付けた名前。その名前のデータ型はVARCHAR2です。


GET_LIST_ELEMENT_COUNTの例

/*

**  Built-in:GET_LIST_ELEMENT_COUNT
**  Example:Add an element to the list item.Before adding
**             the element, verify that the element is not in
**             the current list.
*/
DECLARE
   total_list_count    NUMBER(2);
   loop_index_var      NUMBER(2) := 1;
   list_element        VARCHAR2(50);
   list_element_value  VARCHAR2(50);
   list_element_to_add   VARCHAR2(50);
   list_value_to_add   VARCHAR2(50);
   element_match       VARCHAR2(5) := 'TRUE';
   value_match         VARCHAR2(5) := 'TRUE';
BEGIN
/*
** Determine the total number of list elements.
*/
   total_list_count := Get_List_Element_Count(list_id);
/*
** Compare the current list item elements with the element that
** will be added.
*/
   LOOP
     list_element := Get_List_Element_Value(list_id,
     loop_index_var);
     loop_index_var := loop_index_var + 1;
     IF list_element_to_add = list_element THEN
       element_match := 'FALSE';
     END IF;
     EXIT WHEN list_element = list_element_to_add OR
     loop_index_var = total_list_count;
   END LOOP;
/*
** Compare the current list item values with the value that
** will be added.
*/
   loop_index_var := 1;
   LOOP
     list_element_value:= Get_List_Element_Value(list_id,
        loop_index_var);
     loop_index_var := loop_index_var + 1;
     IF list_value_to_add = list_element_value THEN
       value_match := 'FALSE';
     END IF;
     EXIT WHEN list_element_value = list_value_to_add OR
     loop_index_var = total_list_count;
   END LOOP;
/*
**  Add the element and value if it is not in the current list
*/
   IF element_match AND value_match = 'TRUE' THEN
     Add_List_Element(list_id, list_name, list_element_to_add,
     list_value_to_add);
   END IF
END;


GET_LIST_ELEMENT_LABELビルトイン

 例	     関連項目	 すべてのビルトイン

説明

要求されたリスト要素のラベルに関する情報を返します。

構文:

FUNCTION GET_LIST_ELEMENT_LABEL
  (list_id     ITEM,
   list_name   VARCHAR2,
   list_index  NUMBER);

FUNCTION GET_LIST_ELEMENT_LABEL
  (list_name   VARCHAR2,
   list_index  NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

list_id	Form Builderがリスト項目を作成するときに割り当てる一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

list_name	ユーザーがリスト項目を作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

list_index	リスト索引値を指定します。リスト索引は1を基礎としています。リスト内の要素数より大きい値を索引に指定すると、GET_LIST_ELEMENT_LABELビルトインは異常終了します。

使用上の注意

リスト項目の要素に関連付けられた値は、リスト項目の現行の値と同じである必要はありません。つまり、:block.list_itemの値です。


GET_LIST_ELEMENT_LABELの例

/*

**  Built-in:GET_LIST_ELEMENT_LABEL
**  Example:See GET_LIST_ELEMENT_COUNT
*/


GET_LIST_ELEMENT_VALUEビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたリスト項目の要素に関連付けられている値を返します。

構文:

FUNCTION GET_LIST_ELEMENT_VALUE
  (list_id     ITEM,
   list_index  NUMBER);

FUNCTION GET_LIST_ELEMENT_VALUE
  (list_name   VARCHAR2,
   list_index  NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

list_id	Form Builderがリスト項目を作成するときに割り当てる一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

list_name	ユーザーがリスト項目を作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

list_index	リスト索引値を指定します。リスト索引は1を基礎としています。このパラメータは、要求された要素の値を含む文字列を返します。リスト内の要素数より大きい値を索引に指定すると、GET_LIST_ELEMENT_LABELビルトインは異常終了します。


GET_LIST_ELEMENT_VALUEの例

/*

**  Built-in:GET_LIST_ELEMENT_VALUE
**  Example:See GET_LIST_ELEMENT_COUNT
*/


GET_LOV_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定された値リスト（LOV）に関する情報を返します。

取り出すプロパティの値ごとに、このビルトインをコールする必要があります。

構文:

FUNCTION GET_LOV_PROPERTY
  (lov_id, property  LOV);

FUNCTION GET_LOV_PROPERTY
  (lov_name  VARCHAR2,
   property  NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

lov_id	オブジェクト作成時にForm Builderによってそのオブジェクトに割り当てられた重複しないIDを指定します。FIND_LOVビルトインを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型は値リスト型です。

lov_name	ユーザーがオブジェクトを作成したときにそのオブジェクトに付けた名前を指定します。

property	指定した値リストに設定するプロパティを指定します。設定できるプロパティは次のとおりです。

AUTO_REFRESH  このプロパティが「はい」に設定されている場合、つまり値リストがコールされるたびにForm Builderによって問合せが再実行される場合は、VARCHAR2文字列TRUEが返されます。このプロパティが「いいえ」に設定されていれば、VARCHAR2文字列FALSEを返します。

GROUP_NAME現在この値リストに関連付けられているレコード・グループの名前が返されます。その名前のデータ型はVARCHAR2です。

HEIGHT 値リストの高さが返されます。高さの単位は、そのフォームに指定した「座標システム」プロパティの値とデフォルトのフォント・スケーリングによって異なります。

WIDTH値リストの幅が返されます。高さの単位は、そのフォームに指定した「座標システム」プロパティの値とデフォルトのフォント・スケーリングによって異なります。

X_POS  画面の左上隅に対する値リストの左上隅の現行の位置を示すx座標が返されます。

Y_POS  画面の左上隅に対する値リストの左上隅の現行の位置を示すy座標が返されます。


GET_LOV_PROPERTYの例

/*

** Built-in:GET_LOV_PROPERTY
** Example:Can get the width/height of the LOV.
*/
DECLARE
  the_width  NUMBER;
  the_height NUMBER;
  lov_id      LOV;
BEGIN
  lov_id     := Find_LOV('My_LOV_1');
  the_width := Get_LOV_Property(lov_id, WIDTH);
  the_height := Get_LOV_Property(lov_id,HEIGHT);
END;


GET_MENU_ITEM_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

特定のプロパティで指定されたメニュー項目の状態を返します。このビルトイン関数を使用して状態を取得した後、SET_MENU_ITEM_PROPERTYビルトインを使用するとプロパティの状態を変更することができます。

構文:

FUNCTION GET_MENU_ITEM_PROPERTY
  (menuitem_id  MenuItem,
   property     NUMBER);

FUNCTION GET_MENU_ITEM_PROPERTY
  (menu_name.menuitem_name  VARCHAR2,
   property                 NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

menuitem_id	メニュー項目作成時にForm Builderによってその項目に割り当てられた重複しないID。FIND_MENU_ITEMを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型はMENUITEMです。

menu_name. menuitem_name	ユーザーがメニュー項目を作成したときにその項目に付けた名前。名前でメニュー項目を指定する場合は、menu_name.menuitem_nameのように、メニュー項目を修飾するメニュー名も合せて指定してください。データ型はVARCHAR2です。

property	メニュー項目に関する情報を取り出す次の定数をどれか1つ指定します。

CHECKED  チェックボックス・メニュー項目がオンであればVARCHAR2文字列TRUEが返され、オフであればFALSEが返されます。ラジオ・メニュー項目がラジオ・グループ内で選択された項目であればVARCHAR2文字列TRUEを、グループ内の別のラジオ項目が選択されていればFALSEが返されます。その他のタイプのメニュー項目では、TRUEが返されます。

ENABLED　メニュー項目が変更可能であればVARCHAR2文字列TRUEが返され、使用不可であれば（単色で表示され、使用できない場合）、FALSEが返されます。

ICON_NAME  「メニューのアイコン」プロパティがTRUEに設定されたメニュー項目に関連付けられたアイコン・リソースのファイル名が返されます。

LABEL　メニュー項目のラベルのVARCHAR2文字列が返されます。

VISIBLE  メニュー項目を参照できる場合はVARCHAR2文字列TRUEが返され、非表示の場合にはFALSEが返されます。


GET_MENU_ITEM_PROPERTYの例

/*

** Built-in:GET_MENU_ITEM_PROPERTY
** Example:Toggle the enabled/disable status of the menu
**           item whose name is passed in.  Pass in a string
**           of the form 'MENUNAME.MENUITEM'.
*/
PROCEDURE Toggle_Enabled( menuitem_name VARCHAR2) IS
  mi_id MenuItem;
BEGIN
  mi_id := Find_Menu_Item( menuitem_name );
  IF Get_Menu_Item_Property(mi_id,ENABLED) = 'TRUE' THEN
    Set_Menu_Item_Property(mi_id,ENABLED,PROPERTY_FALSE);
  ELSE
    Set_Menu_Item_Property(mi_id,ENABLED,PROPERTY_TRUE);
  END IF;
END;


GET_MESSAGEビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

タイプを問わず、現行のメッセージを返します。

構文:

FUNCTION GET_MESSAGE;

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

なし


GET_MESSAGEの制限事項

Form BuilderまたはMESSAGEビルトイン・コールによって、メッセージが直接表示デバイスに渡された場合のみ、GET_MESSAGEビルトインがインスタンシエートされます。On-Messageトリガーを使用してメッセージをリダイレクトすると、GET_MESSAGEコールでは値が返されません。詳細は、On-Messageトリガーを参照してください。


GET_MESSAGEの例

/*

** Built-in:GET_MESSAGE
** Example:Capture the contents of the Message Line in a
**            local variable
*/
DECLARE
  string_var VARCHAR2(200);
BEGIN
  string_var := Get_Message;
END;


GET_OLE_proptype
GET_OLE_<proptype>

 すべてのビルトイン

説明

OLEプロパティを取得します。

ファンクションには4つのバージョンがあり（proptypeの値によって示される）、引数の型CHAR、NUM、OBJおよびVARについて1つずつあります。

構文:

FUNCTION GET_OLE_CHAR
  (obj OLEOBJ, memberid PLS_INTEGER)
RETURN oleprop VARCHAR2;

...または...

FUNCTION GET_OLE_NUM
  (obj OLEOBJ, memberid PLS_INTEGER)
RETURN oleprop NUMBER;

...または...

FUNCTION GET_OLE_OBJ
  (obj OLEOBJ, memberid PLS_INTEGER)
RETURN oleprop OLEOBJ;

...または...

FUNCTION GET_OLE_VAR
  (obj OLEOBJ, memberid PLS_INTEGER,
   persistence BOOLEAN)
RETURN oleprop OLEVAR;

ビルトイン・タイプ  制限なしファンクション

戻り値  OLEプロパティ。選択されたファンクションのフォームによって、型が変わることに注意してください。

パラメータ

obj	OLEオブジェクトへのポインタ。
memberid	OLEプロパティのメンバーID。
persistence	OLEVAR引数を取り出した後の永続性を制御します。このパラメータはオプションであり、指定しない場合のデフォルト値はFALSEです（つまり非永続）。
使用上の注意

•	INIT_OLEARGSコールとADD_OLEARGコールがこのGET_OLE_typeコールよりも先に発生し、その間にGET_OLE、SET_OLEまたはCALL_OLEの各コールが発生しなかった場合、このコールでは、INIT_OLEARGSコールとADD_OLEARGコールで指定された引数を使用してプロパティが取り出されます。

•	返されるOLEVAR引数はユーザーが永続性を制御できますが、返されるOLEOBJ引数は常に非永続に設定されます。


GET_OLEARG_type
GET_OLEARG_<type>

 すべてのビルトイン

説明

OLE引数スタックからn番目の引数を取得します。

ファンクションには4つのバージョンがあり（typeの値によって示される）、引数の型CHAR、NUM、OBJおよびVARについて1つずつあります。

構文:

FUNCTION GET_OLEARG_CHAR
  (which NUMBER)
RETURN olearg VARCHAR2;

...または...

FUNCTION GET_OLEARG_NUM
  (which NUMBER)
RETURN olearg NUMBER;

...または...

FUNCTION GET_OLEARG_OBJ
  (which NUMBER)
RETURN olearg OLEOBJ;

...または...

FUNCTION GET_OLEARG_VAR
  (which NUMBER, persistence BOOLEAN)
RETURN olearg OLEVAR;

ビルトイン・タイプ  制限なしファンクション

戻り値  指定された引数。使用されるファンクションのフォームによって、型が変わることに注意してください。

パラメータ

which	OLE引数スタックのどの引数を取り出すかを示す相対数。
persistence	OLEVAR引数を取り出した後の永続性を制御します。このパラメータはオプションであり、指定しない場合のデフォルト値はFALSEです（つまり非永続）。
使用上の注意

•	メソッド・コールの結果によって値が変化する可能性のある引数を取り出すには、この関数を使用します。

•	返されるOLEVAR引数はユーザーが永続性を制御できますが、返されるOLEOBJ引数は常に非永続に設定されます。


GET-OLE-MEMBERID;
GET_OLE_MEMBERID

 すべてのビルトイン

説明

OLEオブジェクトのユーザー命名メソッドまたはユーザー命名プロパティのメンバーIDを取得します。

構文:

FUNCTION GET_OLE_MEMBERID
  (obj OLEOBJ, name VARCHAR2)
RETURN memberid PLS_INTEGER;

ビルトイン・タイプ  制限なしファンクション

戻り値  メソッドまたはプロパティのメンバーID

パラメータ

obj	OLEオブジェクトへのポインタ。
name	オブジェクトのメソッドまたはプロパティの名前。
使用上の注意

メンバーIDはハードコードされた値です。返される結果は、OLEサーバーの実行に使用される言語の種類によって異なる場合があります。


GET_PARAMETER_ATTRビルトイン

  関連項目	 すべてのビルトイン

説明

指定されたパラメータ・リスト内の指定されたパラメータの現行の値とタイプを返します。

構文:

FUNCTION GET_PARAMETER_ATTR
  (list       VARCHAR2,
   key        VARCHAR2,
   paramtype  NUMBER,
   value      VARCHAR2);

FUNCTION GET_PARAMETER_ATTR
  (name       VARCHAR2,
   key        VARCHAR2,
   paramtype  NUMBER,
   value      VARCHAR2);

ビルトイン・タイプ 2つのOUTパラメータを返す無制限プロシージャ

問合せ入力モード 可

パラメータ

listまたはname	パラメータを割り当てるパラメータ・リストを指定します。実際のパラメータには、型PARAMLISTのパラメータ・リストIDまたはパラメータ・リストのVARCHAR2名のどちらかを指定できます。

key	パラメータの名前をVARCHAR2で指定します。

paramtype	データ型NUMBERのOUTパラメータ。実パラメータは、データ型NUMBERの変数で指定します。式は指定できません。このパラメータを実行すると、変数の値が次の数値定数のいずれかに設定されます。

DATA_PARAMETER  パラメータの値がレコード・グループの名前であることを示します。

TEXT_PARAMETER   パラメータの値が実際のデータ値であることを示します。

value	VARCHAR2型のOUTパラメータ。このパラメータがデータ型パラメータの場合、値はレコード・グループの名前です。パラメータがテキスト・パラメータの場合は、値は実際のテキスト・パラメータです。

PL/SQLプロシージャでOUTパラメータを使用する場合の概要は、『PL/SQL 2.0ユーザーズ・ガイドおよびリファレンスリリース8.0』を参照してください。


GET_PARAMETER_LISTビルトイン

 例	     関連項目	 すべてのビルトイン

説明

複数のパラメータ・リストから指定されたリストを検索して、指定された名前の有効なパラメータ・リストが見つかれば、パラメータ・リストIDを返します。戻り値を受け取るには、データ型PARAMLISTの変数を定義する必要があります。この関数は、他のオブジェクトを検索する場合に使用するFIND_関数に似ています。

構文:

FUNCTION GET_PARAMETER_LIST
  (name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  ParamList

問合せ入力モード 可

パラメータ

name	有効なパラメータ・リスト名をデータ型 VARCHAR2で指定します。


GET_PARAMETER_LISTの例

CREATE_PARAMETER_LISTビルトインを参照


GET_RADIO_BUTTON_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたラジオ・ボタンに関する情報を返します。

構文:

FUNCTION GET_RADIO_BUTTON_PROPERTY
  (item_id      ITEM,
   button_name  VARCHAR2,
   property     NUMBER);

FUNCTION GET_RADIO_BUTTON_PROPERTY(
  item_name    VARCHAR2,
  button_name  VARCHAR2,
  property     NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

item_id	ラジオ・グループの項目IDを指定します。オブジェクト作成時に、Form Builderによってそのオブジェクトに一意のIDが割り当てられます。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

item_name	ラジオ・グループの名前を指定します。ラジオ・グループは、従属するラジオ・ボタンの所有者または親です。その名前のデータ型はVARCHAR2です。

button_name	プロパティを取得するラジオ・ボタンの名前を指定します。その名前のデータ型はVARCHAR2です。

property	現行の状態を取得するプロパティを指定します。指定できるプロパティの定数は次のとおりです。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

ENABLED  このプロパティが「はい」に設定されていればVARCHAR2文字列TRUEが返され、「いいえ」に設定されていればVARCHAR2文字列FALSEが返されます。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

HEIGHT  ラジオ・ボタンの高さが返される。この値は、データ型VARCHAR2で、また、そのフォームの「座標システム」フォーム・モジュール・プロパティに設定されている単位で返されます。

LABEL  ラジオ・ボタンの実際の文字列ラベルが返されます。

PROMPT_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

PROMPT_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

PROMPT_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

PROMPT_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

PROMPT_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

PROMPT_FONT_STYLE  フォントのスタイル。

PROMPT_FONT_WEIGHT  フォントの太さ。

PROMPT_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

PROMPT_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

VISIBLE  このプロパティが「はい」に設定されていればVARCHAR2文字列TRUEが返され、このプロパティが「いいえ」に設定されていればVARCHAR2文字列FALSEが返されます。

VISUAL_ATTRIBUTE  現在有効な可視属性の名前が返されます。ラジオ・ボタンに名前付き可視属性が割り当てられていない場合は、カスタム可視属性であればCUSTOMが、デフォルトの可視属性であればDEFAULTが返されます。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

WIDTH  ラジオ・ボタンのラベル部分を含んだ幅が返されます。この値は、データ型VARCHAR2で、また、そのフォームの「座標システム」フォーム・モジュール・プロパティに設定されている単位で返されます。

WINDOW_HANDLE  オブジェクトの参照に使用される一意の内部VARCHAR2定数が返されます。プラットフォームがMicrosoft Windowsでなければ数値0が返されます。

X_POS  キャンバスの左上隅に対するボタンの左上隅の現行の位置を示すx座標が返されます。この値は、データ型VARCHAR2で、また、そのフォーム・モジュールの「座標システム」プロパティに設定されている単位で返されます。

Y_POS  キャンバスの左上隅に対するボタンの左上隅の現行の位置を示すy座標が返されます。この値は、データ型VARCHAR2で、また、そのフォーム・モジュールの「座標システム」プロパティに設定されている単位で返されます。


GET_RADIO_BUTTON_PROPERTYの例

/*

** Built-in:GET_RADIO_BUTTON_PROPERTY
** Example:Determine whether a given radio button is
**            displayed and has a particular visual
**            attribute.
*/
DECLARE
  it_id   Item;
  disp    VARCHAR2(5);
  va_name VARCHAR2(40);
BEGIN
  it_id := Find_Item('My_Favorite_Radio_Grp');
  disp    := Get_Radio_Button_Property( it_id, 'REJECTED',                   VISIBLE);
  va_name := Get_Radio_Button_Property( it_id, 'REJECTED',
          VISUAL_ATTRIBUTE);

  IF disp = 'TRUE' AND va_name = 'BLACK_ON_PEACH' THEN
    Message('You win a prize!');
  ELSE
    Message('Sorry, no luck today.');
  END IF;
END;


GET_RECORD_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたブロック内の指定されたレコード行の指定されたプロパティの値を返します。パラメータは3つとも必須です。適切な定数が渡さなければ、Form Builderによってエラーが出力されます。たとえば、record_numbeパラメータには、引数として有効なレコード番号を渡す必要があります。

構文:

FUNCTION GET_RECORD_PROPERTY
  (record_number  NUMBER,
   block_name     VARCHAR2,
   property       NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

record_number	プロパティの値を取得するブロック内のレコードを指定します。レコード番号を数値で指定してください。

block_name	ターゲット・レコードを含むブロックを指定します。

property	現行の状態を取得するプロパティを指定します。指定できるプロパティ定数は、Statusのみです。

STATUSでは、レコードが新規としてマークされ、ブロック内に変更されたレコードが存在しなければNEWが返されます。レコードが変更済みとしてマークされていれば、CHANGEDを返します。レコードが問合せとしてマークされていれば、QUERYを返します。レコードが挿入としてマークされていれば、INSERTを返します。

使用上の注意

NEWステータスが返される状況は、次表のとおりです。

	レコード・ステータス	ブロック・ステータス	フォーム・ステータス
フィールドを修正せずに作成されたレコード	NEW	<N|Q|C>	<N|Q|C>
および現ブロックのすべてのレコードが新規作成	NEW	NEW	<N|Q|C>
および現行のフォームのすべてのブロックが新規作成	NEW	NEW	NEW

次表は、実表項目、および実表や制御ブロック内の制御項目が変更されたときに、レコード、ブロック、フォームのステータスにどのように変化するかを表しています。

ブロックのタイプまたは項目のタイプを変更	変更前のレコード・ステータス	変更後のレコード・ステータス	ブロック・ステータス	フォーム・ステータス
実表ブロック内:実表項目の変更	NEW	INSERT	CHANGED	CHANGED
実表ブロック内の実表項目を変更	QUERY	CHANGED	CHANGED	CHANGED
実表ブロック内の制御項目を変更	QUERY	QUERY	<Q|C>	<Q|C>
および現ブロックに変更されたレコードがない		QUERY	QUERY	<Q|C>
および現行のフォームに変更されたブロックがない		QUERY	QUERY	QUERY
実表ブロック内:制御項目を変更	NEW	INSERT	<Q|C>	<Q|C>
制御ブロック内:制御ブロックを変更	NEW	INSERT	<Q>	<Q|C>
および現ブロックに変更されたレコードがない		INSERT	QUERY	<Q|C>
および現行のフォームに変更されたブロックがない		INSERT	QUERY	QUERY
注意:

通常、データベース項目に対して値を割り当てると、割り当てられる値が前の値と同じである場合でも、レコードのステータスがQUERYからCHANGED（またはNEWからINSERT）に変わります。項目をOUTまたはIN OUTパラメータとしてプロシージャに渡すと、そのプロシージャに対する割当てとしてカウントされます。

GET_RECORD_PROPERTYおよびシステム変数SYSTEM.RECORD_STATUS処理は、どちらも指定されたブロックでレコードの状態に戻り、ほとんどの場合は同一の状態に戻ります。ただし、特定のケースでは、結果が異なることがあります。

GET_RECORD_PROPERTYは処理シーケンスやそのレコードが現レコードかどうかに関係なくレコードのステータスを返すため、GET_RECORD_PROPERTYが返す値は常にNEW、CHANGED、QUERYまたはINSERTです。

一方、システム上に現レコードが存在しないときはSYSTEM.RECORD_STATUSが定義されないため、場合によってSYSTEM.RECORD_STATUSはNULL値を返すことがあります。たとえば、When-Clear-Blockトリガーでは、Form Builderはその処理順序のブロック・ レベルにあります。このためレポートする現レコードがなく、SYSTEM.RECORD_STATUSの値はNULLになっています。


GET_RECORD_PROPERTYの例

/*

** built-in:GET_RECORD_PROPERTY
** Example:Obtain the status of a record in given block
*/
BEGIN
  IF Get_Record_Property(1,'orders',STATUS) = 'NEW' AND
     Get_Record_Property(1,'customers',STATUS) = 'NEW' THEN
    Message('You must enter a customer and order first!');
    RAISE Form_Trigger_Failure;
  END IF;
END;


GET_RELATION_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたリレーション・プロパティのステータスを返します。

構文:

FUNCTION GET_RELATION_PROPERTY
  (relation_id  Relation,
   property     NUMBER);

FUNCTION GET_RELATION_PROPERTY
  (relation_name  VARCHAR2,
   property       NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

relation_id	リレーション作成時にForm Builderによってそのリレーションに割り当てられた重複しないIDを指定します。FIND_RELATIONビルトインを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型はRELATION型です。

relation_name	ユーザーがリレーションを作成するときにそのリレーションに付けた名前、あるいは作成時にForm Builder によってそのリレーションに割り当てられた名前を、データ型VARCHAR2で指定します。

property	現行の状態を取得するプロパティを指定します。指定できるプロパティ定数は次のとおりです。

AUTOQUERY  「自動問合せ」リレーション・プロパティが「はい」に設定されていればVARCHAR2値TRUEが返され、「いいえ」に設定されていればFALSEが返されます。「延期」リレーション・プロパティが「はい」に設定されている場合は、別のレコードがマスター・ブロックの現レコードになるときに、Form Builderがディテール・ブロックを自動的に挿入するかどうかがこのプロパティによって決定されます。

DEFERRED_COORDINATION  「延期」リレーション・プロパティが「はい」に設定されていればVARCHAR2値TRUEが返され、「いいえ」に設定されていればFALSEが返されます。ディテール・ブロックがただちに現行のマスター・レコードを使用して調整されるか、このプロパティによってオペレータがディテール・ブロックへナビゲートするまでクリアな状態で残されるかが決定されます。

DETAIL_NAME  指定したマスター/ディテールのリレーションでのディテール・ブロックの名前がVARCHAR2型で返されます。

MASTER_DELETES  ブロックの「レコード削除の動作」リレーション・プロパティの現在の設定を示す、NON_ISOLATED、ISOLATEDまたはCASCADINGのVARCHAR2値が返されます。

MASTER_NAME  指定したマスター/ディテールのリレーションでのマスター・ブロックの名前がVARCHAR2型で返されます。

NEXT_DETAIL_RELATION次のディテール・リレーションが存在する場合、そのディテール・リレーションの名前がVARCHAR2型で返されます。指定されたブロックの最初のディテール・リレーションの名前を取得するには、GET_BLOCK_PROPERTYビルトインをコールします。そのようなリレーションが存在しなければ、NULLが返されます。

NEXT_MASTER_RELATION次のリレーションが存在する場合、そのリレーションの名前がVARCHAR2型で返されます。指定されたブロックの最初のマスター・リレーションの名前を取得するには、GET_BLOCK_PROPERTYビルトインをコールします。そのようなリレーションが存在しなければ、NULLが返されます。

PREVENT_MASTERLESS_OPERATION  このリレーション・プロパティが「はい」に設定されていればVARCHAR2値TRUEが返され、「いいえ」に設定されていればFALSEが返されます。「はい」に設定されている場合、Form Builderでは、マスター・ブロックにマスター・レコードがなければディテール・ブロックへレコードを挿入できません。さらに、データベースからのマスター・レコードがなければディテール・ブロックでの問合せは許可されません。


GET_RELATION_PROPERTYの例

/*

** Built-in:GET_RELATION_PROPERTY
** Example:If the relation is not deferred, then go
**            coordinate the detail block.Otherwise, mark
**            the detail block as being in need of
**            coordination for an eventual deferred query.
*/
PROCEDURE Query_The_Details(rel_id Relation,
    detail VARCHAR2) IS
BEGIN
  IF Get_Relation_Property(rel_id, DEFERRED_COORDINATION)
   = 'FALSE' THEN
    Go_Block(detail);
    IF NOT Form_Success THEN
      RAISE Form_Trigger_Failure;
    END IF;
    Execute_Query;
  ELSE
    Set_Block_Property(detail, coordination_status,
             NON_COORDINATED);
  END IF;
End;


GET_REPORT_OBJECT_PROPERTYビルトイン

 例	 すべてのビルトイン

説明

レポート・オブジェクトのプロパティをプログラムによって取得します。

構文:

FUNCTION GET_REPORT_OBJECT_PROPERTY
  (report_id REPORT_OBJECT,
   property NUMBER
);

FUNCTION GET_REPORT_OBJECT_PROPERTY
  (report_name VARCHAR2,
   property NUMBER
);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

report_id	レポートの一意のIDを指定します。FIND_REPORT_OBJECTを使用すると、特定のレポートのレポートIDを取得できます。

report_name	レポートの一意の名前を指定します。

property	次のいずれかの定数です。

REPORT_EXECUTION_MODE:レポート実行モード、BATCHまたはRUNTIMEの文字列値が返されます。

REPORT_COMM_MODE:レポート通信モード、SYNCHRONOUSまたはASYNCHRONOUSの文字列値が返されます。

REPORT_DESTYPE:レポート宛先タイプ、PREVIEW、FILE、PRINTER、MAIL、CACHEまたはSCREENの文字列値が返されます。

REPORT_FILENAME:レポート・ファイル名の文字列値が返されます。

REPORT_SOURCE_BLOCK:レポート・ソース・ブロック名の文字列値が返されます。

REPORT_QUERY_NAME:レポート問合せ名の文字列値が返されます。

REPORT_DESNAME:レポート宛先名の文字列値が返されます。

REPORT_DESFORMAT:レポート宛先フォーマットの文字列値が返されます。

REPORT_SERVER:レポート・サーバー名の文字列値が返されます。

REPORT_OTHER:ユーザー指定による他のレポート・プロパティの文字列が返されます。

使用上の注意

•	GET_REPORT_OBJECT_PROPERTYは、すべてのプロパティの文字列値を返します。それとは対照的に、SET_REPORT_OBJECT_PROPERTYでは、定数値または文字列値を使用してプロパティを設定します。値の型は、設定されている特定のプロパティによって異なります。


GET_REPORT_OBJECT_PROPERTYの例

DECLARE

repid REPORT_OBJECT;

report_prop VARCHAR2(20);

BEGIN

repid := find_report_object('report4');

report_prop := get_report_object_property(repid,
          REPORT_EXECUTION_MODE);

message('REPORT EXECUTION MODE PROPERTY IS ' || report_prop);

report_prop  := get_report_object_property(repid, REPORT_COMM_MODE);

message('REPORT COMM_MODE PROPERTY IS ' || report_prop);

report_prop  := get_report_object_property(repid, REPORT_DESTYPE);

message('REPORT DESTYPE PROPERTY IS ' || report_prop);

report_prop := get_report_object_property(repid, REPORT_FILENAME);

message('REPORT_FILENAME PROPERTY IS ' || report_prop);

END;


GET_TAB_PAGE_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたタブ・ページのプロパティの値を返します。

構文:

FUNCTION GET_TAB_PAGE_PROPERTY
  (tab_page_id  TAB_PAGE,
   property     NUMBER);

FUNCTION GET_TAB_PAGE_PROPERTY
  (tab_page_name  VARCHAR2,
   property       NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

tab_page_id	タブ・ページ作成時にForm Builderによってそのページに割り当てられた重複しないID。FIND_TAB_PAGEビルトインを使用すると、このIDをデータ型TAB_PAGEの変数に返すことができます。

tab page_name	ユーザーがタブ・ページを作成したときにそのページに付けた名前。注意: 同じフォーム・モジュールに同じ名前のタブ・ページが2つある場合は、キャンバス名とタブ・ページ名（例: CVS_1.TAB_PG_1）を指定してください。

property	指定したタブ・ページで値を取り出すプロパティ。設定できるプロパティは次のとおりです。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

CANVAS_NAME タブ・ページが属するキャンバスの名前がVARCHAR2型で返されます。

ENABLED  タブ・ページが変更可能であればVARCHAR2文字列TRUEが返され、使用不可であれば（たとえば淡色で表示され、使用できない場合）FALSEが返されます。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

LABEL タブ・ページのラベル用のVARCHAR2文字列が返されます。

VISIBLE  タブ・ページが表示される場合はVARCHAR2文字列TRUEが返され、表示されない場合はFALSEが返される。タブ・ページが現在画面にマップされていれば、そのページが他のタブ・ページの後ろに隠れていても、そのページは参照可能とみなされます。

VISUAL_ATTRIBUTE  現在有効な可視属性の名前が返されます。タブ・ページに名前付き可視属性が割り当てられていない場合は、カスタム可視属性であればCUSTOM がデフォルトの可視属性であればDEFAULTが返されます。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。


GET_TAB_PAGE_PROPERTYの例

/* Use FIND_TAB_PAGE and GET_TAB_PAGE_PROPERTY to check

** if a tab page is enabled:
*/
DECLARE
  tp_id  TAB_PAGE;
  live   VARCHAR2(32);

BEGIN
  tp_id := FIND_TAB_PAGE('tab_page_1');
  live  := GET_TAB_PAGE_PROPERTY(tp_id, enabled);
END;


GET_TREE_NODE_PARENTビルトイン

 例	 すべてのビルトイン

説明

指定されたノードの親を返します。

構文:

FUNCTION GET_TREE_NODE_PARENT

   (item_name VARCHAR2

node NODE);

FUNCTION GET_TREE_NODE_PARENT

   (item_id ITEM

node NODE);

戻り値  NODE

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
node	有効なノードを指定します。


GET_TREE_NODE_PARENTの例

/*

** Built-in:GET_TREE_NODE_PARENT
*/

-- This code could be used in a WHEN-TREE-NODE-SELECTED

-- trigger to locate the parent of the node that was

-- clicked on.

DECLARE

htree         ITEM;

parent_node   FTREE.NODE;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Get the parent of the node clicked on.

parent_node := Ftree.Get_Tree_Node_Parent(htree, :SYSTEM.TRIGGER_NODE);

   ...

END;


GET_TREE_NODE_PROPERTYビルトイン

 例	 すべてのビルトイン

説明

階層ツリー・ノードの指定されたプロパティの値を返します。

構文:

FUNCTION GET_TREE_NODE_PROPERTY

(item_name VARCHAR2,

node NODE,

property NUMBER);

FUNCTION GET_TREE_NODE_PROPERTY

(item_id ITEM,

node NODE,

property NUMBER);

戻り値  VARCHAR2

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
node	有効なノードを指定します。
property	次のいずれかのプロパティを指定します。 NODE_STATE   階層ツリー・ノードの状態が返されます。EXPANDED_NODE、COLLAPSED_NODEまたはLEAF_NODEのいずれかです。 NODE_DEPTH   階層ツリー・ノードのネスト・レベルが返されます。 NODE_LABEL   ラベルが返されます。 NODE_ICON   アイコン名が返されます。 NODE_VALUE   階層ツリー・ノードの値が返されます。


GET_TREE_NODE_PROPERTYの例

/*

** Built-in:GET_TREE_NODE_PROPERTY
*/

-- This code could be used in a WHEN-TREE-NODE-SELECTED

-- trigger to return the value of the node that was

-- clicked on.

DECLARE

htree         ITEM;

node_value    VARCHAR2(100);

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Find the value of the node clicked on.

node_value := Ftree.Get_Tree_Node_Property(htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_VALUE);

   ...

END;


GET_TREE_PROPERTYビルトイン

 例	 すべてのビルトイン

説明

指定された階層ツリーのプロパティ値を返します。

構文:

FUNCTION GET_TREE_PROPERTY

(item_name VARCHAR2,

property NUMBER);

FUNCTION GET_TREE_PROPERTY

(item_id ITEM,

property NUMBER);

戻り値  VARCHAR2

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 不可

パラメータ

item_name	オブジェクトの作成時に付けた名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
property	次のいずれかのプロパティを指定します。 DATASOURCE   Form Builder内でまたはSET_TREE_PROPERTYビルトインを使用して、階層ツリーを最初に生成するときに使用したソースが返されます。Form Builderでどちらのプロパティも設定されなかった場合、EXTERNALが返されます。 RECORD_GROUP   Form Builder内でまたはSET_TREE_PROPERTYビルトインを使用して、階層ツリーを最初に生成するときに使用したRECORDGROUPが返されます。NULL文字列の場合があります。 QUERY_TEXT   Form Builder内でまたはSET_TREE_PROPERTYビルトインを使用して、階層ツリーを最初に生成するときに使用した問合せのテキストが返されます。NULL文字列の場合があります。 NODE_COUNT   階層ツリーのデータ・セット内の行数が返されます。 SELECTION_COUNT   階層ツリー内で選択されている行の数が返されます。 ALLOW_EMPTY_BRANCHES   文字列、TRUEまたはFALSEが返されます。 ALLOW_MULTI-SELECT   文字列、TRUEまたはFALSEが返されます。
使用上の注意

データソース、RECORD_GROUPおよびQUERY_TEXTによって返される値は、ツリーの現行の値または状態を反映しているとは限りません。返される値は、Form Builderに設定された値で、SET_TREE_PROPERTYビルトインを使用して設定された値ではありません。


GET_TREE_PROPERTYの例

/*

** Built-in:GET_TREE_PROPERTY
*/

-- This code could be used to find out how many nodes are

-- in a given tree.

DECLARE

htree         ITEM;

node_count    NUMBER;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Get the node count of the tree.

node_count := Ftree.Get_Tree_Property(htree, Ftree.NODE_COUNT);

   ...

END;


GET_TREE_SELECTIONビルトイン

 例	 すべてのビルトイン

説明

selectionによって示されるデータ・ノードを返します。selectionは選択されたノード・リストの索引です。

構文:

FUNCTION GET_TREE_SELECTION

(item_name VARCHAR2,

selection NUMBER);

FUNCTION GET_TREE_SELECTION

(item_id ITEM,

selection NUMBER);

戻り値  FTREE.NODE

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
selection	単一ノードの選択を指定します。


GET_TREE_SELECTIONの例

/*

** Built-in:GET_TREE_SELECTION
*/

-- This code will process all tree nodes marked as selected.See the

-- Ftree.Set_Tree_Selection built-in for a definition of "selected".

DECLARE

htree         ITEM;

num_selected  NUMBER;

current_node  FTREE.NODE;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Find the number of nodes marked as selected.

num_selected := Ftree.Get_Tree_Property(htree, Ftree.SELECTION_COUNT);

-- Loop through selected nodes and process them.If you are deleting

-- nodes, be sure to loop in reverse!

FOR j IN 1..num_selected LOOP

current_node := Ftree.Get_Tree_Selection(htree, j);

      ...

END LOOP;

END;


GET_VA_PROPERTYビルトイン

 すべてのビルトイン

説明

指定されたプロパティの可視属性プロパティ値を返します。

構文:

FUNCTION GET_VA_PROPERTY

(va_id VISUALATTRIBUTE

property NUMBER);

FUNCTION GET_VA_PROPERTY

(va_name VARCHAR2

property NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

va_id	可視属性の作成時にForm Builderによって割り当てられる一意のID。データ型はVISUALATTRIBUTEです。
va_name	可視属性の作成時に付けた名前。データ型はVARCHAR2です。
property	次のいずれかのプロパティを指定します。 BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。  FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。  FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。  FONT_SIZE  ポイント数で指定されるフォントのサイズ。たとえば、8ptは800です。 FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。  FONT_STYLE  フォントのスタイル。  FONT_WEIGHT  フォントの太さ。  FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。  WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。


GET_VAR_BOUNDS

 すべてのビルトイン

説明

OLEバリアントの配列の境界を取得します。

構文:

PROCEDURE GET_VAR_BOUNDS
  (var OLEVAR, bounds OLE_SAFEARRAYBOUNDS);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

var	バリアント。
bounds	配列の境界によって生成されるPL/SQL表。 このパラメータの内容とレイアウトの詳細は、OLE用配列型のサポートを参照してください。


GET_VAR_DIMS

 すべてのビルトイン

説明

OLEバリアントが配列かどうかを判別し、もし配列である場合は配列の次元数を取得します。

構文:

FUNCTION GET_VAR_DIMS
  (var OLEVAR)
RETURN vardims PLS_INTEGER;

ビルトイン・タイプ  制限なしファンクション

戻り値  バリアントが配列でない場合、ゼロ(0)の値。バリアントが配列の場合、戻り値は配列の次元数です。

パラメータ

var	バリアント。


GET_VAR_TYPE

 すべてのビルトイン

説明

OLEバリアントの型を取得します。

構文:

FUNCTION GET_VAR_TYPE
  (var OLEVAR)
RETURN vartype VT_TYPE;

ビルトイン・タイプ  制限なしファンクション

戻り値  変数の型

パラメータ

var	バリアント。
vartype	バリアントの型。
使用上の注意

サポートされるVT_TYPEのリストは、OLEバリアントの型に記載されています。


GET_VERB_COUNT

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

OLEサーバーが認識する動詞の数を返します。OLEオブジェクト上で実行可能なアクションをOLE動詞で指定しますが、使用できる動詞の数はOLEサーバーによって異なります。動詞の数は、VARCHAR2文字列として返されるので、各動詞の索引と名前を決定する際に使用するNUMBERに変換する必要があります。適切な型を持つ変数を定義して戻り値を受け取ります。

構文:

FUNCTION GET_VERB_COUNT
  (item_id  Item);

FUNCTION GET_VERB_COUNT
  (item_name VARCHAR2);

戻り値  VARCHAR2

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 不可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。


GET_VERB_COUNTの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


GET_VERB_COUNTの例

/*

** Built-in:GET_VERB_COUNT
** Example:Obtains the number of verbs that the OLE server
** issues and recognizes when executed from the OLE container.
** Trigger:When-Button-Pressed
*/
DECLARE
 item_id  ITEM;
 item_name VARCHAR(25) := 'OLEITM';
 verb_cnt_str VARCHAR(20);
 verb_cnt NUMBER;
 verb_name VARCHAR(20);
 loop_cntr NUMBER;
BEGIN
 item_id := Find_Item(item_name);
 IF Id_Null(item_id) THEN
  message('No such item:'||item_name);
 ELSE
  verb_cnt_str := Get_Verb_Count(item_id);
  verb_cnt := TO_NUMBER(verb_cnt_str);
  FOR loop_cntr in 1..verb_cnt LOOP
    verb_name := Get_Verb_Name(item_id,loop_cntr);
    IF verb_name = 'Edit' THEN
   Exec_Verb(item_id,verb_name);
    END IF;
  END LOOP;
 END IF;
END;


GET_VERB_NAME

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

所要の動詞索引と対応する動詞名を返します。OLEオブジェクト上で実行可能なアクションをOLE動詞で指定すると、OLE動詞のそれぞれに対応するOLE動詞索引が付加されます。適切な型を持つ変数を定義して戻り値を受け取ります。

構文:

FUNCTION GET_VERB_NAME
  (item_id     Item,
   verb_index  VARCHAR2);

FUNCTION GET_VERB_NAME
  (item_name   VARCHAR2,
   verb_index  VARCHAR2);

戻り値  VARCHAR 2

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 不可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型はVARCHAR2です。

verb_index	動詞の数値索引を指定します。この値を取得するFIND_OLE_VERBビルトインを使用します。索引のデータ型はVARCHAR2です。


GET_VERB_NAMEの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


GET_VERB_NAMEの例

/*

** Built-in:GET_VERB_COUNT
** Example:See EXEC_VERB and GET_VERB_COUNT
*/


GET_VIEW_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたキャンバスの指定されたプロパティの設定値を返します。

構文:

FUNCTION GET_VIEW_PROPERTY
  (view_id   ViewPort,
   property  NUMBER);

FUNCTION GET_VIEW_PROPERTY
  (view_name  VARCHAR2,
   property   NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

view_id	オブジェクト作成時にForm Builder によってキャンバスに割り当てられた重複しないIDを指定します。FIND_VIEWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はViewPort型です。

view_name	ユーザーがオブジェクト定義時にそのオブジェクトに与えた名前を指定します。

property	指定したキャンバスで状態を取得するプロパティを指定します。使用例のように、状態を取得するプロパティごとにGET_VIEW_PROPERTYビルトインのコールをする必要があります。プロパティに指定できる定数は次のとおりです。

DIRECTION   両方向オブジェクトのレイアウト方向が返されます。有効な戻り値はRIGHT_TO_LEFT、LEFT_TO_RIGHTです。

HEIGHT  ビューの高さが返されます。内容ビューでは、ビューの高さはビューが現在表示されているウィンドウの実際の高さです。高さの単位は、そのフォーム・モジュールに対して「座標システム」プロパティをどのように定義したかによって異なります。

VIEWPORT_X_POS  スタック・キャンバスの場合は、ウィンドウの現内容キャンバスの左上隅に対するビューの左上隅の現行の位置を示すx座標が返されます。内容ビューの場合は、0が返されます。この値は、VARCHAR2のデータ型で返され、フォーム・モジュールの「座標システム」プロパティに設定された単位で返されます。

VIEWPORT_Y_POS  スタック・キャンバスの場合は、ウィンドウの現内容キャンバスの左上隅に対するビューの左上隅の現行の位置を示すy座標が返されます。内容ビューの場合は、0が返されます。この値は、VARCHAR2のデータ型で返され、フォーム・モジュールの「座標システム」プロパティに設定された単位で返されます。

VIEWPORT_X_POS_ON_CANVAS   キャンバスの左上隅に対するビューの左上隅の現行の位置を示すx座標が返されます。この値は、データ型VARCHAR2で、また、そのフォーム・モジュールの「座標システム」プロパティに設定されている単位で返されます。

VIEWPORT_Y_POS_ON_CANVAS  キャンバスの左上隅に対するビューの左上隅の現行の位置を示すy座標が返されます。この値は、データ型VARCHAR2で、また、そのフォーム・モジュールの「座標システム」プロパティに設定されている単位で返されます。

VISIBLE  ビューが表示される場合は、VARCHAR2文字列TRUEが返され、表示されない場合はFALSEが返されます。1） ウィンドウの一番手前に表示されている場合、または 2） 他のビューに一部のみが隠れている場合に、ビューは参照可能とみなされます。また、1） 内容ビューの後ろに隠れたスタック・ビューがある場合、または 2） 特定のスタック・ビューの後ろにビュー全体が隠れている場合に、ビューは参照不能とみなされます。なお、このプロパティは、現行のウィンドウの表示状態とは無関係です。したがって、ウィンドウが現在隠されていたりアイコン化されていたりしても、ビューは参照可能とみなされることがあります。

WIDTH  ビューの幅が返されます。内容ビューでは、ビューの幅はビューが現在表示されているウィンドウの実際の幅です。高さの単位は、そのフォーム・モジュールに対して「座標システム」プロパティをどのように定義したかによって異なります。

WINDOW_NAMEキャンバスが表示されているウィンドウの名前が返されます。


GET_VIEW_PROPERTYの例

/*

** Built-in:GET_VIEW_PROPERTY
** Example:Use the Width, and display position of one
**            stacked view (View1) to determine where to
**            position another one (View2) immediately to its
**            right.
*/
PROCEDURE Anchor_To_Right( View2 VARCHAR2, View1 VARCHAR2) IS
  vw_id1 ViewPort;
  vw_id2 ViewPort;
  x      NUMBER;
  y      NUMBER;
  w      NUMBER;
BEGIN
  /*
  ** Find View1 and get its (x,y) position, width
  */
  vw_id1 := Find_View(View1);
  x      := Get_View_Property(vw_id1,VIEWPORT_X_POS);
  y      := Get_View_Property(vw_id1,VIEWPORT_Y_POS);
  w      := Get_View_Property(vw_id1,WIDTH);
  /*
  ** Anchor View2 at (x+w,y+h)
  */
  vw_id2 := Find_View(View2);
  Set_View_Property(vw_id2,VIEWPORT_X_POS, x+w );
  Set_View_Property(vw_id2,VIEWPORT_Y_POS, y );
END;


GET_WINDOW_PROPERTYビルトイン

  関連項目	 すべてのビルトイン

説明

指定されたウィンドウの指定されたウィンドウ・プロパティの現行の設定値を返します。

構文:

FUNCTION GET_WINDOW_PROPERTY
  (window_id  Window,
   property   NUMBER);

FUNCTION GET_WINDOW_PROPERTY
  (window_name  VARCHAR2,
   property     NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

使用上の注意

Microsoft Windows上では、定数FORMS_MDI_WINDOWを使用してMDIアプリケーション・ウィンドウを参照することができます。

パラメータ

window_id	Form Builderによりウィンドウ作成時に割り当てられる一意の ID を指定します。FIND_WINDOWのビルトインを使用して、そのIDを適切な型の変数に戻します。このIDのデータ型はWINDOW型です。

window_name	ウィンドウの作成時に付けた名前を指定します。

property	FIND_WINDOWビルトインの使用例のように、値を取得するプロパティごとにGET_WINDOW_PROPERTYビルトインをコールする必要があります。プロパティの現行の値や状態を取得する次の定数をどれか1つ指定します。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

DIRECTION   両方向オブジェクトのレイアウト方向が返されます。有効な戻り値はRIGHT_TO_LEFT、LEFT_TO_RIGHTです。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

HEIGHT  ウィンドウの高さが返されます。

HIDE_ON_EXIT  ウィンドウの「終了時に隠す」プロパティが「はい」に設定されていればVARCHAR2値TRUEが返され、「いいえ」に設定されていればFALSEが返されます。

ICON_NAME  最小化時にウインドウ項目に関連するアイコン・リソースのファイル名が返されます。

TITLE  ウィンドウのタイトルが返されます。

VISIBLE  ビューが表示される場合は、VARCHAR2値TRUEが返され、表示されない場合はFALSEが返されます。ウィンドウが現在画面にマップされていれば、ウィンドウ全体が別のウィンドウの後ろに隠れていたりアイコン化（最小化）されていたりしても、ウィンドウは参照可能とみなされます。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

WIDTH  ウィンドウの幅が返されます。

WINDOW_HANDLE  オブジェクトの参照に使用される一意の内部VARCHAR2定数が返されます。プラットフォームがMicrosoft Windowsでなければ数値 0 が返されます。

WIDOW_SIZE  ウィンドウの幅と高さがコンマで区切られた文字列で返されます。

WINDOW_STATE  ウィンドウの現行の表示状態が返されます。ウィンドウの表示状態は、VARCHAR2文字列NORMAL、MAXIMIZEまたはMINIMIZEです。

X_POS  画面上でのウィンドウの現行の表示位置を示すx座標が返されます。

Y_POS  画面上でのウィンドウの現行の表示位置を示すy座標が返されます。


GO_BLOCKビルトイン

 例	     関連項目	 すべてのビルトイン

説明

GO_BLOCKビルトインは、指定されたブロックにナビゲートします。ターゲット・ブロックが入力不可ブロックの場合は、エラーが発生します。

構文:

PROCEDURE GO_BLOCK
  (block_name  VARCHAR2);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

block_name	ユーザーがブロックを定義したときにそのブロックに付けた名前を指定します。その名前のデータ型はVARCHAR2です。


GO_BLOCKの例

/*

** Built-in:GO_BLOCK
** Example:Navigate to a block by name.Make sure to check
**            that the Go_Block succeeds by checking FORM_SUCCESS.
*/
BEGIN
  IF :Global.Flag_Indicator = 'NIGHT' THEN
    Go_Block('Night_Schedule');
    /*
    ** One method of checking for block navigation success.
    */
    IF NOT FORM_SUCCESS THEN
      RAISE Form_Trigger_Failure;
    END IF;
  ELSIF :Global.Flag_Indicator = 'DAY' THEN
    Go_Block('Day_Schedule');
    /*
    ** Another way of checking that block navigation
    ** succeeds.If the block the cursor is in hasn't
    ** changed after a block navigation, something went
    ** wrong.This method is more reliable than simply
    ** checking FORM_SUCCESS.
    */
    IF :System.Trigger_Block = :System.Cursor_Block THEN
      RAISE Form_Trigger_Failure;
    END IF;
  END IF;
  Execute_Query;
  Go_Block('Main');
END;


GO_FORMビルトイン

 制限事項	    関連項目	 すべてのビルトイン

説明

マルチフォーム・アプリケーションで、現フォームから指定されたターゲット・フォームにナビゲートします。GO_FORMビルトインを使用してナビゲートすると、妥当性検査は一切行われず、また、ナビゲーションを開始したフォームに対して起動されるWHEN-WINDOW-DEACTIVATEDとターゲット・フォーム内のターゲット・ウィンドウに対して起動されるWHEN-WINDOW-ACTIVATEDを除けば、トリガーもまったく起動されません。

まだオープンされていないフォームにナビゲートしようとすると、エラーが発生します。

構文:

PROCEDURE GO_FORM
  (form_id  FORMMODULE);

PROCEDURE GO_FORM
  (form_name  VARCHAR2);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

form_id	実行時にインスタンス化されたときにフォームに動的に割り当てられる、一意のID。FIND_FORMビルトインを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型はFORMMODULEです。

form_name	ターゲット・フォームの名前。この名前のデータ型はVARCHAR2です。GO_FORMビルトインは、.fmxファイルの名前ではなく、フォームのモジュール名を検索しようとします。


GO_FORMの制限事項

CALL_FORMがある別のフォームを起動した結果として現在使用禁止となっているフォームはターゲット・フォームにはできません。


GO_ITEM ビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

GO_ITEMを使用して、指示された項目にナビゲートします。GO_ITEMビルトインは、ターゲット項目の「キーボードで移動可」プロパティが「いいえ」に設定されている場合も使用できます。

構文:

PROCEDURE GO_ITEM
  (item_id  Item);

PROCEDURE GO_ITEM
  (item_name  VARCHAR2);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。IDのデータ型はITEMです。

item_name	ユーザーが設計時に項目の名前として定義した文字列を指定します。その名前のデータ型はVARCHAR2です。


GO_ITEMの制限事項

GO_ITEM('emp.ename');

•	「問合せ入力」モードで、別のブロック内の項目にナビゲートする場合は、GO_ITEMを使用できません。

•	VARCHAR2項目や図表項目などのナビゲート不可項目にナビゲートする場合は、GO_ITEMを使用できません。


GO_ITEMの例

/*

** Built-in:GO_ITEM
** Example:Invoke a dialog window by navigating to
**            an item which is on the canvas which the window
**            displays.
*/
PROCEDURE Open_Preference_Dialog IS
BEGIN
 Go_Item('pref_dialog.printer_name');
END;


GO_RECORDビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定されたレコード番号のレコードにナビゲートします。

構文:

PROCEDURE GO_RECORD
  (record_number  NUMBER);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

record_number	PL/SQLで数値に評価される任意の整数値を指定します。この整数値には、TO_NUMBER(:SYSTEM.TRIGGER_RECORD) + 8などのシステム変数に対するコールから導出された値が含まれます。

システム変数SYSTEM.CURSOR_RECORDまたはSYSTEM.TRIGGER_RECORDを使用し、レコードの順序番号を調べることができます。


GO_RECORDの制限事項

•	問合せがオープンされており、指定されたレコード番号がすでにフェッチされたレコード数より大きい場合は、このビルトイン・コールを満足するためにForm Builderによってさらにレコードがフェッチされます。


GO_RECORDの例

/*

** Built-in:GO_RECORD
** Example:Navigate to a record in the current block
**            by record number.Also see FIRST_RECORD and
**            LAST_RECORD built-ins.
*/
BEGIN
  Go_Record( :control.last_record_number );
END;


HELPビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

現項目のヒント・メッセージをメッセージ行に表示します。ヒント・メッセージが既に表示されている場合、HELPではその項目の詳細ヘルプ画面が表示されます。

構文:

PROCEDURE HELP;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし


HELPの例

/*

** Built-in:HELP
** Example:Gives item-level hint/help.
*/
BEGIN
  Help;
END;


HIDE_MENUビルトイン

 例  [image] すべてのビルトイン

説明

文字モードのプラットフォームで現メニューが表示中であればそれを消して、そのメニューの背後に隠れているフォ－ム表示をすべて表示します。このメニューは、SHOW_MENUビルトインの起動時、またはオペレータが「Menu」を押したときに再表示されます。

構文:

PROCEDURE HIDE_MENU;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


HIDE_MENUの例

/*

** Built-in:HIDE_MENU
** Example:Hides the menu from view on character-mode or
**           block-mode devices
*/
BEGIN
  Hide_Menu;
END;


HIDE_VIEWビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

指示されたキャンバスを隠します。

構文:

PROCEDURE HIDE_VIEW
  (view_id  ViewPort);

PROCEDURE HIDE_VIEW
  (view_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

説明

指示されたキャンバスを隠します。

パラメータ

view_id	Form Builderによりビュー作成時に割り当てられる一意のIDを指定します。FIND_VIEWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はVIEWPORT型です。

view_name	ユーザーがビュー作成時にそのビューに与えた名前を指定します。


HIDE_VIEWの例

/*

** Built-in:HIDE_VIEW
** Example:Programmatically dismiss a stacked view from the
**            operator's sight.
*/
PROCEDURE Hide_Button_Bar IS
BEGIN
  Hide_View('Button_Bar');
END;


HIDE_WINDOWビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

ウィンドウを隠します。HIDE_WINDOWは、SET_WINDOW_PROPERTYをコールすることによりVISIBLEを「No」に設定するのと同じです。

構文:

PROCEDURE HIDE_WINDOW
(window_id  Window);

PROCEDURE HIDE_WINDOW
(window_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

window_id	Form Builderによりウィンドウ作成時に割り当てられる一意のIDを指定します。FIND_WINDOWのビルトインを使用して、そのIDを適切な型の変数に戻します。このIDのデータ型はWINDOW型です。

window_name	ウィンドウの作成時に付けた名前を指定します。


HIDE_WINDOWの例

/*

** Built-in:HIDE_WINDOW
** Example:When a main window is closed, hide other
**            "subordinate" windows automatically.To
**            establish this window hierarchy we might define
**            a static record group in the form called
**            'WINDOW_HIERARCHY' with a structure of:
**
**               Parent_Window      Child_Window
**               -------------      -------------
**                 MAIN               DETAIL1
**                 MAIN               DETAIL2
**                 DETAIL1            DETAIL3
**                 DETAIL1            DETAIL4
**                 DETAIL2            DETAIL5
**                 DETAIL3            DETAIL6
**
**           We also have to make sure we navigate to some
**           item not on any of the canvases shown in the
**           windows we are closing, or else that window
**           will automatically be re-displayed by forms
**           since it has input focus.
*/
PROCEDURE Close_Window( wn_name VARCHAR2,
           dest_item VARCHAR2 ) IS
  rg_id        RecordGroup;
  gc_parent    GroupColumn;
  gc_child     GroupColumn;
  the_Rowcount NUMBER;
  /*
  ** Local function called recursively to close children at
  ** all levels of the hierarchy.
  */
  PROCEDURE Close_Win_With_Children( parent_win VARCHAR2 ) IS
    the_child  VARCHAR2(40);
    the_parent VARCHAR2(40);
  BEGIN
    FOR j IN 1..the_Rowcount LOOP
      the_parent := Get_Group_Char_Cell(gc_parent,j);
      /* If we find a matching parent in the table */
      IF UPPER(the_parent) = UPPER(parent_win) THEN
    the_child := Get_Group_Char_Cell(gc_child,j);
    /*
    ** Close this child and any of its children
    */
    Close_Win_With_Children( the_child );
      END IF;
    END LOOP;
    /*
    ** Close the Parent
    */
    Hide_Window( parent_win );
  END;
BEGIN
  /*
  ** Setup
  */
  rg_id        := Find_Group('WINDOW_HIERARCHY');
  gc_parent    := Find_Column('WINDOW_HIERARCHY.PARENT_WINDOW');
  gc_child     := Find_Column('WINDOW_HIERARCHY.CHILD_WINDOW');
  the_Rowcount := Get_Group_Row_Count(rg_id);
  /* Close all the child windows of 'wn_name' */
  Close_Win_With_Children( wn_name );
  /* Navigate to the Destination Item supplied by the caller */
  Go_Item( dest_item );
END;


HOSTビルトイン

 例  [image] すべてのビルトイン

説明

指示されたオペレーティング・システム・コマンドを実行します。

構文:

PROCEDURE HOST
(system_command_string  VARCHAR2);

PROCEDURE HOST
  (system_command_string  VARCHAR2,
   screen_action          NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

system_command_string	特定のオペレーティング・システムに渡すシステム・コマンドを指定します。

screen_action	次のいずれかの定数を指定します。

パラメータなし  Form Builderに次のことを実行するよう指定します。

•	スクリーンを消去します。

•	オペレータにそのコマンドから戻ることを求めます。

NO_PROMPT  Form Builderに次のことを実行するよう指定します。

•	スクリーンを消去します（オペレータにそのコマンドから戻ることを求めません）。

NO_SCREEN  Form Builderに次のことを実行するよう指定します。

•	スクリーンを消去しません。

•	オペレータに、システム・コマンドから戻るよう求めません。

（この「HOST」コマンドは、NO_SCREENパラメータの使用時、スクリーンに出力を送信しないでください。）

使用上の注意

•	このscreen_actionパラメータは、「Host」コマンドの出力がフォームと同一ウィンドウに表示される文字モードで実行されるアプリケーションにのみ関連します。GUIアプリケーションでは、「Host」コマンドの出力は別のウィンドウに表示されます。

•	Microsoft Windows NTのコマンド・インタープリタはcmdですが、Windows 95上ではcommandとなるので注意してください。HOSTビルトインを使用して外部コマンドを実行する前に、必ずオペレーティング・システムをチェックして、適切なコマンド文字列を渡してください。

•	Microsoft Windows NTでは、HOSTを使用して16ビット・アプリケーションを実行するときに、FORM_SUCCESSビルトインは、そのアプリケーションが正常に実行されても失敗しても、TRUEを戻します。これは、Microsoft Win32の問題です。32ビット・アプリケーションおよびOSコマンドは、正常に実行されるとTRUEを正しく戻し、失敗するとFALSEを戻します。無効なコマンドは、FALSEを戻します。

•	Windows 95プラットフォーム上では、FORM_SUCCESSビルトインは失敗したHOSTコマンドに対して常にTRUEを戻します。この中には、command.comまたはOSファンクションに対するコール、任意の16ビットDOSアプリケーションまたはGUIアプリケーション、または無効なコマンドが含まれます。32ビット・アプリケーションは、正常に実行されるとTRUEを正しく戻し、失敗するとFALSEを戻します。


HOSTの例

/*

** built-in:HOST
** Example:Execute an operating system command in a
**            subprocess or subshell.Uses the
**            'Get_Connect_Info' procedure from the
**            GET_APPLICATION_PROPERTY example.
*/
PROCEDURE Mail_Warning( send_to VARCHAR2) IS
  the_username VARCHAR2(40);
  the_password VARCHAR2(40);
  the_connect  VARCHAR2(40);
  the_command  VARCHAR2(2000);
BEGIN
  /*
  ** Get Username, Password, Connect information
  */
  Get_Connect_Info(the_username,the_password,the_connect);
  /*
  ** Concatenate together the static text and values of
  ** local variables to prepare the operating system command
  ** string.
  */
  the_command := 'orasend '||
      ' to='||send_to||
      ' std_warn.txt '||
      ' subject="## LATE PAYMENT ##"'||
      ' user='||the_username||
      ' password='||the_password||
      ' connect='||the_connect;

  Message('Sending Message...', NO_ACKNOWLEDGE);
  Synchronize;
  /*
  ** Execute the command string as an O/S command The
  ** NO_SCREEN option tells forms not to clear the screen
  ** while we do our work at the O/S level "silently".
  */
  Host( the_command, NO_SCREEN );
  /*
  ** Check whether the command succeeded or not
  */
  IF NOT Form_Success THEN
    Message('Error -- Message not sent.');
  ELSE
    Message('Message Sent.');
  END IF;
END;


ID_NULLビルトイン

 例  [image] 関連項目 [image] すべてのビルトイン

説明

オブジェクトIDが変更可能かどうかを示すBOOLEAN値を戻します。

構文:

FUNCTION ID_NULL
  (Alert  BOOLEAN);

FUNCTION ID_NULL
  (Block  BOOLEAN);
FUNCTION ID_NULL
  (Canvas  BOOLEAN);
FUNCTION ID_NULL
  (Editor  BOOLEAN);
FUNCTION ID_NULL
  (FormModule  BOOLEAN);
FUNCTION ID_NULL
  (GroupColumn  BOOLEAN);
FUNCTION ID_NULL
  (Item  BOOLEAN);
FUNCTION ID_NULL
  (LOV  BOOLEAN);
FUNCTION ID_NULL
  (MenuItem  BOOLEAN);
FUNCTION ID_NULL
  (ParamList  BOOLEAN);
FUNCTION ID_NULL
  (RecordGroup  BOOLEAN);
FUNCTION ID_NULL
  (Relation  BOOLEAN);
FUNCTION ID_NULL
  (Timer  BOOLEAN);
FUNCTION ID_NULL
  (Viewport  BOOLEAN);
FUNCTION ID_NULL
  (Window  BOOLEAN);

ビルトイン・タイプ  制限なしファンクション

戻り値 BOOLEAN

問合せ入力モード 可

パラメータ

object_id	このファンクションをコールして、次のオブジェクトIDタイプの結果をテストできます。

•	警告

•	データ・ブロック

•	キャンバス

•	エディタ

•	FORMMODULE

•	GROUPCOLUMN

•	Item

•	LOV

•	MENUITEM

•	PARAMLIST

•	RECORDGROUP

•	リレーション

•	タイマー

•	VIEWPORT

•	ウィンドウ

使用上の注意

実行時に動的に作成されたオブジェクトが存在するかどうかをチェックするにはID_NULLを使用します。たとえば、特定のレコード・グループが既に存在する場合、そのレコード・グループの作成を試みると、エラー・メッセージが出されます。これをチェックするには、次の一般プロセスに従ってください。

•	オブジェクトIDを取得するには適切なFIND_のビルトイン項目を使用します。

•	そのIDを持つオブジェクトが既に存在するかどうかをチェックするには、ID_NULLを使用します。

•	そのオブジェクトが存在していなければ、それを作成します。

オブジェクトが存在するかどうかをさまざまな時点で（実行中に複数回）テストする場合、ID_NULLを使用する前に必ず適切なFIND_を再発行する必要があります。


ID_NULLの例

CREATE_GROUPビルトインを参照。


IMAGE_SCROLLビルトイン

 例  [image] すべてのビルトイン

説明

指定されたオフセット（x座標とy座標）のできるだけ近い場所にイメージ項目をスクロールします。イメージがイメージ項目より大きい場合に使用すると便利です。

構文:

PROCEDURE IMAGE_SCROLL
  (item_name VARCHAR2,
   X NUMBER,
   Y NUMBER
);

PROCEDURE IMAGE_SCROLL
  (item_id ITEM,
   X NUMBER,
   Y NUMBER
);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item_id	Form Builderによりイメージ項目作成時に割り当てられる一意のIDを指定します。

item_name	ユーザーがイメージ定義時にそのイメージに与えた名前を指定します。

X	オフセットのX座標。

y	オフセットのY座標。


IMAGE_SCROLLの例

たとえば、イメージのサイズがイメージ項目のサイズの2倍あると仮定します。つまり、イメージの座標が0,200で、項目の座標が0,100であるとします。イメージを大まかに中央に配置するには、IMAGE_SCROLL XおよびYの座標を50と50に設定します。これによって項目の左上の座標は0,0の代わりに50,50に設定され、イメージが座標50から150に表示されるようにオフセットされます。


IMAGE_ZOOMビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

zoom_typeで指定した効果およびzoom_factorで指定した量により、そのイメージをズームインまたはズームアウトします。

構文:

PROCEDURE IMAGE_ZOOM
  (image_id   ITEM,
   zoom_type  NUMBER);

PROCEDURE IMAGE_ZOOM
  (image_name  VARCHAR2,
   zoom_type   NUMBER);
PROCEDURE IMAGE_ZOOM
  (image_id     ITEM,
   zoom_type    NUMBER,
   zoom_factor  NUMBER);
PROCEDURE IMAGE_ZOOM
  (image_name   VARCHAR2,
   zoom_type    NUMBER,
   zoom_factor  NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

image_id	Form Builderによりイメージ項目作成時に割り当てられる一意のIDを指定します。このIDのデータ型はITEMです。

image_name	ユーザーがイメージ定義時にそのイメージに与えた名前を指定します。

zoom_type	表示されるイメージに与える効果を記述するには、次のいずれかの定数を指定します。

ADJUST_TO_FIT  表示四角形の中にそのイメージが納まるよう倍率を調整します。イメージ全体を参照でき、またそのイメージには最大限多くのイメージ項目がゆがみなく納められます。

SELECTION_RECTANGLE  選択領域が完全にイメージ項目を満たすように、イメージの倍率を調整します。

ZOOM_IN_FACTOR  zoom_factorに従って、イメージを拡大します。

ZOOM_OUT_FACTOR  zoom_factorに従ってイメージを縮小します。

ZOOM_PERCENT  zoom_factorに指示されたパーセンテージに従ってイメージ倍率を変更します。

zoom_factor	イメージ・ズームの要因またはパーセンテージを指定します。この引数はINTEGERで指定します。

使用上の注意

•	zoom_factorが妥当であるかチェックします。たとえば、ZOOM_IN_FACTORに 100を指定すると、イメージ・サイズは100倍になり、アプリケーションにメモリー不足が起こる場合があります。

•	ZOOM_IN_FACTORまたはZOOM_OUT_FACTORを指定する場合、zoom_factorには、正の整数値であれば何でも使用できますが、2、4または8のときに最適なパフォーマンスが得られます。

•	ZOOM_PERCENTを指定する場合、zoom_factorには、正の整数値であれば何でも使用できます。イメージを拡大するには、100より大きいパーセンテージを指定します。

•	SELECTION_RECTANGLEを指定する前に、オペレータは、マウスを使用して領域を選択してください。これを行わないと、Form Builderによってエラー・メッセージが戻されます。

•	設計上の注意として、SELECTION_RECTANGLEを使用するイメージ上にはスクロール・バーが必要です。

•	カラー・イメージおよびモノクロ・イメージの両方に有効です。


IMAGE_ZOOMの例

次の例では、When-Button-Pressedトリガーを示しています。このボタンが押されるたびに、イメージ・サイズが2倍になります。

Image_Zoom('my_image', zoom_in_factor, 2);


INIT-OLEARGS;
INIT_OLEARGS

 すべてのビルトイン

説明

いくつの引数が定義され、OLEオブジェクトのメソッドに渡されるかを定義します。

構文:

PROCEDURE INIT_OLEARGS (num_args NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

num_args	メソッドに渡される引数の数プラス1。
使用上の注意

•	このビルトインは、ADD_OLEARGを使用して引数の型と値を定義する前にコールする必要があります。

•	このビルトインとADD_OLEARGは、プロパティがアクセスされる場合（たとえば索引によって）、GET_OLE_*コール用に使用されます。

•	GET_OLE_*コールがOLEパラメータを取らない場合、このコールの前にINIT_OLEARGSを使用する必要はありません。

•	num_argsで指定する数字は、実際の引数の数に1を足した数であることに注意してください。（4つの引数を渡す場合はnum_argに5を設定します）。1を足す操作はGET_OLE_*コールについてのみ必要であり、CALL_OLEの場合は必要ありません。ただし、CALL_OLEについてこの操作を行ってもなんら支障はありません。


INITIALIZE_CONTAINER

 例	   制限事項	   関連項目	 すべてのビルトイン

説明

OLEオブジェクトをサーバー互換ファイルからOLEコンテナに挿入します。

構文:

PROCEDURE INITIALIZE_CONTAINER
  (item_id    Item,
   file_name  VARCHAR2);

PROCEDURE INITIALIZE_CONTAINER
  (item_name  VARCHAR2,
   file_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

file_name	OLEコンテナに挿入するためのオブジェクトが入ったファイル名を指定します。ファイル位置のパスを挿入します。


INITIALIZE_CONTAINERの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


INITIALIZE_CONTAINERの例

/*

** Built-in:INITIALIZE_CONTAINER
** Example:Initializes an OLE container by inserting an object
**           from a specified file into an OLE container.
** Trigger:When-Button-Pressed
*/
DECLARE
 item_id  ITEM;
 item_name VARCHAR(25) := 'OLEITM';
BEGIN
 item_id := Find_Item(item_name);
 IF Id_Null(item_id) THEN
  message('No such item:'||item_name);
 ELSE
  Initialize_Container(item_id,'c:\OLE\oleobj.xls');
 END IF;
END;


INSERT_RECORDビルトイン

 例	   制限事項	   関連項目	 すべてのビルトイン

説明

On-Insertトリガーからコールされると、転記トランザクションおよびコミット・トランザクション処理中に、現レコードをそのデータベースに挿入します。このビルトインは主に、Oracle以外のデータ・ソースに対して実行されるアプリケーション用に組み込まれているものです。

構文:

PROCEDURE INSERT_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


INSERT_RECORDの制限事項

On-Insertトリガーの場合のみ有効。


INSERT_RECORDの例

/*

** Built-in:INSERT_RECORD
** Example :Perform Form Builder standard insert processing
**            based on a global flag setup at startup by the
**            form, perhaps based on a parameter.
** Trigger:On-Insert
*/
BEGIN
  /*
  ** Check the global flag we setup at form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    User_Exit('my_insrec block=EMP');
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Insert_Record;
  END IF;
END;


ISSUE_ROLLBACKビルトイン

 例	   制限事項	   関連項目	 すべてのビルトイン

説明

On-Rollbackトリガーからコールされると、デフォルトのForm Builder処理を起動し、指示されたセーブポイントにロールバックします。

このビルトインは主に、Oracle以外のデータ・ソースに対して実行されるアプリケーション用に組み込まれているものです。

構文:

PROCEDURE ISSUE_ROLLBACK
(savepoint_name VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

savepoint_name	ロールバックするセーブポイント名。savepoint_nameがNULLの場合、完全なロールバックとなります。


ISSUE_ROLLBACKの制限事項

ISSUE_ROLLBACKがOn-Rollbackトリガーの外で使用された場合、またはGET_APPLICATION_PROPERTY(SAVEPOINT_NAME)へのコールにより提供されるセーブポイント以外のセーブポイントと共に使用された場合の結果は、予測不能です。


ISSUE_ROLLBACKの例

/*

** Built-in:ISSUE_ROLLBACK
** Example:Perform Form Builder standard Rollback processing.
**            Decide whether to use this built-in based on a
**            global flag setup at startup by the form.
**            perhaps based on a parameter.
** Trigger:On-Rollback
*/
DECLARE
  sp_name VARCHAR2(80);
BEGIN
  /*
  ** Get the name of the savepoint to which Form Builder needs to
  ** rollback.(NULL = Full Rollback)
  */
  sp_name := Get_Application_Property(SAVEPOINT_NAME);
  /*
  ** Check the global flag we setup at form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    User_Exit('my_rollbk name='||sp_name);
  ELSE
    Issue_Rollback(sp_name);
 END IF;
END;


ISSUE_SAVEPOINTビルトイン

 例	   制限事項	   関連項目	 すべてのビルトイン

説明

On-Savepointトリガーからコールされると、ISSUE_SAVEPOINTではセーブポイント発行のためのデフォルト処理が起動されます。On-Savepointトリガーが存在しない場合には、GET_APPLICATION_PROPERTY (SAVEPOINT_NAME)を使用して、Form Builderによりデフォルトで発行されるセーブポイント名を判別できます。

このビルトインは主に、Oracle以外のデータ・ソースに対して実行されるアプリケーション用に組み込まれているものです。

構文:

PROCEDURE ISSUE_SAVEPOINT
(savepoint_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

savepoint _name	発行するセーブポイント名。


ISSUE_SAVEPOINTの制限事項

FM_<number>という名前のセーブポイントは、セーブポイント名がGET_APPLICATION_PROPERTYへのコールによって与えられない限り発行しないでください。これを発行すると、Form Builderによって発行されるセーブポイントと衝突を起こす場合があります。


ISSUE_SAVEPOINTの例

/*

** Built-in:ISSUE_SAVEPOINT
** Example:Perform Form Builder standard savepoint processing.
**            Decide whether to use this built-in based on a
**            global flag setup at startup by the form,
**            perhaps based on a parameter.
** Trigger:On-Savepoint
*/
DECLARE
 sp_name VARCHAR2(80);
BEGIN
  /*  Get the name of the savepoint Form Builder needs to issue
  */
  sp_name := Get_Application_Property(SAVEPOINT_NAME);
  /*  Check the global flag we setup at form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    User_Exit('my_savept name='||sp_name);
  /*  Otherwise, do the right thing.
  */
  ELSE
    Issue_Savepoint(sp_name);
  END IF;
END;


ITEM_ENABLEDビルトイン

 関連項目	 すべてのビルトイン

説明

そのメニュー項目が変更可能であればブール値TRUEを戻します。そのメニュー項目が使用禁止の場合には、ブール値FALSEを戻します。

注意: ITEM_ENABLEDは、GET_MENU_ITEM_PROPERTY (MENU_ITEM, ENABLED)と等価です。

構文:

FUNCTION ITEM_ENABLED
  (mnunam  VARCHAR2,
itmnam  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値 BOOLEAN

問合せ入力モード 可

パラメータ

mnunam	そのメニューのVARCHAR2名を指定します。

itmnam	そのメニュー項目のVARCHAR2名を指定します。


LAST_OLE_ERROR

 すべてのビルトイン

説明

最も新しいOLEエラー条件の識別番号を返します。

構文:

FUNCTION LAST_OLE_ERROR RETURN number;

ビルトイン・タイプ  制限なしファンクション

戻り値 数値

パラメータ なし

使用上の注意

•	この関数は、大部分のエラー条件について使用できます。ただし、エラーがPL/SQL例外の場合はLAST_OLE_EXCEPTION関数を代わりに使用します。

•	エラーの値と意味の詳細は、winerror.hを参照してください。winerror.hは、ご使用のCコンパイラのベンダーから提供されています。


LAST_OLE_EXCEPTION

 すべてのビルトイン

説明

コールされたオブジェクト内で発生した最も新しいOLE例外の識別番号を返します。

構文:

FUNCTION LAST_OLE_EXCEPTION
  (source OUT VARCHAR2, description OUT VARCHAR2,
   helpfile OUT VARCHAR2,
   helpcontextid OUT PLS_INTEGER)
RETURN errornumber PLS_INTEGER;

ビルトイン・タイプ  制限なしファンクション

戻り値 OLEサーバーによってこの例外条件に割り当てられたエラー番号

パラメータ

source	例外条件を呼び出したOLEサーバーの名前。
description	エラー・メッセージのテキスト。
helpfile	OLEサーバーが追加のエラー情報を格納するファイルの名前。
helpcontextid	前述ヘルプ・ファイル内の特定ドキュメントのID。
使用上の注意

この関数は、OLEオブジェクト・サーバーをコールした結果、PL/SQL FORM_OLE_FAILURE例外が発生した後で使用できます。他のタイプの例外（PL/SQL例外以外）の詳細は、LAST_OLE_ERROR関数を使用します。


LAST_RECORDビルトイン

 例	 すべてのビルトイン

説明

ブロックのレコード・リストの最後のレコードへナビゲートします。ブロックで問合せがオープンしていれば、Form Builderは、ブロックのレコード・リストで選択されている残りのレコードをフェッチし、問合せをクローズします。

構文:

PROCEDURE LAST_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


LAST_RECORDの例

FIRST_RECORDビルトインを参照


LIST_VALUESビルトイン

 関連項目	 すべてのビルトイン

説明

LIST_VALUESは、付加された値リストがあるテキスト項目内に入力フォーカスがある限り、現項目の値リストを表示します。その値リストは、オペレータがその値リストを消すか、値を選択するまで表示されたままとなります。

デフォルトでは、LIST_VALUESはNO_RESTRICTパラメータを使用します。このパラメータを使用すると、Form Builderでは自動検索と完成機能が使用されないようになります。RESTRICTパラメータを使用すると、Form Builderでは、自動検索と完成機能が使用されます。

自動検索および完成機能  自動検索および完成機能により、値リストはテキスト項目の現在の値を検索値として評価します。つまり、オペレータが値リストのあるテキスト項目内の「List」を押すと、Form Builderではその項目に値が含まれているかどうかチェックされます。

テキスト項目に値が入っていると、Form Builderは、ちょうどオペレータがリストを絞り込むためにその値を値リストの検索フィールドに入れて「List」を押したかのように、自動的にその値を使用します。

そのリスト項目数が1つになるまでリストの内容を縮小した場合には、Form Builderではその値リストが表示されず、自動的に正しい値がフィールドに読み込まれます。

構文:

PROCEDURE LIST_VALUES
(kwd  NUMBER);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

kwd	次のいずれかの定数を指定します。

NO_RESTRICT  Form Builderにより自動検索と完成機能が使用されないよう指定します。

RESTRICT Form Builderにより自動検索と完成機能が使用されるよう指定します。


LOCK_RECORDビルトイン

 例	    関連項目	 すべてのビルトイン

説明

データベース内の現レコードに対応する行をロックしようとします。LOCK_RECORDでは、「ロック・モード」ブロック・プロパティが「即時」（デフォルト）または「遅延」のどちらに設定されているかにかかわらず、そのレコードが即時ロックされます。

LOCK_RECORDをOn-Lockトリガーの内部から実行すると、デフォルトのデータベース・ロックが起動されます。次の例でこのテクニックについて説明します。

構文:

PROCEDURE LOCK_RECORD;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

なし


LOCK_RECORDの例

/*

** Built-in:LOCK_RECORD
** Example:Perform Form Builder standard record locking on the
**            queried record which has just been deleted or
**            updated.Decide whether to use default
**            processing or a user exit by consulting a
**            global flag setup at startup by the form,
**            perhaps based on a parameter.
** Trigger:On-Lock
*/
BEGIN
  /*
  ** Check the global flag we set up at form startup
  */
  IF :Global.Non_Oracle_Datasource = 'TRUE' THEN
    User_Exit('my_lockrec block=EMP');
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Lock_Record;
  END IF;
END;


LOGONビルトイン

 例	   制限事項	   関連項目	 すべてのビルトイン

説明

示されたユーザー名およびパスワードにより、デフォルトのForm Builderログイン処理が実行されます。デフォルトのログイン処理を補強するときには、On-Logonトリガーからこのプロシージャをコールします。

構文:

PROCEDURE LOGON
  (username  VARCHAR2,
   password  VARCHAR2);

PROCEDURE LOGON
  (username               VARCHAR2,
   password               VARCHAR2,
   logon_screen_on_error  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

このビルトインは次の引数を取ります。

username	最大80文字までの有効なユーザー名。

password	データベース接続文字列を含む最大80文字までの有効なパスワード。

logon_screen_on_error	オプションのBOOLEANパラメータ。これがTRUE（デフォルト）に設定されていると、指定されたログインが（ユーザー名やパスワードの誤りなどの理由により）失敗した場合に、Form Builderに自動的にそのログイン・スクリーンを表示させます。logon_screen_on_errorがFALSEに設定され、ログインが失敗すると、そのログイン・スクリーンは表示されず、FORM_FAILUREがTRUEに設定され、デザイナは適切な方法でその条件を取り扱えるようになります。

使用上の注意:

LOGONを使用してOPS$データベースに接続する場合、パスワードのユーザー名とデータベース名にスラッシュ'/'を使用します。


LOGONの制限事項

•	リモート・データベースを識別した場合、そのデータベースとのSQL*Net接続が実行時に存在している必要があります。

•	Form Builderでは1度に接続できるデータベースは1つのみです。しかし、データベース・リンクを使用すると、単一接続で複数のデータベースにアクセスできます。


LOGONの例

/*

** Built-in:LOGON
** Example:Perform Form Builder standard logon to the ORACLE
**            database.Decide whether to use Form Builder
**            built-in processing or a user exit by consulting a
**            global flag setup at startup by the form,
**            perhaps based on a parameter.This example
**            uses the 'Get_Connect_Info' procedure from the
**            GET_APPLICATION_PROPERTY example.
** Trigger:On-Logon
*/
DECLARE
  un  VARCHAR2(80);
  pw  VARCHAR2(80);
  cn  VARCHAR2(80);
BEGIN
  /*
  ** Get the connection info
  */
  Get_Connect_Info(un,pw,cn);
  /*
  ** If at startup we set the flag to tell our form that we
  ** are not running against ORACLE, then call our
  ** appropriate MY_LOGON userexit to logon.
  */
  IF :Global.Non_Oracle_Datasource = 'TRUE' THEN
    User_Exit('my_logon username='||un||' password='||pw);
  /*
  ** Otherwise, call the LOGON built-in
  */
  ELSE

  /*

** Use the following to place a slash in the username field for OPS$ logon

  */

IF un IS NULL THEN

un:='/';

END IF

IF cn IS NOT NULL THEN
      LOGON(un,pw||'@'||cn);
    ELSE
      LOGON(un,pw);
    END IF;
  END IF;
END;


LOGON_SCREENビルトイン

 例	   制限事項	   関連項目	 すべてのビルトイン

説明

デフォルトのForm Builderログイン・スクリーンを表示し、有効なユーザー名およびパスワードを要求します。ごく一般的には、On-Logonトリガーにこのビルトイン・サブプログラムを組み込んで、非Oracleデータ・ソースに接続することになります。

構文:

PROCEDURE LOGON_SCREEN;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


LOGON_SCREENの制限事項

使用しているデータ・ソースとの接続を作成するには、LOGONのビルトイン・コールを発行する必要があります。


LOGON_SCREENの例

/*

** Built-in:LOGON_SCREEN
** Example:Use the default Form Builder logon screen to prompt
**            for username and password before logging on to
**            the database.This uses the 'Get_Connect_Info'
**            procedure from the GET_APPLICATION_PROPERTY
**            example.
*/
DECLARE
  un  VARCHAR2(80);
  pw  VARCHAR2(80);
  cn  VARCHAR2(80);
BEGIN
  /*
  ** Bring up the logon screen
  */
  Logon_Screen;
  /*
  ** Get the username, password and
  ** connect string.
  */
  Get_Connect_Info( un, pw, cn );
  /*
  ** Log the user onto the database
  */
  IF cn IS NOT NULL THEN
    LOGON(un,pw||'@'||cn);
  ELSE
    LOGON(un,pw);
  END IF;
END;


LOGOUTビルトイン

 例	   LOGOUTビルトイン	 すべてのビルトイン

説明

ORACLE RDBMSとアプリケーションの接続を切断します。LOGOUTビルトインをコールすると、オープンされているカーソルはすべて自動的にクローズされます。LOGONによりプログラミングで再度ログインできます。複数の接続がある複数フォーム・アプリケーションからLOGOUTすると、Form Builderでは、ユーザーが次にLOGONを実行したときに、その接続がすべて再確立されます。

構文:

PROCEDURE LOGOUT;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


LOGOUTの例

/*

** Built-in:LOGOUT
** Example:Perform Form Builder standard logout.Decide
**            whether to use Form Builder built-in processing or a
**            user exit by consulting a global flag setup at
**            startup by the form, perhaps based on a
**            parameter.
** Trigger:On-Logout
*/
BEGIN
  /*
  ** Check the flag we setup at form startup
  */
  IF :Global.Non_Oracle_Datasource = 'TRUE' THEN
    User_Exit('my_logout');
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Logout;
  END IF;


MENU_CLEAR_FIELDビルトイン

 制限事項	 すべてのビルトイン

説明

MENU_CLEAR_FIELDは、現フィールドの値をカーソル位置からフィールドの末尾まで消去します。現カーソル位置が最後の非ブランク文字の右側にある場合、MENU_CLEAR_FIELDでは、そのフィールド全体が消去され、その値がNULLになります。

構文:

PROCEDURE MENU_CLEAR_FIELD;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


MENU_CLEAR_FIELDの制限事項

「パラメータ値入力」ダイアログを表示する必要があります。


MENU_NEXT_FIELDビルトイン

 制限事項	 すべてのビルトイン

説明

MENU_NEXT_FIELDを使用して、「パラメータ値入力」ダイアログ内の次のフィールドにナビゲートします。

構文:

PROCEDURE MENU_NEXT_FIELD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし


MENU_NEXT_FIELDの制限事項

「パラメータ値入力」ダイアログに入る必要があります。


MENU_PARAMETERビルトイン

 制限事項	 	 すべてのビルトイン

説明

MENU_PARAMETERを使用して、「パラメータ値入力」ダイアログ・ボックス内に、現メニューに関係するすべてのパラメータおよびそれらの現行の設定値を表示します。

構文:

PROCEDURE MENU_PARAMETER;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


MENU_PARAMETERの制限事項

全画面表示形式で実行されるメニューにのみ有効です。


MENU_PREVIOUS_FIELDビルトイン

 制限事項	 すべてのビルトイン

説明

MENU_PREVIOUS_FIELDを使用して「パラメータ値入力」ダイアログ内の直前フィールドに戻ります。

構文:

PROCEDURE MENU_PREVIOUS_FIELD;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


MENU_PREVIOUS_FIELDの制限事項

「パラメータ値入力」ダイアログ・ボックスに入る必要があります。


MENU_REDISPLAYビルトイン

 制限事項	 すべてのビルトイン

説明

このプロシージャはメニュー内のスクリーンを再び描画します。

構文:

PROCEDURE MENU_REDISPLAY;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


MENU_REDISPLAYの制限事項

文字モードまたはブロック・モード・プラットフォーム上にいる必要があります。


MENU_SHOW_KEYSビルトイン

 制限事項	 すべてのビルトイン

説明

MENU_SHOW_KEYSは、実行時にメニュー・モジュール用の「キー」画面を表示します。

構文:

PROCEDURE MENU_SHOW_KEYS;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


MENU_SHOW_KEYSの制限事項

MENU_SHOW_KEYSはどのようなコンテキストでも変更可能です。


MESSAGEビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定されたテキストをメッセージ行に表示します。

構文:

PROCEDURE MESSAGE
(message_string VARCHAR2,
   user_response   NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

message_string	文字列を指定し引用符で囲むか、VARCHAR2データ型の変数を指定します。

user_response	次のいずれかの定数を指定します。

ACKNOWLEDGE  2つの連続するメッセージが発行されるときは必ず、オペレータが明示的に消す必要のあるモーダル警告をForm Builderが表示するよう指定します。ACKNOWLEDGEでは、必ず最初のメッセージの確認を強制的に要求し、それがなければ、2番目のメッセージは表示できません。これがデフォルトです。

NO_ACKNOWLEDGE  2つの連続するメッセージが発行されるとき、オペレータが表示された最初のメッセージに応答しなくても、Form Builderが2番目のメッセージを表示するよう指定します。2番目のメッセージは、最初のメッセージの確認をオペレータに求めることなく即時に最初のメッセージに上書きされるため、NO_ACKNOWLEDGEを使用すると、オペレータが最初のメッセージを見ない危険性があります。


MESSAGEの制限事項

message_stringの最大長は200文字です。しかし、表示可能な最大文字数には、現在のフォントやランタイム・ウィンドウ・マネージャの制限などのいくつかの要因が影響を及ぼすことに注意してください。


MESSAGEの例

/*

** Built-in:MESSAGE
** Example:Display several messages to the command line
**            throughout the progress of a particular
**            subprogram.By using the NO_ACKNOWLEDGE parameter,
**            we can avoid the operator's having to
**            acknowledge each message explicitly.
*/
PROCEDURE Do_Large_Series_Of_Updates IS
BEGIN
  Message('Working...(0%)', NO_ACKNOWLEDGE);
  /*
  ** Long-running update statement goes here
  */

SYNCHRONIZE;
  Message('Working...(30%)', NO_ACKNOWLEDGE);
  /*
  ** Another long-running update statement goes here
  */
  Message('Working...(80%)', NO_ACKNOWLEDGE);
  /*
  ** Last long-running statement here
  */
  Message('Done...', NO_ACKNOWLEDGE);
END;


MESSAGE_CODEビルトイン

 例	     関連項目	 すべてのビルトイン

説明

Form Builderが現行Run Formセッション中に生成した最新のメッセージのメッセージ番号を戻します。MESSAGE_CODEは、セッションの開始時点で、Form Builderでメッセージを生成される前にゼロを戻します。

MESSAGE_CODEを使用して、ユーザー・アクション（例: キーを押す）の結果をテストし、On-Messageトリガー内部の処理を判別します。

メッセージおよびメッセージ番号一覧は付録の「メッセージ」を参照してください。

構文:

FUNCTION MESSAGE_CODE;

ビルトイン・タイプ  制限なしファンクション

Returns  NUMBER

問合せ入力モード 可

パラメータ

なし


MESSAGE_CODEの例

/*

** Built-in:MESSAGE_CODE,MESSAGE_TEXT,MESSAGE_TYPE
** Example:Reword certain FRM message messages by checking
**            the Message_Code in an ON-MESSAGE trigger
** Trigger:On-Message
*/
DECLARE
  msgnum NUMBER       := MESSAGE_CODE;
  msgtxt VARCHAR2(80) := MESSAGE_TEXT;
  msgtyp VARCHAR2(3)  := MESSAGE_TYPE;
BEGIN
  IF msgnum = 40400 THEN
    Message('Your changes have been made permanent.');
  ELSIF msgnum = 40401 THEN
    Message('You have no unsaved changes outstanding.');
  ELSE
    /*
    ** Print the Normal Message that would have appeared
    **
    **  FRM-12345:Message Text Goes Here
    */
    Message(msgtyp||'-'||TO_CHAR(msgnum)||':'||msgtxt);
  END IF;
END;


MESSAGE_TEXTビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

Form Builderが現行のRun Formセッション中に生成した最新のメッセージのメッセージ・テキストを戻します。MESSAGE_TEXT はセッションの開始時点で、Form Builderがメッセージを生成する前にNULLを戻します。

MESSAGE_TEXTを使用してユーザー・アクション（例: キーを押す）の結果をテストし、On-Messageトリガー内部の処理を判別します。

注意: ユーザーのアプリケーションが複数の言語によってサポートされる必要がある場合、MESSAGE_TEXTビルトインの代わりにMESSAGE_CODEビルトインを使用します。メッセージ・テキストではなくメッセージ・コードを参照することは、各国語に対応しているアプリケーションにおいて有効です。

構文:

FUNCTION MESSAGE_TEXT;

ビルトイン・タイプ  制限なしファンクション

戻し値  VARCHAR2

問合せ入力モード 可

パラメータ

なし


MESSAGE_TEXTの例

/*

** Built-in:MESSAGE_CODE,MESSAGE_TEXT,MESSAGE_TYPE
** Example:Reword certain FRM message messages by checking
**            the Message_Code in an ON-MESSAGE trigger
** Trigger:On-Message
*/
DECLARE
  msgnum NUMBER       := MESSAGE_CODE;
  msgtxt VARCHAR2(80) := MESSAGE_TEXT;
  msgtyp VARCHAR2(3)  := MESSAGE_TYPE;
BEGIN
  IF msgnum = 40400 THEN
    Message('Your changes have been made permanent.');
  ELSIF msgnum = 40401 THEN
    Message('You have no unsaved changes outstanding.');
  ELSE
    /*
    ** Print the Normal Message that would have appeared
    **
    **  FRM-12345:Message Text Goes Here
    */
    Message(msgtyp||'-'||TO_CHAR(msgnum)||':'||msgtxt);
  END IF;
END;


MESSAGE_TYPEビルトイン

 例	     関連項目	 すべてのビルトイン

説明

Form Builderが現行のランフォーム・セッション中に生成した最新のメッセージのメッセージ・タイプを戻します。

MESSAGE_TYPEを使用してユーザー・アクション（例: キーを押す）の結果をテストし、On-Messageトリガー内部の処理を判別します。

構文:

FUNCTION MESSAGE_TYPE;

ビルトイン・タイプ  制限なしファンクション

戻し値  VARCHAR2

MESSAGE_TYPEでは、そのメッセージ・タイプについて3つのうちのいずれかの値を戻します。

FRM	Form Builderメッセージが生成されたことを示す。

ORA	ORACLEメッセージが生成されたことを示す。

NULL	Form Builderによりセッション中にメッセージが発行されていないことを示す。

問合せ入力モード 可

パラメータ

なし


MESSAGE_TYPEの例

/*

** Built-in:MESSAGE_CODE,MESSAGE_TEXT,MESSAGE_TYPE
** Example:Reword certain FRM message messages by checking
**            the Message_Code in an ON-MESSAGE trigger
** Trigger:   On-Message
*/
DECLARE
  msgnum NUMBER       := MESSAGE_CODE;
  msgtxt VARCHAR2(80) := MESSAGE_TEXT;
  msgtyp VARCHAR2(3)  := MESSAGE_TYPE;
BEGIN
  IF msgnum = 40400 THEN
    Message('Your changes have been made permanent.');
  ELSIF msgnum = 40401 THEN
    Message('You have no unsaved changes outstanding.');
  ELSE
    /*
    ** Print the Normal Message that would have appeared
    **
    **  FRM-12345:Message Text Goes Here
    */
    Message(msgtyp||'-'||TO_CHAR(msgnum)||':'||msgtxt);
  END IF;
END;


MOVE_WINDOWビルトイン

 例	     関連項目	 すべてのビルトイン

説明

座標で指定された位置にウィンドウを移動します。

フォーム・プロパティ「座標システム」を「文字」と指定している場合のx, y 座標は文字で指定されます。「座標システム」を「実際単位」と指定している場合のx, y 座標は、ピクセルまたはインチ、センチメートル、ポイントのうち、ユーザーが選択した実際単位で指定されます。

構文:

FUNCTION MOVE_WINDOW
  (window_id  Window,
   x          NUMBER,
   y          NUMBER);

FUNCTION MOVE_WINDOW
  (window_name  VARCHAR2,
   x            NUMBER,
   y            NUMBER);

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 可

パラメータ

window_id	Form Builderがウィンドウ作成時にそのウィンドウに割り当てられる一意のIDを指定します。FIND_WINDOWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はWindow型です。

window_name	ウィンドウの作成時に付けた名前を指定します。

x	ウィンドウの左上コーナーを配置する画面上のx座標を指定します。

y	ウィンドウの左上コーナーを配置する画面上のy座標を指定します。


MOVE_WINDOWの例

/*

** Built-in:MOVE_WINDOW
** Example:Move window2 to be anchored at the bottom right
**            corner of window1.
*/
PROCEDURE Anchor_Bottom_Right2( Window2 VARCHAR2, Window1 VARCHAR2) IS
  wn_id1 Window;
  wn_id2 Window;
  x      NUMBER;
  y      NUMBER;
  w      NUMBER;
  h      NUMBER;
BEGIN
  /*
  ** Find Window1 and get its (x,y) position, width, and
  ** height.
  */
  wn_id1 := Find_Window(Window1);
  x      := Get_Window_Property(wn_id1,X_POS);
  y      := Get_Window_Property(wn_id1,Y_POS);
  w      := Get_Window_Property(wn_id1,WIDTH);
  h      := Get_Window_Property(wn_id1,HEIGHT);
  /*
  ** Anchor Window2 at (x+w,y+h)
  */
  wn_id2 := Find_Window(Window2);
  Move_Window( wn_id2, x+w, y+h );
END;


NAME_INビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

指示された変数の値を戻します。

戻り値は文字列の形になっています。ただし、NAME_INでは、数値や日付を文字列に戻してから、その文字列を適切なデータ型に変換できます。この戻り値は、実行可能文内で使用する他の値と同様に使用できます。

NAME_IN関数をネストすると、Form Builderではもっとも内側のNAME_IN関数からもっとも外側のNAME_IN関数までが個々に評価されます。

構文:

FUNCTION NAME_IN
(variable_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

variable_name	有効な変数またはテキスト項目を指定します。その名前のデータ型はVARCHAR2です。

使用上の注意

戻り値が日付文字列の場合、NAME_INはBUILTIN_DATE_FORMAT property.で指定された書式マスクを使用します。DATE_FORMAT_COMPATIBILITY_MODE propertyが4.5に設定されると、デフォルトの米国書式を使用して戻された文字列が設定されます。


NAME_INの例

/*

** Built-in:NAME_IN
** Example:Simple implementation of a Last-In-First-Out
**           stack mechanism using Global variables.
**           For each named stack, a global variable
**           GLOBAL.<stackname>_PTR points to the largest
**           element on the stack.PUSH increments this
**           value as new elements are added.Values
**           PUSH'ed on or POP'ed off the named stack are
**           actually stored in GLOBAL variables of a
**           conveniently formed name:GLOBAL.<stackname>nnn
**           where 'nnn' is the number of the element on the
**           stack.
**
**           Usage:
**           Push('MYSTACKNAME', '1');
**           Push('MYSTACKNAME', '2');
**
**           str_var := Pop('MYSTACKNAME');  -- Gets '2'
**           str_var := Pop('MYSTACKNAME');  -- Gets '1'
**           str_var := Pop('MYSTACKNAME');  -- Gets 'EOS'
**
*/
PROCEDURE Push ( the_stackname VARCHAR2,
         the_value     VARCHAR2 ) IS

  ptr_name VARCHAR2(40); -- This stack's pointer name
  prefix   VARCHAR2(40); -- Common prefix for storage vars
  elt_name VARCHAR2(40); -- Name of storage element
  new_idx  VARCHAR2(4) ; -- New stack pointer value
BEGIN
  /*
  ** For any named stack that we reference, the global
  ** variables used for storing the stack's values and the
  ** stack's pointer all begin with a common prefix:
  ** GLOBAL.<stackname>
  */
  prefix := 'GLOBAL.'|| the_stackname;
  /*
  ** This named stack's pointer resides in
  ** GLOBAL.<stackname>_PTR Remember that this is the *name*
  ** of the pointer.
  */
  ptr_name := prefix || '_PTR';
  /*
  ** Initialize the stack pointer with a default value of
  ** zero if the stack pointer did not exist previously, ie
  ** the GLOBAL.<stackname>_PTR had yet to be created.
  */
  Default_Value( '0', ptr_name );
  /*
  ** Since we're PUSH'ing a new element on the stack,
  ** increment the stack pointer to reflect this new
  ** element's position.Remember that GLOBAL variables are
  ** always of type VARCHAR2, so we must convert them TO_NUMBER
  ** before any calculations.
  */
  new_idx  := TO_CHAR( TO_NUMBER( Name_In( ptr_name ) ) + 1 ) ;
  Copy( new_idx   , ptr_name );
  /*
  ** Determine the name of the global variable which will
  ** store the value passed in, GLOBAL.<stackname><new_idx>.
  ** This is simply the prefix concatenated to the new index
  ** number we just calculated above.
  */
  elt_name := prefix||new_idx;
  Copy( the_value , elt_name );
END;

FUNCTION Pop ( the_stackname VARCHAR2)
RETURN VARCHAR2 IS
  ptr_name VARCHAR2(40); -- This stack's pointer name
  prefix   VARCHAR2(40); -- Common prefix for storage vars
  elt_name VARCHAR2(40); -- Name of storage element
  new_idx  VARCHAR2(4) ; -- New stack pointer value
  cur_idx  VARCHAR2(4) ; -- Current stack pointer value
  the_val  VARCHAR2(255);

  EMPTY_STACK   CONSTANT VARCHAR2(3) := 'EOS';
  NO_SUCH_STACK CONSTANT VARCHAR2(3) := 'NSS';
BEGIN
  /*
  ** For any named stack that we reference, the global
  ** variables used for storing the stack's values and the
  ** stack's pointer all begin with a common prefix:
  ** GLOBAL.<stackname>
  */
  prefix   := 'GLOBAL.'|| the_stackname;
  /*
  ** This named stack's pointer resides in
  ** GLOBAL.<stackname>_PTR Remember that this is the *name*
  ** of the pointer.
  */
  ptr_name := prefix || '_PTR';
  /*
  ** Force a default value of NULL so we can test if the
  ** pointer exists (as a global variable).If it does not
  ** exist, we can test in a moment for the NULL, and avoid
  ** the typical error due to referencing non-existent
  ** global variables.
  */
  Default_Value( NULL, ptr_name );
  /*
  ** If the *value* contained in the pointer is NULL, then
  ** the pointer must not have existed prior to the
  ** Default_Value statement above.Return the constant
  ** NO_SUCH_STACK in this case and erase the global
  ** variable that the Default_Value implicitly created.
  */
 IF Name_In( ptr_name ) IS NULL THEN
   the_val := NO_SUCH_STACK;
  Erase( ptr_name );
 /*
 ** Otherwise, the named stack already exists.Get the
 ** index of the largest stack element from this stack's
 ** pointer.
 */
 ELSE
   cur_idx := Name_In( ptr_name ) ;
   /*
   ** If the index is zero, then the named stack is already
   ** empty, so return the constant EMPTY_STACK, and leave
   ** the stack's pointer around for later use, ie don't
   ** ERASE it.
   **
   ** Note that a stack can only be empty if some values
   ** have been PUSH'ed and then all values subsequently
   ** POP'ed.  If no values were ever PUSH'ed on this named
   ** stack, then no associated stack pointer would have
   ** been created, and we would flag that error with the
   ** NO_SUCH_STACK case above.
   */
   IF cur_idx = '0' THEN
     the_val := EMPTY_STACK;
    /*
    ** If the index is non-zero, then:
    ** (1) Determine the name of the global variable in
    **     which the value to be POP'ed is stored,
    **     GLOBAL.<stackname><cur_idx>
    ** (2) Get the value of the (cur_idx)-th element to
    **     return
    ** (3) Decrement the stack pointer
    ** (4) Erase the global variable which was used for
    **     value storage
    */
    ELSE
      elt_name:= prefix || cur_idx;
      the_val := Name_In( elt_name );
      new_idx := TO_CHAR( TO_NUMBER( Name_In(ptr_name) ) - 1 ) ;
      Copy( new_idx , ptr_name );
      Erase( elt_name );
    END IF;
  END IF;
  RETURN the_val;
END;


NEW_FORMビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

現フォームを終了し、指示されたフォームに入ります。コール側フォームは親フォームとして終了します。コール側フォームがそれより上位のフォームによってコールされていた場合、Form Builderではその上位のコールをアクティブに保ったまま、それを新規フォームのコールとして扱います。Form Builderにより、その終了したフォームが使用していたメモリー（データベース・カーソルなど）が解放されます。

Form Builderでは、これと同じ「Runform」オプションのある新規フォームが親フォームとして実行されます。その親フォームがコール先フォームであった場合、Form Builderではそれと同じオプションのある新規フォームが親フォームとして実行されます。

構文:

PROCEDURE NEW_FORM
  (formmodule_name  VARCHAR2);

PROCEDURE NEW_FORM
  (formmodule_name  VARCHAR2,
   rollback_mode    NUMBER);
PROCEDURE NEW_FORM
  (formmodule_name  VARCHAR2,
   rollback_mode    NUMBER,
   query_mode       NUMBER);
PROCEDURE NEW_FORM
  (formmodule_name  VARCHAR2,
   rollback_mode    NUMBER,
   query_mode       NUMBER,
   data_mode        NUMBER);
PROCEDURE NEW_FORM
  (formmodule_name  VARCHAR2,
   rollback_mode    NUMBER,
   query_mode       NUMBER,
   paramlist_id     PARAMLIST);
PROCEDURE NEW_FORM
  (formmodule_name  VARCHAR2,
   rollback_mode    NUMBER,
   query_mode       NUMBER,
   paramlist_name   VARCHAR2);
PROCEDURE NEW_FORM
  (formmodule_name  VARCHAR2,
   rollback_mode    NUMBER,
   query_mode       NUMBER,
   data_mode        NUMBER,
   paramlist_id     PARAMLIST);
PROCEDURE NEW_FORM
  (formmodule_name  VARCHAR2,
   rollback_mode    NUMBER,
   query_mode       NUMBER,
   data_mode        NUMBER,
   paramlist_name   VARCHAR2);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

formmodule_name	コール先フォームの名前（引用符（'）で囲む）。データ型はVARCHAR2です。

rollback_mode	TO_SAVEPOINT（デフォルト） Form Builderでは、コミットされていないすべての変更（転記された変更を含む）が現行フォームのセーブポイントにロールバックされます。

NO_ROLLBACK  Form Builderでは、セーブポイントにロールバックせずに、現フォームが終了されます。ユーザーは、ロールバックを実行せずに最上位のフォームを離れられます。これは、ユーザーが、NEW_FORM操作全体にロックを保持することを意味します。このロックは、外部3GLプログラムからForm Builderを起動する場合にも発生します。このロックは、ユーザーがForm Builderから制御を取り戻したときでも有効です。

FULL_ROLLBACK  Form Builderでは、現ランフォーム・セッション中に加えられたコミットされていないすべての変更内容（転記済みのものを含む）がロールバックされます。転記専用モードで実行されているフォームからFULL_ROLLBACKを指定することはできません。（フォームに未転記のレコードがあるときに別のフォームをコールすると、転記専用モードになる可能性があります。コール側フォームが発行したロックの喪失を避けるため、Form Builderではコール先フォーム内のコミット処理が封じられます。

query_mode	NO_QUERY_ONLY  （デフォルト）指示されたフォームを通常モードで実行します。エンド・ユーザーは、そのフォーム内で挿入、更新および削除ができます。

QUERY_ONLY  指示されたフォームを問合せ専用モードで実行します。エンド・ユーザーはレコードの問合せはできますが、挿入、更新、削除はできません。

data_mode	NO_SHARE_LIBRARY_DATA（デフォルト）Form Builderは（設計時に）同一のライブラリが付加されているフォームの間でデータを実行時に共有します。

SHARE_LIBRARY_DATA  実行時に、Form Builderは（設計時に）同一のライブラリが付加されているフォームの間でデータを共有します。

paramlist_id	Form Builderがパラメータ・リストを作成するときに割り当てる一意のID。コール側フォームから新規フォームにパラメータを渡すときのパラメータ・リストを指定します。データ型はPARAMLISTです。NEW_FORMを介してフォームに渡されたパラメータ・リストには、DATA_PARAMETER型（レコード・グループへのポインタ）を含めません。

paramlist_name	ユーザーがパラメータ・リスト・オブジェクトを定義するときに付けた名前。データ型はVARCHAR2です。NEW_FORMを介してフォームに渡されたパラメータ・リストには、DATA_PARAMETER型（レコード・グループへのポインタ）を含めません。


NEW_FORMの例

/* Create a generic procedure that will invoke the

** formname passed-in using the method indicated by
** the 'newform' and 'queryonly' parameters.
*/
PROCEDURE GENERIC_CALL(formname   VARCHAR2,
                       newform    VARCHAR2,
                       queryonly  VARCHAR2) IS

  msglvl          VARCHAR2(2);
  error_occurred  EXCEPTION;
BEGIN
  /*
  ** Remember the current message level and temporarily
  ** set it to 10 to suppress errors if an incorrect
  ** formname is called
  */
  msglvl := :SYSTEM.MESSAGE_LEVEL;
  :SYSTEM.MESSAGE_LEVEL := '10';

  IF newform = 'Y' THEN
     IF queryonly = 'Y' THEN
        NEW_FORM(formname, to_savepoint, query_only);
     ELSIF queryonly = 'N' THEN
        NEW_FORM(formname);
     END IF;
  ELSIF newform = 'N' THEN
     IF queryonly = 'Y' THEN
        CALL_FORM(formname, hide, no_replace, query_only);
     ELSIF queryonly = 'N' THEN
        CALL_FORM(formname);
     END IF;
  END IF;
  IF NOT form_success THEN
     MESSAGE('Cannot call form '||UPPER(formname)||
             '.Please contact your SysAdmin for help.');
     RAISE error_occurred;
  END IF;
  :SYSTEM.MESSAGE_LEVEL := msglvl;
EXCEPTION
  WHEN error_occurred THEN
     :SYSTEM.MESSAGE_LEVEL := msglvl;
    RAISE form_trigger_failure;
END;


NEXT_BLOCKビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

ナビゲーション順序内の次の入力可能なブロックにある最初のナビゲート可能な項目にナビゲートします。デフォルトでは、ナビゲーション順序内の次のブロックは、順序番号が次に大きなブロックであり、オブジェクト・ナビゲータ内のブロックの順序により定義されます。ただし、「次のナビゲーション・データ・ブロック」ブロック・プロパティは、異なるブロックを、ナビゲーションのための次のブロックとして指定するよう設定できます。

それより上位の順序の入力可能なブロックがない場合、NEXT_BLOCKは、順序番号が最も低い入力可能なブロックにナビゲートします。

構文:

PROCEDURE NEXT_BLOCK;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


NEXT_BLOCKの例

/*

** Built-in:NEXT_BLOCK
** Example:If the current item is the last item in the
**            block, then skip to the next block instead of
**            the default of going back to the first item in
**            the same block
** Trigger:Key-Next-Item
*/
DECLARE
  cur_itm VARCHAR2(80) := :System.Cursor_Item;
  cur_blk VARCHAR2(80) := :System.Cursor_Block;
  lst_itm VARCHAR2(80);
BEGIN
  lst_itm := cur_blk||'.'||Get_Block_Property(cur_blk,LAST_ITEM);
  IF cur_itm = lst_itm THEN
    Next_Block;
  ELSE
    Next_Item;
  END IF;
END;


NEXT_FORMビルトイン

 制限事項  [image] 関連項目	 すべてのビルトイン

説明

複数フォーム・アプリケーションでは、順序番号が次に高い独立フォームにナビゲートします。（フォームは実行時に起動された順序で順序付けされます。） 順序番号がそれより高いフォームがない場合には、NEXT_FORMを使用して、順序番号がもっとも低いフォームにナビゲートします。そのようなフォームがない場合には、現フォームは現フォームのままとなります。

NEXT_FORMとともにナビゲートするときには、妥当性チェックは行われず、ナビゲーションを開始するフォームで起動されるWHEN-WINDOW-DEACTIVATEDトリガー、およびターゲット・フォームで起動されるWHEN-WINDOW-ACTIVATEDトリガー以外には、トリガーが起動しません。

構文:

PROCEDURE NEXT_FORM;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可


NEXT_FORMの制限事項

CALL_FORMがある別のフォームを起動した結果として現在使用禁止となっているフォームはターゲット・フォームにはできません。


NEXT_ITEMビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

順序番号が現項目の次に高いナビゲート可能な項目にナビゲートします。そのような項目がない場合、NEXT_ITEMは順序番号がもっとも低い項目にナビゲートします。順序番号が低い項目がない場合、NEXT_ITEMは現項目にナビゲートします。

妥当性チェックの単位が項目である場合、を使用して、順序番号が現項目より大きいかターゲット項目より小さいフィールドの妥当性チェックを行います。

ブロック内で最後のナビゲート可能な項目からのNEXT_ITEMの機能は、「ナビゲーション形式」ブロック・プロパティの設定により変わります。「ナビゲーション形式」の有効設定値としては、次のようなものがあります。

同一レコード（デフォルト）:ブロックの最後の項目からの「次の項目へ」操作は、入力フォーカスを、同一レコード内の、ブロックの最初にナビゲート可能な項目へ移します。

レコード変更:ブロックの最後の項目から「次の項目へ」操作すると、次のレコード内の最初のナビゲート可能項目へ入力フォーカスが移ります。現レコードがそのブロック内の最後のレコードであり、現在実行中の問合せがなければ、Form Builderにより新規レコードが作成されます。そのブロックに現在実行中の問合せがある（そのブロックに問合せ対象レコードが含まれている）場合には、Oracleフォームにより必要に応じて追加レコードが取り出されます。

ブロック変更: ブロックの最後の項目から「次の項目へ」操作をすると、次のブロックの最初のレコードの最初のナビゲート可能項目に入力フォーカスが移ります。

構文:

PROCEDURE NEXT_ITEM;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし


NEXT_ITEMの例

/*

** Built-in:NEXT_ITEM
** Example:See NEXT_BLOCK
*/


NEXT_KEYビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

順序番号が現項目の次に高い、変更可能でナビゲート可能な主キー項目にナビゲートします。そのような項目がない場合、NEXT_KEYを使用して、順序番号がもっとも低い変更可能でナビゲート可能な主キー項目にナビゲートします。現ブロック内に主キー項目がない場合はエラーとなります。

妥当性チェックの単位が項目である場合、NEXT_KEYを使用して、順序番号が現項目より大きいかターゲット項目より小さいフィールドの妥当性チェックを行います。

構文:

PROCEDURE NEXT_KEY;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし


NEXT_KEYの例

/*

** Built-in:NEXT_KEY
** Example:Jump the cursor to the next primary key item in
**            in the current block.
*/
BEGIN
  Next_Key;
END;


NEXT_MENU_ITEMビルトイン

 制限事項  [image] すべてのビルトイン

説明

現メニュー内の次のメニュー項目にナビゲートします。

構文:

PROCEDURE NEXT_MENU_ITEM;

ビルトイン・タイプ   制限付きプロシージャ

パラメータ

なし


NEXT_MENU_ITEMの制限事項

NEXT_MENU_ITEMは、全画面メニュー表示形式で実行中のカスタム・メニュー内でのみ変更可能です。


NEXT_RECORDビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

順序番号が現レコードの次に高いレコード内の最初の変更可能でナビゲート可能な項目にナビゲートします。そのようなレコードがない場合は、Form Builderではレコードがフェッチされるか、作成されます。現レコードが新規レコードである場合、NEXT_RECORDは失敗します。

構文:

PROCEDURE NEXT_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


NEXT_RECORDの制限事項

問合せ入力モードでは許可されません。


NEXT_RECORDの例

/*

** Built-in:NEXT_RECORD
** Example:If the current item is the last item in the
**           block, then skip to the next record instead of
**           the default of going back to the first item in
**           the same block
** Trigger:Key-Next-Item
*/
DECLARE
  cur_itm VARCHAR2(80) := :System.Cursor_Item;
  cur_blk VARCHAR2(80) := :System.Cursor_Block;
  lst_itm VARCHAR2(80);
BEGIN
  lst_itm := cur_blk||'.'||Get_Block_Property(cur_blk,LAST_ITEM);
  IF cur_itm = lst_itm THEN
    Next_Record;
  ELSE
    Next_Item;
  END IF;
END;


NEXT_SETビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

データベースから他のレコード・セットをフェッチし、そのフェッチにより取り出される最初のレコードにナビゲートします。NEXT_SETは、問合せが現ブロック内でオープンされている場合においてのみ成功します。

構文:

PROCEDURE NEXT_SET;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


NEXT_SETの例

/*

** Built-in:NEXT_SET
** Example:Fetch the next set of records from the database
**            when a button is pressed.
** Trigger:When-Button-Pressed
*/
BEGIN
  Next_Set;
END;


OLEVAR_EMPTY

 すべてのビルトイン

説明

型VT_EMPTYのOLEバリアントです。

構文:

OLEVAR_EMPTY OLEVAR;

使用上の注意

これは設定できない変数です。OLEコールに対し、空のまたは存在しない引数を渡すときに使用すると便利です。


OPEN_FORMビルトイン

 制限事項	   関連項目	 すべてのビルトイン

説明

指示されたフォームをオープンします。OPEN_FORMを使用すると、複数フォーム・アプリケーション、つまり同時に複数のフォームをオープンするアプリケーションを作成できます。

構文:

PROCEDURE OPEN_FORM
  (form_name  VARCHAR2);

PROCEDURE OPEN_FORM
  (form_name      VARCHAR2,
   activate_mode  NUMBER);
PROCEDURE OPEN_FORM
  (form_name      VARCHAR2,
   activate_mode  NUMBER,
   session_mode   NUMBER);
PROCEDURE OPEN_FORM
  (form_name      VARCHAR2,
   activate_mode  NUMBER,
   session_mode   NUMBER,
   data_mode      NUMBER);
PROCEDURE OPEN_FORM
  (form_name       VARCHAR2,
   activate_mode   NUMBER,
   session_mode    NUMBER,
   paramlist_name  VARCHAR2);
PROCEDURE OPEN_FORM
  (form_name      VARCHAR2,
   activate_mode  NUMBER,
   session_mode   NUMBER,
   paramlist_id   PARAMLIST);
PROCEDURE OPEN_FORM
  (form_name       VARCHAR2,
   activate_mode   NUMBER,
   session_mode    NUMBER,
   data_mode       NUMBER,
   paramlist_name  VARCHAR2);
PROCEDURE OPEN_FORM
  (form_name      VARCHAR2,
   activate_mode  NUMBER,
   session_mode   NUMBER,
   data_mode      NUMBER,
   paramlist_id   PARAMLIST);

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

form_name	オープンするフォームの名前です。データ型はVARCHAR2です。必須。

activate_mode	ACTIVATE（デフォルト）  フォームにフォーカスを設定し、アプリケーションの中でそれをアクティブ・フォームにします。

NO_ACTIVATE  フォームをオープンしますが、そのフォームにフォーカスを設定しません。現フォームは現フォームのままとなります。

session_mode	NO_SESSION（デフォルト）  オープンされたフォームが、現フォームと同じデータベース・セッションを共有するよう指定します。どのフォームにおいてもPOST操作またはCOMMIT操作を行うと、同一セッション内で実行中のすべてのフォームについて、転記、妥当性チェックおよびコミット処理が行われます。

SESSION  オープンされたフォームについて新規の別のデータベース・セッションが作成されるよう指定します。

data_mode	NO_SHARE_LIBRARY_DATA（デフォルト） 実行時に、Form Builderは（設計時に）同一のライブラリが付加されているフォームの間でデータを共有します。

SHARE_LIBRARY_DATA  実行時に、Form Builderは（設計時に）同一のライブラリが付加されているフォームの間でデータを共有します。

paramlist_name	オープンされたフォームに渡されるパラメータ・リストの名前。データ型はVARCHAR2です。

paramlist_id	Form Builderによって、パラメータ・リスト作成時に割り当てられる一意のID。GET_PARAMETER_LIST関数を使用して、タイプPARAMLISTの変数にIDを戻します。

使用上の注意

•	ACTIVATEを指定したフォームをオープンしても、またNO_ACTIVATEを指定したフォームをオープンしても、通常起動する起動トリガーはオープンされたフォーム内で実行されます。（ただし、以下に示すSESSION指定に関する使用上の注意を参照してください。

•	ACTIVATEを指定したフォームをオープン（デフォルト）すると、そのオープンされたフォームは即時にフォーカスを受け取ります。OPEN_FORMのコールに続くトリガー文は実行されません。

•	NO_ACTIVATEを指定したフォームをオープンすると、OPEN_FORMのコールに続くトリガー文は、そのオープンされたフォームがメモリーにロードされ、その初期起動トリガーが起動した後に実行されます。

•	SESSIONを指定したフォームをオープンすると、PRE-LOGON、ON-LOGONおよびPOST-LOGONの各トリガーは起動しません。

•	OPEN_FORMビルトインを発行するフォームがQUERY_ONLYモードで実行されている場合、オープンされたフォームもQUERY_ONLYモードで実行されます。

•	Microsoft Windows上では、独立フォームをオープンするフォーム内のウィンドウが最大化されると、そのオープンされたフォームで表示される最初のウィンドウも、その元の設計時の設定にかかわらず、最大化されます。（ウィンドウのGUI表示状態は、Window_Stateプロパティにより制御されます。）

•	ほとんどのアプリケーションにおいては、ルート・ウィンドウを含むフォームに対するOPEN_FORMの使用は避けてください。1度に表示できるルート・ウィンドウは1つのみなので、現フォーム内およびオープンされたフォーム内のルート・ウィンドウに割り当てられるキャンバスは同一ウィンドウ内に表示されます。これにより、オープンしているフォームが、オリジナルのフォームからルート・ウィンドウを"引継ぐ"ことになり、したがって、オリジナル・フォームのキャンバスを部分的または完全に被います。


OPEN_FORMの制限事項

•	FORMSnn_SESSION環境変数を TRUEに設定すれば、すべてのランフォーム起動のセッションを「オン」に設定できます。FORMSnn_SESSION変数を設定すると、「Runform」コマンド・ラインから「Session」オプションを設定して上書きしない限り、すべてのランフォーム起動は、その設定を継承します。

•	OPEN_FORMを使用して複数フォーム・アプリケーションを作成するときにsession_modeを「SESSION」に設定すると、data_modeをSHARE_LIBRARY_DATAに設定できません（Form Builderによりランタイム・エラー・メッセージが表示されます）。


PASTE_REGIONビルトイン

 関連項目	 すべてのビルトイン

説明

クリップボードの内容（つまり、最近カットまたはコピーされた選択領域）をペーストし、ペースト領域の左上コーナーをカーソル位置に配置します。

構文:

PROCEDURE PASTE_REGION;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし

使用上の注意

PASTE_REGIONは、その他の編集機能と同じくテキスト項目およびイメージ項目上でのみ使用します。カット・アンド・コピー機能では選択済み領域はシステム・クリップボードに転送され、ペースト・ターゲットが指定されるまでシステム・クリップボード内にあります。ペースト・ターゲットが指定されると、カットまたはコピーされた内容がターゲット位置にペーストされます。


PAUSEビルトイン

 すべてのビルトイン

説明

エンド・ユーザーがファンクション・キーを押すまで処理を中断します。PAUSEでは警告が表示される場合があります。

構文:

PROCEDURE PAUSE;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

説明

エンド・ユーザーがファンクション・キーを押すまで処理を中断します。PAUSEでは警告が表示される場合があります。

パラメータ

なし


PLAY_SOUNDビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

指定されたサウンド項目内のサウンド・オブジェクトを再生します。

構文:

PLAY_SOUND(item_id ITEM);

PLAY_SOUND(item_name VARCHAR2);

ビルトイン・タイプ  制限

問合せ入力モード  不可

パラメータ

item_id	ユーザーがサウンド項目作成時に、Form Builderにより与えられた一意のID。

item_name	ユーザーがサウンド項目作成時に与えた名前。


PLAY_SOUNDの制限事項


PLAY_SOUNDの例

/* Example 1:This procedure call (attached to a menu item)

** plays a sound object from the specified sound item:
*/
GO_ITEM('about.abc_inc');
PLAY_SOUND('about.abc_inc');

/* Example 2:These procedure calls (attached to a
** When-Button-Pressed trigger) read a sound object from the
** file system and play it.Note:since an item must have focus
** in order to play a sound, the trigger code includes a call
** to the built-in procedure GO_ITEM:
*/
BEGIN
  IF :clerks.last_name EQ 'BARNES' THEN
    GO_ITEM('orders.filled_by');
    READ_SOUND_FILE('t:\orders\clerk\barnes.wav',
                    'wave',
                    'orders.filled_by');
    PLAY_SOUND('orders.filled_by');
  END IF;
END;


POPULATE_GROUPビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

レコード・グループに関連する問合せを実行し、その問合せの成功または失敗を指示する数値を戻します。問合せが成功すると、POPULATE_GROUPにより0（ゼロ）が戻されます。問合せが失敗すると、そのSELECT文の失敗に対応するORACLEエラー番号が生成されます。問合せ成功の結果、取り出される行により、そのグループ内に存在する行が置換されます。

注意: POPULATE_GROUP配列では、1度に100レコードがフェッチされることに注意してください。ネットワーク・パフォーマンスを向上させるために、問合せを制限し、ネットワーク通信量を制限する場合もあります。

構文:

FUNCTION POPULATE_GROUP
  (recordgroup_id  RecordGroup);

FUNCTION POPULATE_GROUP
(recordgroup_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

Returns  NUMBER

問合せ入力モード 可

パラメータ

recordgroup_id	Form Builderがグループを作成するときに割り当てる一意のID。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループを作成するときに付けた名前。その名前のデータ型はVARCHAR2です。


POPULATE_GROUPの制限事項

次のレコード・グループに対してのみ有効です。

•	設計時に問合せとともに作成されたレコード・グループ

•	CREATE_GROUP_FROM_QUERYのビルトイン項目のコールにより作成されたレコード・グループ

•	それまでに、POPULATE_GROUP_WITH_QUERYのビルトイン項目（問合せをそのレコード・グループに関連付ける）が移入されているレコード・グループ


POPULATE_GROUPの例

/*

** Built-in:POPULATE_GROUP
** Example:See GET_GROUP_ROW_COUNT and CREATE_GROUP_FROM_QUERY
*/


POPULATE_GROUP_FROM_TREEビルトイン

 例   [image] すべてのビルトイン

説明

階層ツリーのデータを使用してレコード・グループを生成します。

構文:

PROCEDURE POPULATE_GROUP_FROM_TREE

(group_name VARCHAR2,

item_name VARCHAR2,

node NODE);

PROCEDURE POPULATE_GROUP_FROM_TREE

(group_name VARCHAR2,

item_id ITEM,

node NODE);

PROCEDURE POPULATE_GROUP_FROM_TREE

(group_id RECORDGROUP,

item_name VARCHAR2,

node NODE);

PROCEDURE POPULATE_GROUP_FROM_TREE

(group_id RECORDGROUP,

item_id ITEM,

node NODE);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

group_name	グループの名前を指定します。
group_id	グループに割り当てられたIDを指定します。
item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
node	有効なノードを指定します。指定された場合、指定ノードも含め、RECORDGROUPの生成に使用されたサブツリーを示します。
使用上の注意

レコード・グループは、階層ツリーのデータ・セットを挿入する前に消去されます。


POPULATE_GROUP_FROM_TREEの例

/*

** Built-in:POPULATE_GROUP_FROM_TREE
*/

-- This code will transfer all the data from a hierarchical tree

-- that is parented by the node with a label of "Zetie" to a

-- pre-created record group.Please see the documentation

-- for the structure of the required record group.

DECLARE

htree         ITEM;

find_node     NODE;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Find the node with a label "Zetie".

find_node := Ftree.Find_Tree_Node(htree, 'Zetie', Ftree.FIND_NEXT,

Ftree.NODE_LABEL, Ftree.ROOT_NODE, Ftree.ROOT_NODE);

-- Populate the record group with the tree data.

-- The record group must already exist.

Ftree.Populate_Group_From_Tree('tree_data_rg', htree, find_node);

END;


POPULATE_GROUP_WITH_QUERYビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

レコード・グループに所定の問合せを移入します。そのレコード・グループは消去され、フェッチされた行によりそのレコード・グループ内の既存の行が置換されます。

SELECT文が失敗すると、Form BuilderによりORACLEエラー番号が戻されます。問合せが成功すれば、このビルトインにより0（ゼロ）が戻されます。

このビルトインは、次のいずれかのコールによって作成されたレコード・グループの移入に使用できます。

•	CREATE_GROUPのビルトイン項目または

•	CREATE_GROUP_FROM_QUERYのビルトイン項目

このビルトインを使用すると、指示された問合せがそのグループのデフォルトの問合せとなり、POPULATE_GROUPのビルトイン項目が後にコールされたたびに実行されます。

注意: POPULATE_GROUP_WITH_QUERY配列では、1度に20レコードがフェッチされることに注意してください。ネットワーク・パフォーマンスを向上させるために、問合せを制限し、ネットワーク通信量を制限する場合もあります。

構文:

FUNCTION POPULATE_GROUP_WITH_QUERY
(recordgroup_id  RecordGroup,
 query      VARCHAR2);

FUNCTION POPULATE_GROUP_WITH_QUERY
  (recordgroup_name  VARCHAR2,
   query             VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

Returns  NUMBER

問合せ入力モード 可

パラメータ

recordgroup_id	Form Builderがグループを作成するときに割り当てる一意のID。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループを作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

query	引用符（'）に囲まれた有効なSELECT文。問合せの結果として取り出された列はすべて、表の中の列のデータ型をとります。問合せを表内の列のサブセットに制限すると、レコード・グループにはそれらの列のみが作成されます。問合せのデータ型はVARCHAR2です。


POPULATE_GROUP_WITH_QUERYの制限事項

•	SELECT文に指定された列の数値および型がレコード・グループ列に一致している必要があります。


POPULATE_GROUP_WITH_QUERYの例

/*

** Built-in:POPULATE_GROUP_WITH_QUERY
** Example:See CREATE_GROUP
*/


POPULATE_LISTビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

現リストの内容を削除し、レコード・グループの値をそのリストに移入します。そのレコード・グループは実行時に作成してください。また、次の2つの列（VARCHAR2）構造を持っている必要があります。

列1: 	列2:

リスト・ラベル	リスト値

構文:

PROCEDURE POPULATE_LIST
  (list_id    ITEM,
   recgrp_id  RecordGroup);

PROCEDURE POPULATE_LIST
  (list_id      ITEM,
   recgrp_name  VARCHAR2);
PROCEDURE POPULATE_LIST
  (list_name  VARCHAR2,
   recgrp_id  RecordGroup);
PROCEDURE POPULATE_LIST
  (list_name    VARCHAR2,
   recgrp_name  VARCHAR2);

ビルトイン・タイプ

制限なしプロシージャ

問合せ入力モード 可

パラメータ

list_id	Form Builderがリスト項目を作成するときに割り当てる一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

list_name	ユーザーがリスト項目を作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

recgrp_id	Form Builderによりレコード・グループ作成時に割り当てられる一意のIDを指定します。そのIDのデータ型はRECORDGROUPです。

recgrp_name	ユーザーがレコード・グループ作成時に与えたVARCHAR2名。

使用上の注意

•	「ほかの値のマッピング」プロパティが定義されていて、そのブロック内に問合せ対象レコードがある場合は、POPULATE_LISTのビルトインを使用しないでください。このような場合にCLEAR_LISTビルトインを使用すると、すでにフェッチされたレコードを表示できなくなる場合があります。

たとえば、値A、BおよびCを含んでいるリスト項目があり、「ほかの値のマッピング」プロパティが定義されているとします。また、これらの値はデータベースからフェッチされたものであるとします（問合せはオープンしている）。ここで、ユーザーがPOPULATE_LISTを使用してこのリストを移入すると、エラーが起こります。その理由は、Form Builderではそれまでにフェッチされた値（A、BおよびC）を表示しようとしますが、これらの値がリストから除去され、新しい値に置換されているため、表示できないからです。

•	リストを移入する前に、オープンされている問合せをクローズします。オープンされた問合せのクローズには、ABORT_QUERYビルトインを使用します。


POPULATE_LISTの制限事項

POPULATE_LISTによって、次の場合に、「エラーFRM-41337: レコード・グループからリストを占有できません。」が戻されます。

•	このレコード・グループにデフォルト値の要素もその他の値要素も含まれておらず、このリストが、DELETE_LIST_ELEMENTでこれらの要素を削除する際の基準に適合しない場合。詳細は、DELETE_LIST_ELEMENTの制限事項を参照してください。

•	そのレコード・グループに別の値の要素が含まれているが、そのリストが、ADD_LIST_ELEMENTにより別の値の要素を追加する際の基準に適合しない場合。詳細は、ADD_LIST_ELEMENTの制限事項を参照してください。


POPULATE_LISTの例

/*

**  Built-in:POPULATE_LIST
**  Example:Retrieves the values from the current list item
**             into record group one, clears the list, and
**             populates the list with values from record group
**             two when a button is pressed.
**  Trigger:When-Button-Pressed
*/
BEGIN
   Retrieve_List(list_id, 'RECGRP_ONE');
   Clear_List(list_id);
   Populate_List(list_id, 'RECGRP_TWO');
END;


POPULATE_TREEビルトイン

 例   [image] すべてのビルトイン

説明

階層ツリー内にある既存データを消去し、RECORDGROUPプロパティまたはQueryTextプロパティによって指定されたデータ・セットを取得します。

構文:

PROCEDURE POPULATE_TREE

(item_name VARCHAR2);

PROCEDURE POPULATE_TREE

(item_id ITEM);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。


POPULATE_TREEの例

/*

** Built-in:POPULATE_TREE
*/

-- This code will cause a tree to be re-populated using

-- either the record group or query already specified

-- for the hierarchical tree.

DECLARE

htree         ITEM;

   top_node      FTREE.NODE;

   find_node     FTREE.NODE;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Populate the tree with data.

Ftree.Populate_Tree(htree);

END;


POSTビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

データベースに対するフォームにデータを書き込みますが、データベース・コミットは実行しません。Form Builderでは最初にフォームの妥当性チェックが実行されます。データベースに転記する変更内容がある場合、フォームの各ブロックについて、そのデータベースに書込み、削除、挿入および更新が行われます。

データベースに転記するデータはすべて、現ランフォーム・セッションで実行される次のCOMMIT_FORMにより、そのデータベースに対してコミットされます。また、このデータは次のCLEAR_FORMによってロールバックもできます。

構文:

PROCEDURE POST;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし

使用上の注意

このフォームがNO_SESSIONパラメータを指定したOPEN_FORMによってコールされた場合、POSTはデータの妥当性チェックを行い、このフォームとコール側フォームの両方にデータを書き込みます。


POSTの例

/*

** Built-in:POST and EXIT_FORM
** Example:Leave the called form, without rolling back the
**            posted changes so they may be posted and
**            committed by the calling form as part of the
**            same transaction.
*/
BEGIN
  Post;

  /*
  ** Form_Status should be 'QUERY' if all records were
  ** successfully posted.
  */
  IF :System.Form_Status <> 'QUERY' THEN
    Message('An error prevented the system from posting changes');
    RAISE Form_Trigger_Failure;
  END IF;
  /*
  ** By default, Exit_Form asks to commit and performs a
  ** rollback to savepoint.We've already posted, so we do
  ** not need to commit, and we don't want the posted changes
  ** to be rolled back.
  */
  Exit_Form(NO_COMMIT, NO_ROLLBACK);
END;


PREVIOUS_BLOCKビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

ナビゲーション順序内の前の入力可能なブロックにある最初のナビゲート可能な項目にナビゲートします。デフォルトでは、ナビゲーション順序内の前のブロックは、オブジェクト・ナビゲータ内のブロック順序で定義した通り、順序番号が次に低いブロックです。ただし、「前のナビゲーション・データ・ブロック」ブロック・プロパティの設定では、ナビゲーションを目的として、異なるブロックを前のブロックとして指定できます。

それより順序の低い入力可能なブロックがない場合、PREVIOUS_BLOCKを使用して、順序番号が最大の入力可能なブロックにナビゲートします。

構文:

PROCEDURE PREVIOUS_BLOCK;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


PREVIOUS_BLOCKの例

/*

** Built-in:PREVIOUS_BLOCK
** Example:If the current item is the first item in the
**            block, then skip back the previous block
**            instead of the default of going to the last
**            item in the same block
** Trigger:Key-Previous-Item
*/
DECLARE
  cur_itm VARCHAR2(80) := :System.Cursor_Item;
  cur_blk VARCHAR2(80) := :System.Cursor_Block;
  frs_itm VARCHAR2(80);
BEGIN
  frs_itm := cur_blk||'.'||Get_Block_Property(cur_blk,FIRST_ITEM);
  IF cur_itm = frs_itm THEN
    Previous_Block;
  ELSE
    Previous_Item;
  END IF;
END;


PREVIOUS_FORMビルトイン

 制限事項	   関連項目	 すべてのビルトイン

説明

複数フォーム・アプリケーションでは、順序番号が次に低いフォームにナビゲートします。（フォームは実行時に起動された順序で順序付けされます。）それより順序番号が低いフォームがない場合、PREVIOUS_FORMは順序番号が最大のフォームにナビゲートします。そのようなフォームがない場合には、現フォームは現フォームのままとなります。

PREVIOUS_FORMでナビゲートするときには、妥当性チェックは行われず、ナビゲーションを開始するフォームで起動されるWHEN-WINDOW-DEACTIVATEDトリガー、およびターゲット・フォームで起動されるWHEN-WINDOW-ACTIVATEDトリガー以外には、トリガーが起動しません。

構文:

PROCEDURE PREVIOUS_FORM;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可


PREVIOUS_FORMの制限事項

CALL_FORMがある別のフォームを起動した結果として現在使用禁止となっているフォームはターゲット・フォームにはできません。


PREVIOUS_ITEMビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

順序番号が現項目の次に低いナビゲート可能な項目にナビゲートします。該当項目がない場合、PREVIOUS_ITEMは順序番号が最大のナビゲート可能な項目にナビゲートします。そのような項目がない場合、PREVIOUS_ITEMは現項目にナビゲートします。

そのブロック内の最初のナビゲート可能な項目からのPREVIOUS_ITEM機能は、「ナビゲーション形式」ブロック・プロパティの設定によって変わります。「ナビゲーション形式」の有効設定値としては、次のようなものがあります。

同一レコード（デフォルト）:  ブロックの最初の項目から「前の項目へ」操作を行うと、同一レコード内の、ブロックの最後にナビゲート可能な項目へ入力フォーカスが移ります。

レコード変更: ブロックの最初の項目から「前の項目へ」操作を行うと、前のレコード内の、ブロックの最後にナビゲート可能な項目へ入力フォーカスが移ります。

ブロック変更:  ブロックの最初の項目から「前の項目」操作を行うと、前のブロック内の、現レコード内の、ナビゲート可能な最後の項目へ入力フォーカスが移ります。

構文:

PROCEDURE PREVIOUS_ITEM;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし


PREVIOUS_ITEMの例

/*

** Built-in:PREVIOUS_ITEM
** Example:See PREVIOUS_BLOCK
*/


PREVIOUS_MENUビルトイン

 制限事項	 すべてのビルトイン

説明

PREVIOUS_MENUを使用して、前のメニュー内で前にアクティブであった項目にナビゲートします。

構文:

PROCEDURE PREVIOUS_MENU;

ビルトイン・タイプ   制限付きプロシージャ

パラメータ

なし


PREVIOUS_MENUの制限事項

PREVIOUS_MENUは、全画面メニューおよびバー・メニューにのみ適用されます。


PREVIOUS_MENU_ITEMビルトイン

 制限事項	 すべてのビルトイン

説明

PREVIOUS_MENU_ITEMを使用して、現メニュー内の前のメニュー項目にナビゲートします。

構文:

PROCEDURE PREVIOUS_MENU_ITEM;

ビルトイン・タイプ   制限付きプロシージャ

パラメータ

なし


PREVIOUS_MENU_ITEMの制限事項

PREVIOUS_MENU_ITEMは、全画面メニューにのみ適用されます。


PREVIOUS_RECORDビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

順序番号が現レコードの次に低いレコード内の最初の変更可能でナビゲート可能な項目にナビゲートします。

構文:

PROCEDURE PREVIOUS_RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


PREVIOUS_RECORDの例

/*

** Built-in:PREVIOUS_RECORD
** Example:If the current item is the first item in the
**            block, then skip back to the previous record
**            instead of the default of going to the last
**            item in the same block
** Trigger:Key-Previous-Item
*/
DECLARE
  cur_itm VARCHAR2(80) := :System.Cursor_Item;
  cur_blk VARCHAR2(80) := :System.Cursor_Block;
  frs_itm VARCHAR2(80);
BEGIN
  frs_itm := cur_blk||'.'||Get_Block_Property(cur_blk,FIRST_ITEM);
  IF cur_itm = frs_itm THEN
    Previous_Record;
  ELSE
    Previous_Item;
  END IF;
END;


PRINTビルトイン

 例   [image] すべてのビルトイン

説明

現ウィンドウをファイルまたはプリンタに印刷します。

構文:

PROCEDURE PRINT;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


PRINTの例

/*

** Built-in:PRINT
** Example:Print the current window.
*/
BEGIN
  Print;
END;


PTR_TO_VAR

 すべてのビルトイン

説明

最初に、入力されたアドレスを含む型VT_PTRのOLEバリアントを作成します。次に、そのバリアントを渡し、関数VARPTR_TO_VARによって入力します。

構文:

FUNCTION PTR_TO_VAR
  (address PLS_INTEGER, vtype VT_TYPE)
RETURN newvar OLEVAR;

ビルトイン・タイプ  制限なしファンクション

戻り値 作成および変換されたOLEバリアント

パラメータ

address	値がアドレスである変数。
vtype	OLEバリアントの最終バージョンに付与される型（VARPTR_TO_VARによって処理された後）。
使用上の注意

大部分のアプリケーションでは、この関数を使用する必要はありません。関数を使用する場合、正しいアドレス値が新しいバリアント内に配置されるように注意する必要があります。


QUERY_PARAMETERビルトイン

 例  [image] すべてのビルトイン

説明

指定された置換パラメータの現行の設定値を示す「パラメータ値入力」ダイアログを表示します。エンド・ユーザーは、ユーザーがリストに組み込むパラメータの値を設定できます。

「パラメータ値入力」ダイアログはモーダルであり、制御は、エンド・ユーザーがそのダイアログを受け入れるか取り消すまでそのコールトリガーまたはプロシージャに戻りません。このため、QUERY_PARAMETERのコールに引き続くPL/SQL文は、「パラメータ値入力」ダイアログが消されるまで実行されません。

構文:

PROCEDURE QUERY_PARAMETER
(parameter_string  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

parameter_string	メニュー項目用の置換パラメータの文字列を指定します。parameter_stringパラメータを指定する構文には、アンパサンドを伴う&parm_nameが必要です。置換パラメータは、すべてのバインド変数に使用されるPL/SQLのコロン構文":param_name"で参照されます。


QUERY_PARAMETERの例

/*

** Built-in:QUERY_PARAMETER
** Example:Prompt for several menu parameters
**            programmatically, validating their contents.
*/
PROCEDURE Update_Warehouse IS
  validation_Err BOOLEAN;
BEGIN
  WHILE TRUE LOOP
    Query_Parameter('&p1 &q2 &z6');
    /*
    ** If the user did not Cancel the box the Menu_Success
    ** function will return boolean TRUE.
    */
    IF Menu_Success THEN
      IF TO_NUMBER( :q2 ) NOT BETWEEN 100 AND 5000 THEN
      Message('Qty must be in the range 100..5000');
      Bell;
      Validation_Err := TRUE;
        END IF;
    /*
    ** Start a sub-block so we can catch a Value_Error
    ** exception in a local handler
    */
      BEGIN
    IF TO_DATE( :z6 ) < SYSDATE THEN
      Message('Target Date must name a day in the future.');
      Bell;
      Validation_Err := TRUE;
    END IF;
      EXCEPTION
    WHEN VALUE_ERROR THEN
      Message('Target Date must be of the form DD-MON-YY');
      Bell;
      Validation_Err := TRUE;
      END;
      /*
      ** If we get here, all parameters were valid so do the
      ** Update Statement.
      */
      IF NOT Validation_Err THEN
    UPDATE WAREHOUSE
      SET QTY_TO_ORDER = QTY_TO_ORDER*0.18
    WHERE TARGET_DATE = TO_DATE(:z6)
      AND QTY_ON_HAND > TO_NUMBER(:q2)
      AND COST_CODE LIKE :p1||'%';
      END IF;
    ELSE
      /*
      ** If Menu_Success is boolean false, then return back
      ** from the procedure since user cancelled the dialog
      */
      RETURN;
    END IF;
  END LOOP;
END;


READ_IMAGE_FILEビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

所定のファイルから所定のタイプのイメージを読み込んで、Form Builderのイメージ項目にそれを表示します。

構文:

PROCEDURE READ_IMAGE_FILE
  (file_name  VARCHAR2,
   file_type  VARCHAR2,
   item_id    ITEM);

PROCEDURE READ_IMAGE_FILE
  (file_name  VARCHAR2,
   file_type  VARCHAR2,
   item_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

file_name	有効なファイル名。ファイル名指定には、ご使用のオペレーティング・システムに適切なフルパス文を組み込めます。

file_type	有効なイメージ・ファイル・タイプは、BMP、CALS、GIF、JFIF、JPG、PICT、RAS、TIFF、またはTPICです。（注意: ファイル・タイプは、Form Builderがソース・イメージ・ファイルから推測するので、任意指定です。ただし、パフォーマンスを最適化するには、ファイル・タイプを指定してください。

item_id	Form Builderによりイメージ項目の作成時に割り当てられる一意のID。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。データ型はITEMです。

item_name	ユーザーがイメージ項目の作成時に与えた名前。データ型はVARCHAR2です。

使用上の注意

Form Builderは.FMXファイル検索時に、同一のデフォルト・パス上のイメージ・ファイルを検索します。使用しているプラットフォームの特定の検索パスの詳細は、使用しているオペレーティング・システムのForm Builderのマニュアルを参照してください。


READ_IMAGE_FILEの例

/* Read an image from the filesystem into an image item on the

** form.In this example, the scanned picture identification
** for each employee is NOT saved to the database, but is
** stored on the filesystem.An employee's  photo is a TIFF
** image stored in a file named <Userid>.TIF Each employee's
** Userid is unique.
** Trigger:Post-Query
*/
DECLARE
  tiff_image_dir VARCHAR2(80) := '/usr/staff/photos/';
  photo_filename VARCHAR2(80);
BEGIN
  /*
  ** Set the message level high so we can gracefully handle
  ** an error reading the file if it occurs
  */
  :System.Message_Level := '25';
  /*
  ** After fetching an employee record, take the employee's
  ** Userid and concatenate the '.TIF' extension to derive
  ** the filename from which to load the TIFF image.The EMP
  ** record has a non-database image item named 'EMP_PHOTO'
  ** into which we read the image.
  */
  photo_filename := tiff_image_dir||LOWER(:emp.userid)||'.tif';

  /*
  ** For example 'photo_filename' might look like:
  **
  **     /usr/staff/photos/jgetty.tif
  **                       ------
  **
  ** Now, read in the appropriate image.
  */

  READ_IMAGE_FILE(photo_filename, 'TIFF', 'emp.emp_photo');
  IF NOT FORM_SUCCESS THEN
    MESSAGE('This employee does not have a photo on file.');
  END IF;
  :SYSTEM.MESSAGE_LEVEL := '0';
END;


READ_SOUND_FILEビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

指定ファイルから、指定サウンド項目にサウンド・オブジェクトを読み込みます。

構文:

READ_SOUND_FILE(file_name VARCHAR2,
                file_type VARCHAR2,
                item_id ITEM);

READ_SOUND_FILE(file_name VARCHAR2,
                file_type VARCHAR2,
                item_name VARCHAR2);

ビルトイン・タイプ

非制限

問合せ入力モード  可

パラメータ

file_name	読込み対象のサウンド・オブジェクトを含むファイルの完全修飾ファイル名。

file_type	そのサウンド・データ・ファイルのファイル・タイプ。有効な値は、AU、AIFF、AIFF-C、およびWAVEです（注意: ファイル・タイプは任意指定ですが、すでにわかっていれば、パフォーマンス向上のために指定してください）。

item_id	ユーザーがサウンド項目作成時に、Form Builderにより与えられた一意のID。

item_name	ユーザーがサウンド項目作成時に与えた名前。

使用上の注意

•	サウンド・ファイルのファイル・タイプ指定は任意指定です。ただし、ファイル・タイプを知っていれば、それを指定することでパフォーマンスを向上させることができます。


READ_SOUND_FILEの制限事項


READ_SOUND_FILEの例

/* These procedure calls (attached to a When-Button-Pressed

** trigger) reads a sound object from the file system and plays
** it.Note:since a sound item must have focus in order to play
** a sound object, the trigger code includes a call to the
** built-in procedure GO_ITEM:
*/
BEGIN
  IF :clerks.last_name EQ 'BARNES' THEN
    GO_ITEM('orders.filled_by');
    READ_SOUND_FILE('t:\orders\clerk\barnes.wav',
                    'wave',
                    'orders.filled_by');
    PLAY_SOUND('orders.filled_by');
  END IF;
END;


RECALCULATEビルトイン

 制限事項	   関連項目	 すべてのビルトイン

説明

指定された計算式の計算項目（そのブロックの各レコード内）の値を再計算のためにマークします。一般的に、その計算式（またはそれによって起動される関数またはプロシージャ）により、異なる値を戻すシステム変数またはビルトイン関数が参照される場合に、このビルトインが起動されることになります。

実際の計算は即時には行われないので注意してください。計算は、項目がマークされた後に、計算済み項目が参照されるか、またはエンド・ユーザーに表示される前に行われます。使用しているアプリケーション・ロジックは、特定時刻に行われる計算項目の再計算には依存しません。

構文:

PROCEDURE RECALCULATE
  (item_name  VARCHAR2);

PROCEDURE RECALCULATE
  (item_id  Item);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item_name	ユーザーが項目定義時に与えた名前。データ型はVARCHAR2です。

item_id	Form Builderによりその項目の作成時に割り当てられた一意のID。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。データ型はITEMです。


RECALCULATEの制限事項

RECALCULATEビルトインを使用して、計算式計算項目のみを再計算することができます。RECALCULATEの引数としてサマリー項目（または非計算項目）を指定すると、Form Builderにより次のエラー・メッセージが戻されます。

FRM-41379:非式項目: <block_name.item_name>を再計算できません。


REDISPLAYビルトイン

 すべてのビルトイン

説明

スクリーンを再描画します。これにより、スクリーンに表示されている既存のシステム・メッセージが消去されます。

構文:

PROCEDURE REDISPLAY;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


RELEASE_OBJ

 すべてのビルトイン

説明

OLEオブジェクトへの接続を遮断します。

構文:

PROCEDURE RELEASE_OBJ
  (obj OLEOBJ, kill_persistence_boolean := NULL);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

obj	解除するOLEオブジェクトへのポインタ。
Kill_persistence_boolean	ブール値NULLによってオブジェクトが解除され、その永続性は失われます。 ブール値TRUEによって永続オブジェクトのみが解除されます。永続オブジェクトへのポインタがない場合、コードは誤動作します。   ブール値FALSEによって非永続オブジェクトのみが解除されます。非永続オブジェクトへのポインタがない場合、エラーFRM-40935が表示されます。 これはオプションのパラメータです。入力しない場合のデフォルト値はNULLです（オブジェクトを無条件に解除します）。
使用上の注意

一般的に、オブジェクトを解除したら、アクセスしないでください。

このプロシージャの条件付きフォーム（ブール値のTRUEまたはFALSE）が使用されるのは、オブジェクトの2つのインスタンスが作成され、各インスタンスが異なる永続性値を持ち、ポインタが曖昧であるといった、稀な場合のみです。プロシージャによって2つのオブジェクトのいずれかが解除され、もう一方が唯一のインスタンスになります。


REPLACE_CONTENT_VIEWビルトイン

 例  [image] 制限事項	   関連項目	 すべてのビルトイン

説明

指示されたウィンドウに現在表示中の内容キャンバスを異なる内容キャンバスで置換します。

構文:

PROCEDURE REPLACE_CONTENT_VIEW
  (window_id  Window,
   view_id    ViewPort);

PROCEDURE REPLACE_CONTENT_VIEW
  (window_name  VARCHAR2,
   view_id      ViewPort);
PROCEDURE REPLACE_CONTENT_VIEW
  (window_id  Window,
   view_name  VARCHAR2);
PROCEDURE REPLACE_CONTENT_VIEW
  (window_name  VARCHAR2,
   view_name    VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

window_id	Form Builderがウィンドウ作成時にそのウィンドウに割り当てられる一意のIDを指定します。FIND_WINDOWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はWINDOW型です。

window_name	ウィンドウの作成時に付けた名前を指定します。その名前のデータ型はVARCHAR2です。

view_id	Form Builderによりオブジェクト作成時にそのビューに割り当てられる一意のIDを指定します。FIND_VIEWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はVIEWPORT型です。

view_name	ユーザーがオブジェクト定義時にそのオブジェクトに与えた名前を指定します。その名前のデータ型はVARCHAR2です。


REPLACE_CONTENT_VIEWの制限事項

•	ウィンドウの現コンテンツ・キャンバスに取って代わるキャンバスは、すでに設計時にそのウィンドウに割り当てられている必要があります。つまり、あるウィンドウのコンテンツ・ビューを別のウィンドウからのコンテンツ・ビューで置き換えることはできません。

•	現在フォーカスを持つ項目を含む内容キャンバスを置換すると、Form Builderでは即時にその置換が取り消され、フォーカス項目がエンド・ユーザーに見える状態が保持されます。


REPLACE_CONTENT_VIEWの例

/*

** Built-in:REPLACE_CONTENT_VIEW
** Example:Replace the 'salary' view with the 'history'
**            view in the 'employee_status' window.
*/
BEGIN
  Replace_Content_View('employee_status','history');
END;


REPLACE_MENUビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

現メニューを指定メニューで置換しますが、新規メニューをアクティブにしません。また、REPLACE_MENUを使用すると、そのメニューの表示方法およびロールを変更できます。

REPLACE_MENUでは、新規メニューをアクティブにしないため、Form Builderではそのメニューがアクティブ・キャンバスのどの部分であれ、覆い隠されないようにします。したがって、アクティブ・キャンバスがメニューを覆うと、メニュー全体または一部分が画面上で見えなくなります。

構文:

REPLACE_MENU;

PROCEDURE REPLACE_MENU
  (menu_module_name  VARCHAR2);
PROCEDURE REPLACE_MENU
  (menu_module_name VARCHAR2,
   menu_type        NUMBER);
PROCEDURE REPLACE_MENU
  (menu_module_name    VARCHAR2,
   menu_type           NUMBER,
   starting_menu_name  VARCHAR2);
PROCEDURE REPLACE_MENU
  (menu_module_name  VARCHAR2,
   menu_type         NUMBER,
   starting_menu     VARCHAR2,
   group_name        VARCHAR2);
PROCEDURE REPLACE_MENU
  (menu_module_name  VARCHAR2,
   menu_type         NUMBER,
   starting_menu     VARCHAR2,
   group_name        VARCHAR2,
   use_file          BOOLEAN);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

使用上の注意

REPLACE_MENUを使用して、アプリケーション内のすべてのウィンドウについてそのメニューが置換されます。ユーザーがCALL_FORMを使用している場合、REPLACE_MENUでは、コール側フォームとコール先フォームの両方のメニューが指定メニューで置換されます。

パラメータ

menu_module _name	現メニュー・モジュールを置換すべきメニュー・モジュールの名前。データ型はVARCHAR2です。このパラメータは任意です。省略すると、Form Builderはメニューなしのフォームを実行します。

menu_type	そのメニューの表示形式。次の定数は、このパラメータの引数として渡せます。

PULL_DOWN  ほとんどのGUIプラットフォームおよび一定の文字モードのプラットフォームに特徴的なプルダウン形式でメニューを表示するときに、これを指定します。

BAR  ルート・ウィンドウの1番上に水平にまたがるバー形式でメニューを表示するときに、これを指定します。

FULL_SCREEN  全画面形式でメニューを表示するときに、これを指定します。

starting_menu	Form Builderにより開始メニューとして使用されるべきメニュー・モジュール内のメニューを指定します。その名前のデータ型はVARCHAR2です。

group_name	Form Builderにより使用されるべきセキュリティ・ロールを指定します。ロール名を指定しない場合は、Form Builderでは現ユーザー名を使用してロールが判別されます。

use_file	Form Builderにより実行対象のメニュー.MMXファイルを探す方法が指示されます。「メニュー・ソース」フォーム・モジュール・プロパティに対応します。use_fileのデータ型はBOOLEANです。

NULL  Form Builderが現メニューの「ソース・プロパティ」から読み込みを行い、それに応じてREPLACE_MENUを実行するよう指定します。たとえば、フォーム・モジュール「メニュー・ソース」プロパティが現フォームについて「はい」に設定されている場合、Form Builderでは、use_file実パラメータがTRUEであるかのように REPLACE_MENUが実行されます。

FALSE  Form Builderにより、「メニュー・モジュール」値がデータベース内の.MMB（バイナリ）メニュー・モジュールへの参照値として扱われ、このモジュールに対する問合せが実行され.MMX（実行可能）の実名が取得されるよう指定します。

TRUE  Form Builderによりその「メニュー・モジュール」値が、そのファイル・システム内の.MMXメニュー実行ファイルへの直接参照として扱われるよう指定します。


REPLACE_MENUの例

/*

** Built-in:REPLACE_MENU
** Example:Use a standard procedure to change which root
**              menu in the current menu application appears in
**              the menu bar.A single menu application may
**              have multiple "root-menus" which an application
**              can dynamically set at runtime.
*/
PROCEDURE Change_Root_To(root_menu_name VARCHAR2) IS
BEGIN
  Replace_Menu('MYAPPLSTD', PULL_DOWN, root_menu_name);
END;


REPORT_OBJECT_STATUSビルトイン

 例   [image] すべてのビルトイン

説明

フォーム内でRUN_REPORT_OBJECTビルトインによって実行されるレポート・オブジェクトのステータスを提供します。

構文:

FUNCTION REPORT_OBJECT_STATUS
  (report_id VARCHAR2(20)
);

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 可

パラメータ

report_id	RUN_REPORT_OBJECTビルトインによって返されるVARCHAR2型の値。この値によって、現在ローカルで実行されているまたはリモートのレポート・サーバー上で実行されているレポートが一意に識別されます。

使用上の注意

このビルトインには、finished、running、canceled、opening_report、enqueued、invalid_job、terminated_with_errorおよびcrashedという、8種類の戻り値があります。


REPORT_OBJECT_STATUSの例

DECLARE

repid REPORT_OBJECT;

v_rep  VARCHAR2(100);

rep_status varchar2(20);

BEGIN

repid := find_report_object('report4');

v_rep := RUN_REPORT_OBJECT(repid);

rep_status := REPORT_OBJECT_STATUS(v_rep);

if rep_status = 'FINISHED' then

message('Report Completed');

copy_report_object_output(v_rep,'d:\temp\local.pdf');

host('netscape d:\temp\local.pdf');

else

message('Error when running report.');

end if;

END;


RESET_GROUP_SELECTIONビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

所定のグループ内の選択行を選択解除します。このビルトインは、個々の行にSET_GROUP_SELECTIONを実行することによりプログラム的に選択済みとしてマークされたすべてのレコード・グループ行を選択解除するのに使用します。

構文:

PROCEDURE RESET_GROUP_SELECTION
  (recordgroup_id  RecordGroup);

PROCEDURE RESET_GROUP_SELECTION
(recordgroup_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

recordgroup_id	Form Builderがグループを作成するときに割り当てる一意のID。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループを作成するときに付けた名前。その名前のデータ型はVARCHAR2です。


RESET_GROUP_SELECTIONの例

/*

** Built-in:RESET_GROUP_SELECTION
** Example:If the user presses the (Cancel) button, forget
**            all of the records in the 'USERSEL' record
**            group that we may have previously marked as
**            selected records.
** Trigger:When-Button-Pressed
*/
BEGIN
  Reset_Group_Selection( 'usersel' );
END;


RESIZE_WINDOWビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

ウィンドウのサイズを所定の幅および高さに変更します。RESIZE_WINDOWのコールにより、ウィンドウが現在表示されていなくても、そのウィンドウの幅と高さが設定されます。スクリーン上のウィンドウの左上角のxおよびy座標によって指定されているので、RESIZE_WINDOWは、ウィンドウの位置を変更しません。

Microsoft Windowsでは、定数FORMS_MDI_WINDOWをウィンドウ名に指定すれば、MDIアプリケーション・ウィンドウのサイズを変更できます。

また、SET_WINDOW_PROPERTYを使用してもウィンドウのサイズを変更できます。

構文:

PROCEDURE RESIZE_WINDOW
  (window_id  Window,
   width      NUMBER,
   height     NUMBER);

PROCEDURE RESIZE_WINDOW
  (window_name  VARCHAR2,
   width        NUMBER,
   height       NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

window_id	Form Builderがウィンドウ作成時にそのウィンドウに割り当てられる一意のIDを指定します。FIND_WINDOWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はWindow型です。

window_name	ウィンドウの作成時に付けた名前を指定します。その名前のデータ型はVARCHAR2です。

width	そのウィンドウの新しい幅をフォーム座標単位で指定します。

height	そのウィンドウの新しい高さをフォーム座標単位で指定します。


RESIZE_WINDOWの例

/*

** Built-in:RESIZE_WINDOW
** Example:Set Window2 to be the same size as Window1
*/
PROCEDURE Make_Same_Size_Win( Window1 VARCHAR2, Window2 VARCHAR2) IS
  wn_id1 Window;
  w      NUMBER;
  h      NUMBER;
BEGIN
  /*
  ** Find Window1 and get it's width and height.
  */
  wn_id1 := Find_Window(Window1);
  w      := Get_Window_Property(wn_id1,WIDTH);
  h      := Get_Window_Property(wn_id1,HEIGHT);
  /*
  ** Resize Window2 to the same size
  */
  Resize_Window( Window2, w, h );
END;


RETRIEVE_LISTビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

現リストの内容を取り出し、指定されたレコード・グループに格納します。ターゲット・レコードには、次の2列（VARCHAR2）構造体が必要です。

列1: 	列2:

リスト・ラベル	リスト値

リスト項目の内容を保存しておくと、その内容でリストを回復できるようになります。

構文:

PROCEDURE RETRIEVE_LIST
  (list_id      ITEM,
   recgrp_name  VARCHAR2);

PROCEDURE RETRIEVE_LIST
  (list_id    ITEM,
   recgrp_id  RecordGroup);
PROCEDURE RETRIEVE_LIST
  (list_name  VARCHAR2,
   recgrp_id  RecordGroup);
PROCEDURE RETRIEVE_LIST
  (list_name    VARCHAR2,
   recgrp_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

list_id	Form Builderがリスト項目を作成するときに割り当てる一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

list_name	ユーザーがリスト項目を作成するときに付けた名前。その名前のデータ型はVARCHAR2です。

recgrp_id	Form Builderによりレコード・グループ作成時に割り当てられる一意のIDを指定します。そのIDのデータ型はRECORDGROUPです。

recgrp_name	ユーザーがレコード・グループ作成時に与えたVARCHAR2名。


RETRIEVE_LISTの例

/*

**  Built-in:RETRIEVE_LIST
**  Example:See POPULATE_LIST
*/


RUN_PRODUCTビルトイン

 例  [image] 関連項目	 すべてのビルトイン

説明

サポートされているOracle Toolsのひとつを起動して、モジュール名または実行対象のモジュール名を指定します。コールされた製品がそのコール時に使用不能である場合、Form Builderではエンド・ユーザーにメッセージが戻されます。

パラメータ・リストを作成し、次にそれをRUN_PRODUCTのコールで参照すると、そのフォームは、コールされた製品に対して、コマンド・ライン・パラメータ、およびバインドまたは字句参照、名前付き問合せの値を示すテキストおよびデータ・パラメータを渡せるようになります。DATA_PARAMETERタイプのパラメータは、Form Builder内のレコード・グループのポインタです。DATA_PARAMETERはReport BuilderおよびGraphics Builderには渡せますが、Form BuilderやOracle Bookには渡せません。

フォーム内からレポートを実行するには、専用のレポート統合ビルトインRUN_REPORT_OBJECTを使用することもできます。

構文:

PROCEDURE RUN_PRODUCT
  (product   NUMBER,
   module  VARCHAR2,
   commmode  NUMBER,
   execmode  NUMBER,
   location  NUMBER,
   paramlist_id      VARCHAR2,
   display   VARCHAR2);

PROCEDURE RUN_PRODUCT
  (product   NUMBER,
   module  VARCHAR2,
   commmode  NUMBER,
   execmode  NUMBER,
   location  NUMBER,
   paramlist_name      VARCHAR2,
   display   VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

product	起動するOracle製品の数値定数を指定します。FORMSはランフォーム・セッションを指定します。GRAPHICSはGraphics Builderを指定します。REPORTSはReportBuilderを指定します。BOOKはOracle Bookを指定します。

module	そのモジュール、またはコールされた製品により実行されるモジュールのVARCHAR2名を指定します。有効値は、フォーム・モジュールまたはレポート、Graphics Builder表示、Oracle Bookモジュールの名前です。アプリケーションは、そのモジュール、またはコールされた製品に定義されたデフォルト・パス内のモジュールを探します。

commmode	コールされた製品の実行時に使用する通信モードを指定します。このパラメータの有効な数値定数はSYNCHRONOUSおよびASYNCHRONOUSです。

SYNCHRONOUS コールされた製品が終了した後にのみ制御がForm Builderに戻されることを指定します。また、コールされるアプリケーションが動作している間、エンド・ユーザーはフォーム内での作業を行うことができません。

ASYNCHRONOUS コールされたアプリケーションがその表示を完了していない場合でも、制御をコール側アプリケーションに即時戻すことを指定します。

execmode	コールされた製品の実行時に実行モードを使用することを指定します。このパラメータの有効な数値定数はBATCHおよびRUNTIMEです。Report BuilderおよびGraphics Builderの実行時、execmodeはBATCHまたはRUNTIMEのいずれかです。Form Builderの実行時には、常にexecmodeをRUNTIMEに設定してください。

location	そのモジュール、またはコールされた製品に実行させたいモジュール（ファイル・システムまたはデータベース）の位置を指定します。このプロパティの有効定数はFILESYSTEMおよびDBです。

Paramlist_name or paramlist_ID	コールされた製品に渡されるパラメータ・リストを指定します。このパラメータの有効値は、パラメータ・リストのVARCHAR2名パラメータ・リストのIDまたはNULL文字列（''）です。パラメータ・リストIDを指定するには、PARAMLISTタイプの変数を使用します。

コールされた製品へのテキスト・パラメータの引渡しは、SYNCHRONOUSおよびASYNCHRONOUSモードのどちらでも可能です。ただし、DATA_PARAMETERタイプのパラメータ（レコード・グループへのポインタ）を含むパラメータ・リストについては、SYNCHRONOUSモードでReport BuilderおよびGraphics Builderに渡せるのみです。（SYNCHRONOUSモードは、Graphics Builderを起動して、フォーム・チャート項目内に表示されるGraphics Builder表示を戻す際に必要です。

注意: keyを「LOGON」に設定し、valueを「いいえ」に設定したパラメータを含むパラメータ・リストを渡すと、Graphics Builderのログオンを防止できます。

注意: DATA_PARAMETERを、Report Builder内の子問合せに渡すことはできません。データ渡しがサポートされるのは、マスター問合せのみです。

display	Graphics Builderが生成する図表（円グラフまたは棒グラフ、グラフなど）を含むForm Builderチャート項目のVARCHAR2名を指定します。チャート項目の名前は、block_name.item_nameの書式で指定する必要があります。（このパラメータは、フォーム中にGraphics Builderチャート項目を使用している場合にのみ必要です。


RUN_PRODUCTの例

/*

** Built-in:RUN_PRODUCT
** Example:Call a Report Builder report, passing the
**            data in record group 'EMP_RECS' to substitute
**            for the report's query named 'EMP_QUERY'.
**            Presumes the Emp_Recs record group already
**            exists and has the same column/data type
**            structure as the report's Emp_Query query.
*/
PROCEDURE Run_Emp_Report IS
  pl_id ParamList;
BEGIN
  /*
  ** Check to see if the 'tmpdata' parameter list exists.
  */
  pl_id := Get_Parameter_List('tmpdata');
  /*
  ** If it does, then delete it before we create it again in
  ** case it contains parameters that are not useful for our
  ** purposes here.
  */
  IF NOT Id_Null(pl_id) THEN
    Destroy_Parameter_List( pl_id );
  END IF;
  /*
  ** Create the 'tmpdata' parameter list afresh.
  */
  pl_id := Create_Parameter_List('tmpdata');
  /*
  ** Add a data parameter to this parameter list that will
  ** establish the relationship between the named query
  ** 'EMP_QUERY' in the report, and the record group named
  ** 'EMP_RECS' in the form.
  */
  Add_Parameter(pl_id,'EMP_QUERY',DATA_PARAMETER,'EMP_RECS');
  /*
  **Pass a Parameter into PARAMFORM so that a parameter dialog will not appear
  **for the parameters being passing in.
  */

Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');

/*
  ** Run the report synchronously, passing the parameter list
  */
  Run_Product(REPORTS, 'empreport', SYNCHRONOUS, RUNTIME,
           FILESYSTEM, pl_id, NULL);
END;


RUN_REPORT_OBJECTビルトイン

 例  [image] すべてのビルトイン

説明

フォーム内からレポートを実行するには、このビルトインを使用します。ローカルまたはリモートのデータベース・サーバーに対してレポートを実行できます。このビルトインを実行することは、レポート上でRUN_PRODUCTビルトインを使用することと似ています。

構文:

FUNCTION RUN_REPORT_OBJECT
  (report_id REPORT_OBJECT
);

ビルトイン・タイプ   制限なしプロシージャ

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

report_id	実行するレポートのIDを指定します。FIND_REPORT_OBJECTビルトインを使用すると、特定レポートのレポートIDを取得できます。

使用上の注意

•	ローカルで実行しているまたはリモートのレポート・サーバー上で実行しているレポートを一意に識別するVARCHAR2値を返します。このレポートID文字列を、REPORT_OBJECT_STATUS、COPY_REPORT_OBJECTおよびCANCEL_REPORT_OBJECTへのパラメータとして使用できます。

空の「レポート・サーバー」プロパティを持つRUN_REPORT_OBJECTを呼び出すと、戻り値はNULLになります。その場合、ビルトインREPORT_OBJECT_STATUSおよびCOPY_REPORT_OBJECT_OUTPUTには実際のID値が必要となるため、これらのビルトインは使用できません。


RUN_REPORT_OBJECTの例

DECLARE

repid REPORT_OBJECT;

v_rep  VARCHAR2(100);

rep_status varchar2(20);

BEGIN

repid := find_report_object('report4');

v_rep := RUN_REPORT_OBJECT(repid);

......

END;


SCROLL_DOWNビルトイン

 例	     関連項目	 すべてのビルトイン

説明

前に隠されたレコードのうち、より高い順序番号を持つレコードが表示されるよう、現在のブロックのリストをスクロールします。変更可能なレコードが存在し、問合せがブロック内でオープンされている場合は、SCROLL_DOWN処理中にForm Builderによってレコードがフェッチされます。単一行ブロックで、SCROLL_DOWNはレコードのブロックのリスト内の次のレコードを表示します。SCROLL_DOWNは、表示されているレコードのうち順序番号が最も小さいレコード内の現項目のインスタンスに入力フォーカスを移動します。

構文:

PROCEDURE SCROLL_DOWN;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


SCROLL_DOWNの例

/*

** Built-in:SCROLL_DOWN
** Example:Scroll records down some.
*/
BEGIN
Scroll_Down;
END;


SCROLL_UPビルトイン

 例	     関連項目	 すべてのビルトイン

説明

前に隠されたレコードのうち、より低い順序番号を持つレコードが表示されるよう、現在のブロックのリストをスクロールします。このアクセスはブロックの表示よりも"上"にあったレコードを表示します。

SCROLL_UPは、表示されているレコードのうち順序番号が最も大きいレコード内の現項目のインスタンスに入力フォーカスを移動します。

構文:

PROCEDURE SCROLL_UP;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


SCROLL_UPの例

/*

** Built-in:SCROLL_UP
** Example:Scroll records up some.
*/
BEGIN
  Scroll_Up;
END;


SCROLL_VIEWビルトイン

 例	     関連項目	 すべてのビルトイン

説明

「キャンバス上のビューポートのX位置」プロパティと「キャンバス上のビューポートのY位置」プロパティを変更して、ビューをキャンバス上の別の位置に移動します。ビューを移動すると、オペレータにキャンバスの別の領域を見せることができますが、ウィンドウ内のビューの位置は変わりません。

注意: 内容キャンバスやツールバー・キャンバスでは、キャンバスが表示されるウィンドウはそのキャンバスのビューを表します。また、スタック・キャンバスでは、「幅」プロパティと「高さ」プロパティを設定して、ビューのサイズを制御します。

構文:

PROCEDURE SCROLL_VIEW
(view_id  ViewPort,
 x     NUMBER,<HP> y     NUMBER);

PROCEDURE SCROLL_VIEW
  (view_name  VARCHAR2,
   x          NUMBER,
   y          NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

view_id	Form Builderによりオブジェクト作成時にそのビューに割り当てられる一意のIDを指定します。FIND_VIEWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はVIEWPORT型です。

view_name	ユーザーがオブジェクト定義時にそのオブジェクトに与えた名前を指定します。その名前のデータ型はVARCHAR2です。

x	キャンバスの左上角からのビューの左上角のX座標を指定します。

y	キャンバスの左上角からのビューの左上角のY座標を指定します。


SCROLL_VIEWの例

/*

** Built-in:SCROLL_VIEW
** Example:Scroll the view whose name is passed in 10% to
**            the right or left depending on the 'direction'
**            parameter.
*/
PROCEDURE Scroll_Ten_Percent( viewname VARCHAR2,
                 direction VARCHAR2 ) IS
  vw_id        ViewPort;
  vw_wid       NUMBER;
  vw_x         NUMBER;
  cn_id        Canvas;
  cn_wid       NUMBER;
  ten_percent  NUMBER;
  new_x        NUMBER;
  old_y        NUMBER;
BEGIN
  /*
  ** Get the id's for the View and its corresponding canvas
  */
  vw_id := Find_View( viewname );
  cn_id := Find_Canvas( viewname );

  /*
  ** Determine the view width and corresponding canvas
  ** width.
  */
  vw_wid := Get_View_Property(vw_id,WIDTH);
  cn_wid := Get_Canvas_Property(cn_id,WIDTH);
  /*
  ** Calculate how many units of canvas width are outside of
  ** view, and determine 10% of that.
  */
  ten_percent := 0.10 * (cn_wid - vw_wid);
  /*
  ** Determine at what horizontal position the view
  ** currently is on the corresponding canvas
  */
  vw_x:= Get_View_Property(vw_id,VIEWPORT_X_POS_ON_CANVAS);
  /*
  ** Calculate the new x position of the view on its canvas
  ** to effect the 10% scroll in the proper direction.
  ** Closer than ten percent of the distance to the edge
  ** towards which we are moving, then position the view
  ** against that edge.
  */
  IF direction='LEFT' THEN
    IF vw_x > ten_percent THEN
      new_x := vw_x - ten_percent;
    ELSE
      new_x := 0;
    END IF;
  ELSIF direction='RIGHT' THEN
    IF vw_x < cn_wid - vw_wid - ten_percent THEN
      new_x := vw_x + ten_percent;
    ELSE
      new_x := cn_wid - vw_wid;
    END IF;
  END IF;
  /*
  ** Scroll the view that much horizontally
  */
  old_y := Get_View_Property(vw_id,VIEWPORT_Y_POS_ON_CANVAS);
  Scroll_View( vw_id, new_x , old_y );
END;


SELECT_ALLビルトイン

  関連項目	 すべてのビルトイン

説明

現項目内のテキストを選択します。テキスト項目の内容全体を切り取る、またはコピーする場合は、CUT_REGIONやCOPY_REGIONをコールする前に、このプロシージャをコールします。

構文:

PROCEDURE SELECT_ALL;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 可

パラメータ

なし


SELECT_RECORDSビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

On-Selectトリガー内からこのビルトインをコールすると、Form BuilderのデフォルトのSELECT処理が起動されます。Oracle以外のデータ・ソースに対して実行するアプリケーションにおいて、Form Builderのデフォルト・トランザクション処理の代わりにトランザクション・トリガーを実行する場合に、このビルトイン処理をインクルードするのが主な用途です。

構文:

PROCEDURE SELECT_RECORDS;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


SELECT_RECORDSの制限事項

On-Selectトリガー内でのみ有効です。


SELECT_RECORDSの例

/*

** Built-in:SELECT_RECORDS
** Example:Perform Form Builder standard SELECT processing
**            based on a global flag setup at startup by the
**            form, perhaps based on a parameter.
** Trigger:On-Select
*/
BEGIN
  /*
  ** Check the flag variable we setup at form startup
  */
  IF :Global.Using_Transactional_Triggers = 'TRUE' THEN
    User_Exit('my_select block=EMP');
  /*
  ** Otherwise, do the right thing.
  */
  ELSE
    Select_Records;
  END IF;
END;


SERVER_ACTIVE;
SERVER_ACTIVE

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

所要のコンテナと対応付けられているサーバーが実行中かどうかを示します。

•	OLEサーバーが実行中の場合は、TRUEを戻します。

•	OLEサーバーが実行していない場合は 、FALSEを戻します。

適切な型を持つ変数を定義して戻り値を受け取ります。

構文:

FUNCTION SERVER_ACTIVE
  (item_id  Item);

FUNCTION SERVER_ACTIVE
  (item_name  VARCHAR2);

戻り値 BOOLEAN

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 不可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。


SERVER_ACTIVEの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


SERVER_ACTIVEの例

/*

** Built-in:SERVER_ACTIVE
** Example:Checks to see if the OLE server is active.
** Trigger:When-Button-Pressed
*/
DECLARE
 item_id  ITEM;
 item_name VARCHAR(25) := 'OLEITM';
 active_serv BOOLEAN;
BEGIN
 item_id := Find_Item(item_name);
 IF Id_Null(item_id) THEN
  message('No such item:'||item_name);
 ELSE
  active_serv := Forms_OLE.Server_Active(item_id);
  IF active_serv = FALSE THEN
   Forms_OLE.Activate_Server(item_id);
  END IF;
 END IF;
END;


SET_ALERT_BUTTON_PROPERTYビルトイン

 すべてのビルトイン

説明

警告内のボタンの1つに割り当てられたラベルを変更します。

構文:

PROCEDURE SET_ALERT_BUTTON_PROPERTY
  (alert_id  ALERT,
   button    NUMBER,
   property  VARCHAR2,
   value     VARCHAR2);

PROCEDURE SET_ALERT_BUTTON_PROPERTY
  (alert_name  VARCHAR2,
   button      NUMBER,
   property    VARCHAR2,
   value       VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

alert_id	警告作成時にForm Builderによってその警告に割り当てられた一意のID（データ型ALERT）を指定します。FIND_ALERTビルトインを使用すると、このIDを適切な型の変数に返すことができます。

alert_name	警告の名前をVARCHAR2型で指定します。

button	変更する警告ボタンを指定する定数。ALERT_BUTTON1、ALERT_BUTTON2またはALERT_BUTTON3のいずれかです。

property	LABEL  警告ボタンのラベル・テキストを指定します。

value	指定したプロパティに適用する値をVARCHAR2型で指定します。

使用上の注意

ラベルがNULLに指定されると、ボタンのラベルは、設計時に指定されたラベルに戻ります。


SET_ALERT_PROPERTYビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

既存の警告のメッセージ・テキストを変更します。

構文:

SET_ALERT_PROPERTY
  (alert_id  ALERT,
   property  NUMBER,
   message   VARCHAR2);

SET_ALERT_PROPERTY
  (alert_name  VARCHAR2,
   property    NUMBER,
   message     VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

alert_id	警告作成時にForm Builderによってその警告に割り当てられた一意のID（データ型ALERT）を指定します。FIND_ALERTビルトインを使用すると、このIDを適切な型の変数に返すことができます。

alert_name	警告の名前をVARCHAR2型で指定します。

property	設定する「警告」プロパティを特定する次の定数の内で一つ指定します。

ALERT_MESSAGE_TEXT  警告メッセージのテキストを設定することを指定します。

TITLE  警告のタイトルを指定します。プロパティ値がNULLでなければ、Form Builderで指定された値に上書きします。

message	新しい警告メッセージを指定します。現行の警告メッセージはこのメッセージに置換されます。このメッセージは、引用符で囲まれた文字列として、変数として、あるいは文字列／変数構成体の形で渡されます。


SET_ALERT_PROPERTYの制限事項

メッセージ・ボックスの文字が200文字を超えると、超えた部分は切り捨てられます。


SET_ALERT_PROPERTYの例

/*

** Built-in:SET_ALERT_PROPERTY
** Example:Places the error message into a user-defined alert **            named 'My_Error_Alert' and displays the alert.
** Trigger:On-Error
*/
DECLARE
  err_txt   VARCHAR2(80) := Error_Text;
  al_id     Alert;
  al_button Number;
BEGIN
  al_id := Find_Alert('My_Error_Alert');
  Set_Alert_Property(al_id, alert_message_text, err_txt );
  al_button := Show_Alert( al_id );
END;


SET_APPLICATION_PROPERTYビルトイン

  関連項目	 すべてのビルトイン

説明

現行アプリケーションのアプリケーション・プロパティを設定（または再設定）します。

構文:

SET_APPLICATION_PROPERTY
  (property  NUMBER,
   value     VARCHAR2)

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

property	指定したアプリケーションに設定するプロパティを指定します。設定できるプロパティは次のとおりです。

BUILTIN_DATE_FORMAT  ビルトイン日付書式マスクを指定します。

CURSOR_STYLE  与えられたアプリケーションのカーソル・スタイルを指定します。

DATE_FORMAT_COMPATIBILITY_MODE  特定の日付書式変換操作をどのように行うかを指定します。

FLAG_USER_VALUE_TOO_LONG   ユーザーの入力した値が項目の最大長プロパティを超過している際の、Form Builderによるその値の処理方法を指定します。  有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

PLSQL_DATE_FORMAT  PLSQL日付書式マスクを指定します。

value	このプロパティに設定する新しい値。


SET_BLOCK_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたブロックに指定されたブロック・プロパティを設定します。

構文:

SET_BLOCK_PROPERTY
  (block_id	Block,
   property	VARCHAR,
   value	VARCHAR);

SET_BLOCK_PROPERTY
  (block_id	Block,
   property	VARCHAR,
   x	NUMBER);

SET_BLOCK_PROPERTY
  (block_id  Block,
   property VARCHAR,

x	NUMBER
   y	NUMBER);

SET_BLOCK_PROPERTY
  (block_name	VARCHAR2,
   property	VARCHAR,
   value	VARCHAR);

SET_BLOCK_PROPERTY
  (block_name	VARCHAR2,
   property	VARCHAR,
   x	NUMBER);

SET_BLOCK_PROPERTY
  (block_name	VARCHAR2,
   property	VARCHAR,
   x	NUMBER,
   y	NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

block_id	ブロック作成時にForm Builderによってそのブロックに割り当てられた一意のID。データ型はBLOCKです。

block_name	ブロック作成時にユーザーがそのブロックに付けた名前。データ型はVARCHAR2です。

property	次の定数のいずれかを指定します。

ALL_RECORDS  問合せ基準に一致するすべてのレコードを、問合せの実行時にデータ・ブロック内にフェッチするかどうかを指定します。

BLOCKSCROLLBAR_POSITION  ブロックのスクロール・バーのxおよびy位置を、「座標システム」フォーム・プロパティによって示されるフォーム座標単位で指定します。

BLOCKSCROLLBAR_X_POS  ブロックのスクロール・バーのx位置を、「座標システム」フォーム・プロパティによって示されるフォーム座標単位で指定します。

BLOCKSCROLLBAR_Y_POS  ブロックのスクロール・バーのy位置を、「座標システム」フォーム・プロパティによって示されるフォーム座標単位で指定します。

COORDINATION_STATUS マスター/ディテール・リレーションのディテール・ブロックとしてのブロックが、現在そのマスター・ブロックのすべてと調整が取れているかどうかを示す状態を指定します。すなわち、ディテール・レコードがマスター・ブロックの現マスター・レコードに対応しているかどうかを示す状態を指定します。有効な値は、COORDINATEDまたはNON_COORDINATEDです。

CURRENT_RECORD_ATTRIBUTE  与えられたブロックに関連づけられる名前付き可視属性のVARCHAR2型名を指定します。指定した名前付き可視属性が存在しない場合は、エラー・メッセージが出力されます。

CURRENT_ROW_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

CURRENT_ROW_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

CURRENT_ROW_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

CURRENT_ROW_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

CURRENT_ROW_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

CURRENT_ROW_FONT_STYLE  フォントのスタイル。

CURRENT_ROW_FONT_WEIGHT  フォントの太さ。

CURRENT_ROW_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

CURRENT_ROW_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

DEFAULT_WHERE  ブロックのデフォルトWHERE句を指定し、以前のWHERE句に上書きします。（注意:データ・ブロックのWHERE句プロパティについて設計時にプロパティ・パレットによって確定された値は上書きされません）。

）WHERE句は引用符で囲みます。予約語WHEREは指定してもしなくてもどちらでも構いません。デフォルトのWHERE句には、標準のバインド変数構文を使用して、グローバル変数、フォームのパラメータおよび項目の値への参照を含めることができます。

DELETE_ALLOWED  与えられたブロックのレコードをオペレータまたはアプリケーションが削除してよいかどうかを指定します。有効な値は、PROPERTY_TRUEまたはPROPERTY_FALSEです。

DML_DATA_TARGET_NAME  ブロックのDMLデータ・ソースの名前を指定します。

ENFORCE_PRIMARY_KEY  ブロックの挿入または更新されたレコードがデータベースにコミットされるためには、一意特性を持っていなくてはならないことを指定します。有効な値は、PROPERTY_TRUEまたはPROPERTY_FALSEです。

INSERT_ALLOWED  与えられたブロックにレコードをオペレータまたはアプリケーションが挿入してよいかどうかを指定します。有効な値は、PROPERTY_TRUEまたはPROPERTY_FALSEです。

KEY_MODE  ブロックのキー・モードを指定します。このプロパティは、Oracle以外のデータ・ソースに対してForm Builderを実行しているときに特に便利です。有効な値は、UPDATEABLE_PRIMARY_KEYとNON_UPDATEABLE_PRIMARY_KEYです。

LOCKING_MODE   ブロックの「ロックモード」プロパティを指定します。有効な値は、DELAYEDまたはIMMEDIATEです。

MAX_QUERY_TIME 最大問合せ時間を指定します。オペレータは、問合せの経過時間がこのプロパティを超えたとき問合せを中止できます。

MAX_RECORDS_FETCHED フェッチ可能なレコードの最大数を指定します。このプロパティは、「全レコード問合せ」プロパティが「はい」に設定されている場合にのみ有効です。

NAVIGATION_STYLE  ブロックの「ナビゲーション形式」プロパティを指定します。有効な値は、SAME_RECORD、CHANGE_RECORDまたはCHANGE_BLOCKです。

NEXT_NAVIGATION_BLOCK  ブロックの次のナビゲーション・ブロックの名前を指定します。デフォルトでは、次のナビゲーション・ブロックは順序番号が次に大きいブロックです。ただし、「次のナビゲーション・データブロック」ブロック・プロパティを設定すると、デフォルトのブロックのナビゲーション順序を上書きできます。

OPTIMIZER_HINT  問合せ作成時にForm BuilderがRDBMSオプティマイザに渡すヒントを指定します。これにより、ブロック問合せ時にForm designerで最大のパフォーマンスを得ることができます。

ORDER_BY  ブロックのデフォルトORDER BY句を指定し、以前のORDER BY句に上書きします。引用符で囲みます。ただし実際の単語'ORDER BY'は囲んではいけません。"ORDER BY"で与えられた文に、Form Builderが自動的にプレフィックスを付けます。

PRECOMPUTE_SUMMARIES[Under Construction]

PREVIOUS_NAVIGATION_BLOCK  ブロックの前のナビゲーション・ブロックの名前を指定します。デフォルトでは、前のナビゲーション・ブロックは順序番号が次に小さいブロックです。ただし、「次のナビゲーション・ブロック」ブロック・プロパティを設定すれば、デフォルトのブロックのナビゲーション順序を上書きできます。

QUERY_ALLOWED  問合せがオペレータまたはプログラムのどちらで可能なのかをブロックから指定します。有効な値は、PROPERTY_TRUEまたはPROPERTY_FALSEです。

QUERY_DATA_SOURCE_NAME   ブロックの問合せデータ・ソースの名前を指定します。注意:ブロックのデータソースがプロシージャの場合、ブロックのQUERY_DATA_SOURCE_NAMEは設定できません。

QUERY_HITS  COUNT_QUERY操作によって識別されるレコード数を示すNUMBER値を指定します。

UPDATE_ALLOWED  与えられたブロックのレコードをオペレータまたはアプリケーションが更新してよいかどうかを指定します。有効な値は、PROPERTY_TRUEまたはPROPERTY_FALSEです。

UPDATE_CHANGED_COLUMNS  オペレータが更新した列のみがデータベースに送信されることを指定します。「変更列のみ更新」プロパティが「いいえ」に設定されていれば、更新されたかどうかに関係なくすべての列が送信されます。この場合、特にブロックにLONGデータ型が含まれていれている場合は、ネットワークの通信量が大幅に増加します。

value	次の定数を前述のプロパティの値に引数として渡すことができます。

COORDINATED  マスター/ディテール・リレーションのディテール・ブロックであるブロックの「COORDINATION_STATUS」プロパティをCOORDINATEDに設定することを指定します。

DELAYED  コミット動作実行時のみForm Builderにディテール・レコードをロックさせることを指定します。

IMMEDIATE  データベースのレコードが変更されたら、直ちにForm Builderにディテール・レコードをロックさせることを指定します。

NON_COORDINATED  マスター/ディテール・リレーションのディテール・ブロックとしてのブロックの「COORDINATION_STATUS」プロパティをNON_COORDINATEDに設定することを指定します。

NON_UPDATEABLE_PRIMARY_KEY  基礎を形成するデータ・ソースでは主キーを更新できないという原則に基づいて、Form Builderにブロック内のレコードを処理させることを指定します。

PROPERTY_TRUE  プロパティをTRUE状態に設定することを指定します。特に、DELETE_ALLOWED、INSERT_ALLOWED、QUERY_HITSおよびUPDATE_ALLOWEDの値を設定する場合に使用します。

PROPERTY_FALSE  プロパティをFALSE状態に設定することを指定します。

UNIQUE_KEY  基礎を形成するデータ・ソースではある形式の一意キーまたはROWIDを使用するという原則に基づいて、Form Builderにブロック内のレコードを処理させることを指定します。

UPDATEABLE_PRIMARY_KEY  基礎を形成するデータ・ソースで主キーの更新を許可するという原則に基づいて、Form Builderにブロック内のレコードを処理させることを指定します。

X	フォーム座標システム単位で指定された軸座標のNUMBER値。xとyの位置を設定する場合、この値はx座標を参照します。y位置のみを設定する場合、この値はy座標を参照します。

Y	フォーム座標システム単位で指定されたy軸座標のNUMBER値。この値はxとyの位置を設定するときに適用され、他のすべてのプロパティについて無視できます。


SET_BLOCK_PROPERTYの例

/*

** Built-in:SET_BLOCK_PROPERTY
** Example:Prevent future inserts, updates, and deletes to
**            queried records in the block whose name is
**            passed as an argument to this procedure.
*/
PROCEDURE Make_Block_Query_Only( blk_name IN VARCHAR2 )
IS
  blk_id Block;
BEGIN
/* Lookup the block's internal ID */
  blk_id := Find_Block(blk_name);
  /*
  ** If the block exists (ie the ID is Not NULL) then set
  ** the three properties for this block.Otherwise signal
  ** an error.
  */
  IF NOT Id_Null(blk_id) THEN
    Set_Block_Property(blk_id,INSERT_ALLOWED,PROPERTY_FALSE);
    Set_Block_Property(blk_id,UPDATE_ALLOWED,PROPERTY_FALSE);
    Set_Block_Property(blk_id,DELETE_ALLOWED,PROPERTY_FALSE);
  ELSE
    Message('Block '||blk_name||' does not exist.');
    RAISE Form_Trigger_Failure;
  END IF;
END;

BLOCKSCROLLBAR_POSITIONの使用方法:

/*

** Built-in:SET_BLOCK_PROPERTY
** Example:** Built-in:  SET_BLOCK_PROPERTY
** Example:   Set the x and y position of the block's scrollbar
**	to the passed x and y coordinates

*/
PROCEDURE Set_Scrollbar_Pos( blk_name IN VARCHAR2, xpos IN

NUMBER, ypos IN NUMBER )
IS
BEGIN
   Set_Block_Property(blk_name, BLOCKSCROLLBAR_POSITION, xpos, ypos);

END;


SET_CANVAS_PROPERTYビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定されたキャンバスの指定されたキャンバス・プロパティを設定します。

構文:

SET_CANVAS_PROPERTY
  (canvas_id  CANVAS,
   property   NUMBER,
   value      VARCHAR2);

SET_CANVAS_PROPERTY
  (canvas_id  CANVAS,
   property   NUMBER,
   x          NUMBER);
SET_CANVAS_PROPERTY
  (canvas_id  CANVAS,
   property   NUMBER,
   x          NUMBER,
   y          NUMBER);
SET_CANVAS_PROPERTY
  (canvas_name  VARCHAR2,
   property     NUMBER,
   value        VARCHAR2);
SET_CANVAS_PROPERTY
  (canvas_name  VARCHAR2,
   property     NUMBER,
   x            NUMBER);
SET_CANVAS_PROPERTY
  (canvas_name  VARCHAR2,
   property     NUMBER,
   x            NUMBER,
   y            NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

canvas_id	キャンバス・オブジェクト作成時にForm Builderによってそのオブジェクトに割り当てられた一意のID。FIND_CANVASビルトインを使用すると、このIDをCANVAS型の変数に返すことができます。

canvas_name	キャンバス・オブジェクトの定義時に付けた名前。データ型はVARCHAR2です。

property	指定したキャンバスで設定するプロパティ。指定できるプロパティは次のとおりです。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

CANVAS_SIZE  キャンバスの寸法（幅、高さ）。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

HEIGHT  文字数によるキャンバスの高さ。

TOPMOST_TAB_PAGE  最上部に現れるタブ・ページの名前（タブ・キャンバスの他のすべてのタブ・ページを載せます）。

VISUAL_ATTRIBUTE  現在のフォームに存在する有効な名前付き可視属性、またはForm Builderによってキャンバスへ適用されるランタイム・リソース・ファイルにある論理属性定義の名前。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

WIDTH  キャラクタによるキャンバスの幅。

value	指定したプロパティに設定するVARCHAR2型の値。

x	指定したプロパティによって、X座標または幅の値をNUMBERで指定します。引数はフォームの座標システムの単位で指定します。

y	指定したプロパティにより、Y座標または高さのNUMBER値。引数はフォームの座標システムの単位で指定します。


SET_CANVAS_PROPERTYの制限事項

•	存在しない名前付き可視属性は入力できません。

•	Form Builderによって、指定した名前が名前付き可視属性として見つからない場合は、ユーザーのOracle*Terminalリソース・ファイルで表示属性が検索されます。


SET_CANVAS_PROPERTYの例

/* Change the "background color" by dynamically setting the

** canvas color at runtime to the name of a visual attribute
** you created:
*/
BEGIN
  SET_CANVAS_PROPERTY('my_cvs', visual_attribute, 'blue_txt');
END;


SET_CUSTOM_ITEM_PROPERTYビルトイン

  関連項目   [image]  例

注意:

このビルトインは、SET_CUSTOM_PROPERTYビルトインと置き換えられました。新規フォームでは、SET_CUSTOM_PROPERTYビルトインを使用してください。次に記載する情報は、保守のみを目的としています。

説明

Bean領域項目に関連するJavaBeanのプロパティの値を設定します。

構文:

このビルトインは、VARCHAR2、NUMBERまたはBOOLEANの各型で使用できます。

SET_CUSTOM_ITEM_PROPERTY
  (item,
   prop-name,
   varchar2 value);

SET_CUSTOM_ITEM_PROPERTY
  (item,
   prop-name,
   number value);

SET_CUSTOM_ITEM_PROPERTY
  (item,
   prop-name,
   boolean value);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item	ターゲットJavaBeanに関連付けられたBean領域項目の名前。名前の形式は、VARCHAR2リテラルまたは名前の値に設定される変数です。

prop-name	このBean領域に関連付けられたJavaBeanコンテナの特定のプロパティ。

value	指定されたプロパティの値。値はVARCHAR2、INTEGERまたはBOOLEANのいずれかの型にしてください。

使用上の注意

•	JavaBeanコンテナでは、各プロパティのタイプは、ID.registerPropertyを使用して作成されるIDクラスの1つのインスタンスによって表す必要があります。

•	フォームで実行される各Set_Custom_Item_Propertyビルトインでは、JavaBeanコンテナのsetPropertyメソッドがコールされます。

•	Bean 領域項目の名前は、Find_Item('Item_Name')または単に'Item_Name'を介して取得できます。


SET_CUSTOM_PROPERTYビルトイン

  関連項目   [image]  例

説明

プラグイン可能Javaコンポーネント内のユーザー定義プロパティの値を設定します。

構文:

このビルトインは、VARCHAR2、NUMBERまたはBOOLEANの各型で使用できます。

SET_CUSTOM_PROPERTY
  (item,
   row-number,
   prop-name,
   value   VARCHAR2);

SET_CUSTOM_PROPERTY
  (item,
   row-number,
   prop-name,
   value   NUMBER);

SET_CUSTOM_PROPERTY
  (item,
   row-number,
   prop-name,
   value   BOOLEAN);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item	ターゲットのプラグイン可能Javaコンポーネントに関連付けられた項目の名前またはID。名前の形式は、VARCHAR2リテラルまたは名前の値が設定された変数です。

row-number	設定対象項目のインスタンスの行番号。  （インスタンスの行番号は1から始まります。）すべてのインスタンスを設定する場合は、定数ALL_ROWSを指定します。

prop-name	設定対象Javaコンポーネントのプロパティ名

value	指定されたプロパティの新しい値。値はVARCHAR2、NUMBERまたはBOOLEANのいずれかの型にしてください。

使用上の注意

•	プラグイン可能Javaコンポーネントでは、各カスタム・プロパティのタイプは、ID.registerPropertyを使用して作成されるIDクラスの1つのインスタンスによって表す必要があります。

•	フォームで実行される各Set_Custom_Propertyビルトインについて、JavaコンポーネントのsetPropertyメソッドがコールされます。

•	項目の名前は、Find_Item('Item_Name')または単に'Item_Name'を介して取得できます。


SET_CUSTOM_PROPERTYビルトインの例

この例では、プラグイン可能JavaコンポーネントはJavaBeanです。ここではコードの一部を示しますが、完全なコードは、完全な例にあります。）

JavaBeanのコンテナ（またはラッパー）では、次のようになります。

private static final ID SETRATE = ID.registerProperty("SetAnimationRate");

フォームでは、エンド・ユーザー画面の「faster」ボタン上でWhen_Button_PressedトリガーによってアクティブにされるPL/SQLコードの一部として、次のようになります。

NewAnimationRate := gb.CurAnimationRate + 25

     . . .

Set_Custom_Property('Juggler_Bean', ALL_ROWS, 'SetAnimationRate', NewAnimationRate);

このSet_Custom_Propertyビルトインでは、次の点に注意してください。

•	Juggler_Beanは、フォーム内のBean領域項目の名前です。この項目は、JavaBeanのコンテナと関連付けられています。

•	SetAnimationRateは、JavaBeanのコンテナ内のプロパティです。

•	NewAnimationRateは、JavaBeanコンテナに渡されるプロパティの新しい値を保持する変数です。


SET_FORM_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたフォームのプロパティを設定します。

構文:

SET_FORM_PROPERTY
  (formmodule_id  FormModule,
   property       NUMBER,
   value          NUMBER);

SET_FORM_PROPERTY
  (formmodule_name  VARCHAR2,
   property         NUMBER,
   value            NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

formmodule_id	フォーム作成時に FormBuilderによってそのフォームに割り当てられた一意のIDを指定します。このIDのデータ型はFormModule型です。

formmodule_name	ユーザーがフォーム・モジュールを作成したときにそのモジュールに付けた名前を指定します。その名前のデータ型はVARCHAR2です。

property	フォームに設定するプロパティを指定します。

CURRENT_RECORD_ATTRIBUTE  与えられたフォームに関連付けられる名前付き可視属性のVARCHAR2型の名前を指定します。指定した名前付き可視属性が存在しない場合は、エラー・メッセージが出力されます。

CURRENT_ROW_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

CURRENT_ROW_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

CURRENT_ROW_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

CURRENT_ROW_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

CURRENT_ROW_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

CURRENT_ROW_FONT_STYLE  フォントのスタイル。

CURRENT_ROW_FONT_WEIGHT  フォントの太さ。

CURRENT_ROW_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

CURRENT_ROW_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

CURSOR_MODE  Form Builderによって定義を試みる場合のカーソル状態を指定します。このプロパティは、主に、Oracle以外のデータ・ソースに接続するときに使用します。有効な値は、OPEN_AT_COMMITおよびCLOSE_AT_COMMITです。

DEFER_REQUIRED_ENFORCEMENT  所要フィールドの強制を、項目検証時からレコード検証時に延期するかどうかを指定します。有効な値は、PROPERTY_TRUE、PROPERTY 4 5およびPROPERTY_FALSEです。

DIRECTION  双方向オブジェクトのレイアウト方向を指定します。有効な値は、DIRECTION_DEFAULT、RIGHT_TO_LEFTおよびLEFT_TO_RIGHTです。

FIRST_NAVIGATION_BLOCK  Form Builderがフォームの起動時にナビゲートするブロックの名前を復帰します。デフォルトでは、オブジェクト・ナビゲータで定義した最初のブロックが最初のナビゲーション・ブロックになりますが、「最初のナビゲーション・データ・ブロック」ブロック・プロパティを設定すれば、フォーム起動時に別のブロックを最初のナビゲーション・ブロックに指定することができます。

SAVEPOINT_MODE  Form Builderがセーブポイントを発行するかどうかを指定します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

VALIDATION  Form Builderがデフォルトの検証を行うかどうかについて指定します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

VALIDATION_UNIT  フォームの検証の有効範囲を指定します。有効な値は、DEFAULT_SCOPE、FORM_SCOPE、BLOCK_SCOPE、RECORD_SCOPEおよびITEM_SCOPEです。

value	次の定数を前述のプロパティの値に引数として渡すことができます。

BLOCK_SCOPE  Form Builderによってブロック・レベルでデータの妥当性を検査するときに指定します。これは、たとえば、ナビゲーション・イベントがそのブロックから別のブロックに移動したために妥当性検査が強制されたときに、Form Builderによってブロック内のすべてレコードの妥当性が検査されることを意味します。

CLOSE_AT_COMMIT  Oracle以外のデータベースに対してフォームが実行されているときのように、データベース・コミット中にカーソルを閉じておきたい場合に指定します。

DEFAULT_SCOPE  「有効単位」フォーム・モジュール・プロパティをデフォルト値に設定します。GUIウィンドウ・マネージャ上では、デフォルトの妥当性検査単位はITEMです。

FORM_SCOPE  フォーム・レベルのみで検証するときに指定します。

ITEM_SCOPE  項目レベルで妥当性を検査するときに指定します。これは、たとえば、ナビゲーション・イベントの結果として、ある項目から別の項目にナビゲートしたときに、Form Builderによって変更された各項目の妥当性が検査されることを意味します。

OPEN_AT_COMMIT  データベース・コミット中にカーソルを開いておく場合に指定します。これは、Oracleに対して実行しているときの標準の設定です。

PROPERTY_TRUE  プロパティをTRUE状態に設定することを指定します。

PROPERTY_FALSE  プロパティをFALSE状態に設定することを指定します。

RECORD_SCOPE  Form Builderによってレコード・レベルで妥当性を検査するときに指定します。これは、たとえば、あるレコードから別のレコードに移動したときに、FormBuilderによって変更された各レコードの妥当性が検査されることを意味します。


SET_FORM_PROPERTYの例

例1

/*

** Built-in:SET_FORM_PROPERTY
** Example:Set the Cursor Mode property in the current form
**            to CLOSE_AT_COMMIT and changes the form
**            Validation unit to the Block level.
*/
DECLARE
  fm_id FormModule;
BEGIN
    fm_id := Find_Form(:System.Current_Form);
    Set_Form_Property(fm_id,CURSOR_MODE,CLOSE_AT_COMMIT);
    Set_Form_Property(fm_id,VALIDATION_UNIT,BLOCK_SCOPE);
END;

例2

/*

** Built-in:SET_FORM_PROPERTY
** Example:Setup form and block properties required to run
**            against a particular non-Oracle datasource.
**            Procedure accepts the appropriate numerical
**            constants like DELAYED as arguments.
**
** Usage:Setup_Non_Oracle(PROPERTY_FALSE,
**                             CLOSE_AT_COMMIT,
**                             UPDATEABLE_PRIMARY_KEY,
**                             DELAYED);
*/
PROCEDURE Setup_Non_Oracle( the_savepoint_mode NUMBER,
                    the_cursor_mode    NUMBER,
                    the_key_mode       NUMBER,
                    the_locking_mode   NUMBER ) IS
  fm_id   FormModule;
  bk_id   Block;
  bk_name VARCHAR2(40);
BEGIN
  /* ** Validate the settings of the parameters ** */
  IF the_savepoint_mode NOT IN (PROPERTY_TRUE,PROPERTY_FALSE) THEN
    Message('Invalid setting for Savepoint Mode.');
    RAISE Form_Trigger_Failure;
  END IF;
  IF the_cursor_mode NOT IN (CLOSE_AT_COMMIT,OPEN_AT_COMMIT) THEN
    Message('Invalid setting for Cursor Mode.');
    RAISE Form_Trigger_Failure;
  END IF;
  IF the_key_mode NOT IN (UNIQUE_KEY,UPDATEABLE_PRIMARY_KEY,
              NON_UPDATEABLE_PRIMARY_KEY) THEN
    Message('Invalid setting for Key Mode.');
    RAISE Form_Trigger_Failure;
  END IF;
  IF the_locking_mode NOT IN (IMMEDIATE,DELAYED) THEN
    Message('Invalid setting for Locking Mode.');
    RAISE Form_Trigger_Failure;
  END IF;
  /*
  ** Get the id of the current form
  */
  fm_id := Find_Form(:System.Current_Form);
  /*
  ** Set the two form-level properties
  */
  Set_Form_Property(fm_id, SAVEPOINT_MODE, the_savepoint_mode);
  Set_Form_Property(fm_id, CURSOR_MODE, the_cursor_mode);
  /*
  ** Set the block properties for each block in the form
  */
  bk_name := Get_Form_Property(fm_id,FIRST_BLOCK);
  WHILE bk_name IS NOT NULL LOOP
    bk_id := Find_Block(bk_name);

    Set_Block_Property(bk_id,LOCKING_MODE,the_locking_mode);

    Set_Block_Property(bk_id,KEY_MODE,the_key_mode);
    IF the_key_mode IN (UPDATEABLE_PRIMARY_KEY,
               NON_UPDATEABLE_PRIMARY_KEY) THEN
      Set_Block_Property(bk_id,PRIMARY_KEY,PROPERTY_TRUE);
    END IF;

    bk_name := Get_Block_Property(bk_id, NEXTBLOCK);
  END LOOP;
END;


SET_GROUP_CHAR_CELLビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定された行および列から特定されるレコード・グループ・セルの値を設定します。

構文:

SET_GROUP_CHAR_CELL
  (groupcolumn_id  GroupColumn,
   row_number      NUMBER,
   cell_value      VARCHAR2);

SET_GROUP_CHAR_CELL
  (groupcolumn_name  VARCHAR2,
   row_number        NUMBER,
   cell_value        VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

groupcolumn_id	レコード・グループの列を作成したときにForm Builderによってその列に割り当てられた一意のID。適切な型の変数にIDを戻すには、FIND_COLUMNビルトインを使用します。このIDのデータ型はGROUPCOLUMN型です。

groupcolumn_name	ユーザーが列を作成したときにその列に付けた名前で、recordgroup_name.groupcolumn_nameのように、レコード・グループ名およびドットが前に付けられます。その名前のデータ型はVARCHAR2です。

row_number	値を設定するセルを含む行番号を指定します。行番号はNUMBER型の整数で指定します。

cell_value	VARCHAR2型の列では、セルに入力するVARCHAR2型の値を、LONG列では、セルに入力するLONG値を指定します。


SET_GROUP_CHAR_CELLの制限事項

•	指定した行のセルの値を設定する前に、その行を作成する必要があります。このビルトインで行を指示しても、Form Builderは新しい行を自動的には作成しません。ADD_GROUP_ROWビルトインを使用して明示的に行を追加するか、POPULATE_GROUPまたはPOPULATE_GROUP_WITH_QUERYのいずれかを使用してグループを挿入します。

•	このビルトインは、静的レコード・グループには有効ではありません。静的レコード・グループは設計時に作成されたレコード・グループで、「レコード・グループ・タイプ」プロパティが「スタティック」に設定されています。


SET_GROUP_CHAR_CELLの例

/*

** Built-in:SET_GROUP_CHAR_CELL
** Example:See ADD_GROUP_ROW
*/


SET_GROUP_DATE_CELLビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定された行および列から特定されるレコード・グループ・セルの値を設定します。

構文:

SET_GROUP_DATE_CELL
  (groupcolumn_id  GroupColumn,
   row_number      NUMBER,
   cell_value      DATE);

SET_GROUP_DATE_CELL
  (groupcolumn_name  VARCHAR2,
   row_number        NUMBER,
   cell_value        DATE);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

groupcolumn_id	レコード・グループの列を作成したときにForm Builderによってその列に割り当てられた一意のID。適切な型の変数にIDを戻すには、FIND_COLUMNビルトインを使用します。このIDのデータ型はGroupColumn型です。

groupcolumn_name	ユーザーが列を作成したときにその列に付けた名前で、recordgroup_name.groupcolumn_nameのように、レコード・グループ名およびドットが前に付けられます。その名前のデータ型はVARCHAR2です。

row_number	値を設定するセルを含む行番号を指定します。行番号はNUMBER型の整数で指定します。

cell_value	セルに入力するDATE値を指定します。


SET_GROUP_DATE_CELLの制限事項

•	指定した行のセルの値を設定する前に、その行を作成する必要があります。このビルトインで新しい行を指定しても、Form Builderは新しい行を自動的には作成しません。ADD_GROUP_ROWビルトインを使用して行を明示的に追加するか、POPULATE_GROUPまたはPOPULATE_GROUP_WITH_QUERYを使用してグループを挿入してください。

•	このビルトインは、静的レコード・グループには有効ではありません。静的レコード・グループは設計時に作成されたレコード・グループで、「レコード・グループ・タイプ」プロパティが「スタティック」に設定されています。


SET_GROUP_DATE_CELLの例

/*

** Built-in:SET_GROUP_DATE_CELL
** Example:Lookup a row in a record group, and set the
**            minimum order date associated with that row in
**            the record group.Uses the 'is_value_in_list'
**            function from the GET_GROUP_CHAR_CELL example.
*/
PROCEDURE Set_Max_Order_Date_Of( part_no  VARCHAR2,
                     new_date DATE ) IS
  fnd_row NUMBER;
BEGIN
  /*
  ** Try to lookup the part number among the temporary part list
  ** record group named 'TMPPART' in its 'PARTNO' column.
  */
  fnd_row := Is_Value_In_List( part_no, 'TMPPART', 'PARTNO');

  IF fnd_row = 0 THEN
    Message('Part Number '||part_no||' not found.');
    RETURN;
  ELSE
    /*
    ** Set the corresponding Date cell value from the
    ** matching row.
    */
    Set_Group_Date_Cell('TMPPART.MAXORDDATE',fnd_row,new_date );
  END IF;
END;


SET_GROUP_NUMBER_CELLビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定された行および列から特定されるレコード・グループ・セルの値を設定します。

構文:

SET_GROUP_NUMBER_CELL
  (groupcolumn_id  GroupColumn,
   row_number      NUMBER,
   cell_value      NUMBER);

SET_GROUP_NUMBER_CELL
  (groupcolumn_name  VARCHAR2,
   row_number        NUMBER,
   cell_value        NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

groupcolumn_id	レコード・グループの列を作成したときにForm Builderによってその列に割り当てられた一意のID。適切な型の変数にIDを戻すには、FIND_COLUMNビルトインを使用します。このIDのデータ型はGROUPCOLUMN型です。

groupcolumn_name	ユーザーが列を作成したときにその列に付けた名前で、recordgroup_name.groupcolumn_nameのように、レコード・グループ名およびドットが前に付けられます。その名前のデータ型はVARCHAR2です。

row_number	値を設定するセルを含む行番号を指定します。行番号はNUMBER型の整数で指定します。

cell_value	セルに入力するNUMBER値を指定します。


SET_GROUP_NUMBER_CELLの制限事項

•	指定した行のセルの値を設定する前に、その行を作成する必要があります。ADD_GROUP_ROWビルトインを使用して明示的に行を追加するか、POPULATE_GROUPまたはPOPULATE_GROUP_WITH_QUERYを使用してグループを挿入してください。

•	このビルトインは、静的レコード・グループには有効ではありません。静的レコード・グループは設計時に作成されたレコード・グループで、「レコード・グループ・タイプ」プロパティが「スタティック」に設定されています。


SET_GROUP_NUMBER_CELLの例

/*

** Built-in:SET_GROUP_NUMBER_CELL
** Example:See ADD_GROUP_ROW
*/


SET_GROUP_SELECTIONビルトイン

 例	     関連項目	 すべてのビルトイン

説明

後続のプログラムによる行操作に備えて、指定されたレコード・グループの指定された行にマークを付けます。行番号が1から順に付けられます。たとえば、行3、8および12を選択すると、Form Builderではこれらの行が選択1、2および3とみなされます。RESET_GROUP_SELECTIONビルトインをコールすることによりグループ全体の行選択を取り消せます。

構文:

SET_GROUP_SELECTION
  (recordgroup_id  RecordGroup,
   row_number      NUMBER);

SET_GROUP_SELECTION
  (recordgroup_name  VARCHAR2,
   row_number        NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

recordgroup_id	Form Builderによりレコード・グループ作成時にそのコード・グループに割り当てられる一意のIDを指定します。FIND_GROUPビルトインを使用して、そのIDを変数に戻します。そのIDのデータ型はRECORDGROUPです。

recordgroup_name	ユーザーがレコード・グループ作成時に与えたレコード・グループ名を指定します。その名前のデータ型はVARCHAR2です。

row_number	ユーザーが選択するレコード・グループ行の番号を指定します。ユーザーが指定する値はNUMBERです。


SET_GROUP_SELECTIONの例

/*

** Built-in:SET_GROUP_SELECTION
** Example:Set all of the even rows as selected in the
**            record group whose id is passed-in as a
**            parameter.
*/
PROCEDURE Select_Even_Rows ( rg_id RecordGroup ) IS
BEGIN
  FOR j IN 1..Get_Group_Row_Count(rg_id) LOOP
    IF MOD(j,2)=0 THEN
      Set_Group_Selection( rg_id, j );
    END IF;
  END LOOP;
END;


SET_INPUT_FOCUSビルトイン

 例	   制限事項	 すべてのビルトイン

説明

現フォームのメニュー上に入力フォーカスを設定します。トリガー処理が終了すると、そのメニューが自動的にアクティブになります。

構文:

SET_INPUT_FOCUS
  (MENU  );

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

MENU


SET_INPUT_FOCUSの制限事項

このビルトインは、文字モードおよびブロック・モード環境でのみ使用できます。


SET_INPUT_FOCUSの例

/*

** Built-in:SET_INPUT_FOCUS
** Example:Directs the users input focus to the Menu when
**            used with the only support parameter, MENU.
**            Only has an effect on character-mode or
**            block-mode devices.
*/
BEGIN
  Set_Input_Focus(MENU);
END;


SET_ITEM_INSTANCE_PROPERTYビルトイン

 例	 すべてのビルトイン

説明

指定された項目プロパティを変更することにより、ブロック内の現行の項目インスタンスを変更します。SET_ITEM_INSTANCE_PROPERTYでは、現行インスタンスをミラー化する項目の外観は変更されません。

現行フォーム内の項目はどれでも参照できます。SET_ITEM_INSTANCE_PROPERTYは、項目の現行インスタンスの表示方法のみに影響することに注意してください。指定された項目の他のインスタンスには影響がありません。つまり、マルチレコード・ブロック内にある項目について表示方法の変更を指定した場合、SET_ITEM_INSTANCE_PROPERTYは、ブロックの現行レコードに属する項目のインスタンスのみを変更します。マルチレコード・ブロック内の項目のすべてのインスタンスを変更する場合は、SET_ITEM_PROPERTYを使用します。

SET_ITEM_INSTANCE_PROPERTYによって行われた変更は、次の動作が発生するまで有効です。

•	同じ項目インスタンスが別のSET_ITEM_INSTANCE_PROPERTYによって参照される場合。

•	同じ項目インスタンスがDISPLAY_ITEMビルトインによって参照される場合。

•	項目のインスタンスが削除される場合(CLEAR_RECORDまたは問合せなどによって）。

•	現行フォームを終了した場合。

構文:

SET_ITEM_INSTANCE_PROPERTY
  (item_id   ITEM,
   record_number  NUMBER,
   property  NUMBER,
   value     VARCHAR2);

SET_ITEM_INSTANCE_PROPERTY
  (item_name  VARCHAR2,
   record_number  NUMBER,
   property   NUMBER,
   value      VARCHAR2);

SET_ITEM_INSTANCE_PROPERTY
  (item_name  VARCHAR2,
   record_number  NUMBER,
   property   NUMBER,
   value      NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item_id	オブジェクト作成時にFormBuilder によってそのオブジェクトに割り当てられた一意のID。FIND_ITEMビルトインを使用すると、このIDをITEM型の変数に返すことができます。

record_number	設定するレコード番号。レコード番号はブロックにおけるレコードの位置です。行番号はNUMBER型で指定します。ブロックの現在のレコードを設定する場合は、CURRENT_RECORDを指定します。

item_name	ユーザーが項目を作成した時にその項目に付けた名前。データ型はVARCHAR2です。

property	指定した項目で設定するプロパティ。指定できるプロパティは次のとおりです。

BORDER_BEVEL  指定された項目インスタンスの項目境界の凹凸を指定します。有効値は、RAISED、LOWERED、PLAIN （凹凸なし）または「" "」で表します。「" "」の場合の値は設計時に項目レベルで指定される値によって、または実行時にSET_ITEM_PROPERTYによって境界線の凹凸が決定されます。

注意: Form Builder内で項目の「凹凸」プロパティが「なし」に設定されている場合、BORDER_BEVELは設定できません。

INSERT_ALLOWED  データベースから取り出されないレコードのみに対して適用されます。項目インスタンス、項目およびブロック・レベルでPROPERTY_TRUEに設定すると、エンド・ユーザーは項目インスタンスを変更できます。項目インスタンス、項目およびブロック・レベルでPROPERTY_FALSEに設定すると、エンド・ユーザーは項目インスタンスを変更できません。

NAVIGABLE  項目インスタンスおよび項目のレベルでPROPERTY_TRUEに設定すると、エンド・ユーザーはデフォルトのキーボード・ナビゲーションを使用して項目インスタンスにナビゲートできます。項目インスタンスまたは項目のレベルでPROPERTY_FALSEに設定すると、エンド・ユーザーはデフォルトのキーボード・ナビゲーションを使用して項目インスタンスにナビゲートできません。

REQUIRED  エンド・ユーザーにその項目インスタンスについて非NULL値を強制的に入力させたい場合、定数PROPERTY_TRUEを指定します。項目インスタンスおよび項目のレベルでPROPERTY_FALSEに設定すると、項目インスタンスが必須でないことを示します。

UPDATE_ALLOWED  データベースから取り出されるレコードのみに適用されます。項目インスタンス、項目およびブロック・レベルでPROPERTY_TRUEに設定すると、エンド・ユーザーは項目インスタンスを変更できます。インスタンス、項目およびブロック・レベルでPROPERTY_FALSEに設定すると、エンド・ユーザーは項目インスタンスを変更できません。

VISUAL_ATTRIBUTE  現在のフォームに存在する有効な名前付き可視属性または「''」を指定します。「''」を指定すると、可視属性は項目インスタンスのレベルで未指定のままになります。

使用上の注意

複数のレベル（項目インスタンス、項目およびブロック）で指定されたプロパティを操作する場合は、次のガイドラインを考慮してください。

•	複数のレベルで指定された必須プロパティは、ORで結合されます。

•	複数のレベルで指定されたブール型プロパティは、ANDで結合されます。

項目インスタンス、項目およびブロックの各レベルで指定されたプロパティを組み合せて導出される値は有効値と呼ばれます。前述の2つのルールによる効果の一部を次に示します。

•	INSERT_ALLOWEDをTRUEに設定しても、ブロック・レベルおよび項目レベルで同様に設定されていなければ、項目インスタンス・レベルで有効になりません。たとえば、「挿入可」プロパティがインスタンス・レベルで「はい」であり、項目レベルおよびブロック・レベルで「いいえ」の場合、ユーザーは項目インスタンスにデータを入力できません。

•	NAVIGABLEをTRUEに設定しても、項目レベルおよび項目インスタンス・レベルで同様に設定されていなければ、項目インスタンス・レベルで有効になりません。

•	NAVIGABLEをTRUEに設定すると、ブロックが入力可能であるかどうかに影響する場合があります。ブロックの現行レコードに、その有効値がNAVIGABLEプロパティについてTRUEである項目インスタンスが含まれる場合に限り、ブロックの読込み専用「入力可能」プロパティはTRUEになります。

•	REQUIREDをFALSEに設定しても、項目レベルおよび項目インスタンス・レベルで同様に設定されていなければ、項目インスタンス・レベルで有効になりません。

•	UPDATE_ALLOWEDをTRUEに設定しても、ブロック・レベル、項目レベルおよび項目インスタンス・レベルで同様に設定されていなければ、項目インスタンス・レベルで有効になりません。

•	項目インスタンス・レベルでBORDER_BEVELを設定すると、項目インスタンスのBORDER_BEVELプロパティが未指定の場合（つまり「" "」に設定した場合）を除き、項目レベルのBORDER_BEVELプロパティに上書きします。

•	項目インスタンス・レベルでVISUAL_ATTRIBUTEを設定すると、部分可視属性を指定しない限り、項目およびブロック・レベルのプロパティに上書きします。この場合、部分可視属性と項目の現行可視属性の間でマージが発生します。項目インスタンス・レベルでVISUAL_ATTRIBUTEに「" "」を設定すると、このプロパティの項目レベルの設定が使用されます。

•	新規レコードが作成されると、その「項目インスタンス」プロパティは、上位レベルで指定された値を上書きしない値に設定されます。たとえば、BORDER_BEVELプロパティとVISUAL_ATTRIBUTEプロパティは「" "」に、REQUIREDはFALSEに、他のブール型プロパティはTRUEに設定されます。

•	項目インスタンスのプロパティを設定しても、指定された項目をミラー化する項目の項目インスタンスのプロパティには影響しません。

•	ポップリストのインスタンスは、選択されると、現行の値がNULLの場合、または「必須」プロパティがFALSEに設定されている場合は、さらにNULL値を表示します。テキスト・リスト（Tlist）のインスタンスの現行の値を選択すると、「必須」プロパティがFALSEに設定されている場合は、その値の選択が解除されます（Tlistの値は1つも選択されません）。「必須」プロパティがTRUEに設定されている場合、Tlist・インスタンスの現在の値を選択しても効力はありません。つまり、値は選択されたままです。


SET_ITEM_INSTANCE_PROPERTYの例

/*

** Built-in:SET_ITEM_INSTANCE_PROPERTY
** Example:Change the visual attribute of each item instance in the
**            current record

*/
DECLARE
  cur_itm   VARCHAR2(80);
  cur_block VARCHAR2(80) := :System.Cursor_Block;
BEGIN
  cur_itm   := Get_Block_Property( cur_block, FIRST_ITEM );
  WHILE ( cur_itm IS NOT NULL ) LOOP
    cur_itm := cur_block||'.'||cur_itm;
    Set_Item_Instance_Property( cur_itm, CURRENT_RECORD,
        VISUAL_ATTRIBUTE,'My_Favorite_Named_Attribute');
    cur_itm := Get_Item_Property( cur_itm, NEXTITEM );
  END LOOP;
END;


SET_ITEM_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定された項目のプロパティを変更することによって、ブロック内の項目のインスタンスをすべて変更します。場合によっては、特定のオブジェクト・プロパティを取得できますが、設定できないことがありますので注意してください。

構文:

SET_ITEM_PROPERTY
  (item_id   ITEM,
   property  NUMBER,
   value     VARCHAR2);

SET_ITEM_PROPERTY
  (item_name  VARCHAR2,
   property   NUMBER,
   value      VARCHAR2);

SET_ITEM_PROPERTY
  (item_id   ITEM,
   property  NUMBER,
   x         NUMBER);

SET_ITEM_PROPERTY
  (item_name  VARCHAR2,
   property   NUMBER,
   x          NUMBER);

SET_ITEM_PROPERTY
  (item_id   ITEM,
   property  NUMBER,
   x         NUMBER,
   y         NUMBER);

SET_ITEM_PROPERTY
  (item_name  VARCHAR2,
   property   NUMBER,
   x          NUMBER,
   y          NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item_id	オブジェクト作成時にFormBuilder によってそのオブジェクトに割り当てられた一意のID。FIND_ITEMビルトインを使用すると、このIDをITEM型の変数に返すことができます。

item_name	ユーザーが項目を作成した時にその項目に付けた名前。データ型はVARCHAR2です。

property	指定した項目で設定するプロパティ。指定できるプロパティは次のとおりです。

ALIGNMENT  テキストの整列（テキストおよび表示項目のみ）。有効な値は、ALIGNMENT_START、ALIGNMENT_END、ALIGNMENT_LEFT、ALIGNMENT_ CENTER、ALIGNMENT_RIGHTです。

AUTO_HINT  入力フォーカスが指定された項目にある場合、Form Builderによってステータス行にヘルプ・ヒントを表示するかどうかを決定します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

AUTO_SKIP  エンド・ユーザーがテキスト項目に最後の文字を入力する場合、カーソルが次の項目へ自動スキップするかどうかを指定します。このプロパティを指定できるのはテキスト項目のみです。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

BORDER_BEVEL  指定された項目インスタンスの項目境界の凹凸を指定します。有効な値は、RAISED、LOWEREDまたはPLAIN（凹凸なし）です。

注意:Form Builder内で項目の「凹凸」プロパティが「なし」に設定されている場合、BORDER_BEVELは設定できません。

CASE_INSENSITIVE_QUERY  項目に入力される問合せ条件が大文字小文字を区別するかどうかを指定します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

CASE_RESTRICTION  指示されたテキスト項目に入力されるすべてのテキストに対して大文字小文字の制限を適用するかどうかを指定します。有効な値は、UPPERCASE、LOWERCASEまたはNONEです。

COMPRESS  サウンド・オブジェクトのサウンド・データを、Form Builderがデータをファイルに書き込む前に圧縮するかどうかを指定します。有効な値はCOMPRESSION_ON、COMPRESSION_OFFおよびORIGINAL_SETTING（デフォルトのデータ圧縮設定を保持）です。

CONCEAL_DATA  エンド・ユーザーが値を入力したとき、項目をスペースのままにしておくか、またはあいまいなままにしておきたい場合は、定数PROPERTY_TRUEを指定します。テキスト項目に入力された値をすべて画面に表示する場合は、定数PROPERTY_FALSEを指定します。

CURRENT_RECORD_ATTRIBUTE  与えられた項目に関連付けられる名前付き可視属性のVARCHAR2名を指定します。指定した名前付き可視属性が存在しない場合は、エラー・メッセージが出力されます。

CURRENT_ROW_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

CURRENT_ROW_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

CURRENT_ROW_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

CURRENT_ROW_FONT_SIZE  ポイント数の100倍で指定されるフォントのサイズ(例えば、フォント･サイズが8ポイントの場合には、設定値は800となります)。

CURRENT_ROW_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

CURRENT_ROW_FONT_STYLE  フォントのスタイル。

CURRENT_ROW_FONT_WEIGHT  フォントの太さ。

CURRENT_ROW_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

CURRENT_ROW_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

DIRECTION  双方向オブジェクトのレイアウト方向を指定します。有効な値は、DIRECTION_DEFAULT、RIGHT_TO_LEFTおよびLEFT_TO_RIGHTです。

DISPLAYED 項目が表示（変更可能に）されるか、非表示（使用不可）にされるかを指定します。

ECHO  エンド・ユーザーがテキスト項目にタイプする文字を可視にすべきかどうかを指定します。「データ隠ぺい」プロパティが「FALSE」に設定されていれば、入力された文字は画面に表示されません。これは、パスワードを保護する場合に使用されます。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

ENABLED  エンド・ユーザーが項目を操作できるようにすべきかどうか指定します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

注意: 「変更可能」プロパティを「FALSE」に設定すると、他のプロパティの設定値も変更されます。詳細は「プロパティ変更値の波及」のセクションを参照してください。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FIXED_LENGTH  項目の値を、項目の「最大長」プロパティの設定に照らし合わせて検査すべきであるかどうかを指定します。FIXED_LENGTHがTRUEであれば、項目の値の文字数が「最大長」の設定値と等しい場合のみ、その項目は有効とみなされます。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

FORMAT_MASK  テキスト項目のデータの受入れ可能な表示形式と入力を指定します。

HEIGHT  項目の高さを指定します。

HINT_TEXT  実行時にメッセージ行に表示される項目特有のヘルプ・テキストを指定します。テキストがNULLの場合、Form Builderに指定された元のヒント・テキストが復元されます。

ICON_NAME  「アイコン化」プロパティが「はい」に設定されたボタン項目に関連付けられたアイコン・リソースのファイル名を指定します。

IMAGE_DEPTH  イメージ項目に適用されるカラーの深さを指定します。

INSERT_ALLOWED  新しいレコードで、PROPERTY_TRUEに設定されている場合、通常はエンド・ユーザーが項目を挿入することを許可します。PROPERTY_FALSEに設定すると、オペレータは項目を変更できませんが、項目は通常通り表示されます（淡色表示されません）。（Insert_Allowedを変更しても「変更可能」プロパティには影響しません。）

ITEM_IS_VALID  現項目を有効であるとみなすべきであるかどうかを指定します。有効な値は、PROPERTY_TRUEまたはPROPERTY_FALSEです。

ITEM_SIZE  項目の幅と高さをカンマで区切った2つの数として指定します。x,yを含む構文を使用します。

KEEP_POSITION 「カーソル位置を保持」プロパティを「TRUE」または「FALSE」のどちらにするかを指定します。「カーソル位置を保存」が「TRUE」ならば、カーソルは、テキスト項目を抜け出たときの位置に戻ります。「カーソル位置を保持」が「FALSE」であれば、テキスト項目内のデフォルトの位置にカーソルを配置します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

LABEL  項目のラベルとして表示するVARCHAR2文字列を指定します。このプロパティは、ボタンのようにラベルをもつ項目にのみ有効です。

LOCK_RECORD_ON_CHANGE  この項目が変更されたときレコードをロックする場合は、定数PROPERTY_TRUEを指定します。この項目が変更されたときにレコードをロックしない場合は、定数PROPERTY_FALSEを指定します。この定数は、主に、低レベルのロッキング機能を持たないOracle以外のデータ・ソースに接続するときに使用します。

LOV_NAME  与えられた項目に関係付けられる値リストのVARCHAR2名を指定します。指定した値リスト名が存在しない場合は、エラー・メッセージが出力されます。

MERGE_CURRENT_ROW_VA  指定された可視属性の内容を現行行の可視属性とマージします（置換ではない）。

MERGE_TOOLTIP_ATTRIBUTE  指定された可視属性の内容をツールチップの現行の可視属性とマージします（置換ではない）。

MERGE_VISUAL_ATTRIBUTE  指定された可視属性の内容をオブジェクトの現行の可視属性とマージします（置換ではない）。

MOUSE_NAVIGATE  エンド・ユーザーがマウスで項目をアクティブ化したとき、Form Builderがナビゲートしてその項目にフォーカスを設定するかどうかを指定します。エンド・ユーザーがマウスを使用して項目にナビゲートできるようにする場合は、定数PROPERTY_TRUEを指定します。エンド・ユーザーがマウスをクリックしても入力フォーカスを現項目から移動したくない場合は、定数PROPERTY_FALSEを指定します。

NAVIGABLE  エンド・ユーザーがデフォルトのキーボード・ナビゲーションを使用して項目までナビゲートできるようにする場合、定数PROPERTY_TRUEを指定します。項目へのデフォルトのキーボード・ナビゲーションを使用禁止に設定する場合は、定数PROPERTY_FALSEを指定します。（「キーボードで移動可能」プロパティは「変更可能」プロパティには影響しません。

NEXT_NAVIGATION_ITEM  この現項目に関して、"次のナビゲーション項目"として定義されている項目の名前を指定します。

POPUPMENU_CONTENT_ITEM  OLEポップアップ・メニュー項目のプロパティのいずれについても設定値を指定します。

•	POPUPMENU_COPY_ITEM

•	POPUPMENU_CUT_ITEM

•	POPUPMENU_DELOBJ_ITEM

•	POPUPMENU_INSOBJ_ITEM

•	POPUPMENU_LINKS_ITEM

•	POPUPMENU_OBJECT_ITEM

•	POPUPMENU_PASTE_ITEM

•	POPUPEMNU_PASTESPEC_ITEM

OLEポップアップ・メニュー項目をOLEポップアップ・メニューに表示しない場合は、文字列HIDDENを指定します。OLEポップアップ・メニュー項目を表示し、変更可能にする場合は、文字列ENABLEDを指定します。OLEポップアップ・メニュー項目を表示し、使用禁止にする場合は、文字列DISABLEDを指定します。

POSITION  項目のX、Y座標を、カンマによって区切られたNUMBERとして指定します。x,yを含む構文を使用します。

PREVIOUS_NAVIGATION_ITEM  この現項目に関して、"前のナビゲーション項目"として定義されている項目の名前を指定します。

PRIMARY_KEY  ブロックに挿入または更新されたレコードをデータベースにコミットするためには、それに一意特性を持たせなくてはならないことを示すために、定数PROPERTY_TRUEを指定します。そうでなければ、定数PROPERTY_FALSEを指定します。

PROMPT_ALIGNMENT_OFFSET  項目とプロンプトの間の距離を決めます。

PROMPT_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

PROMPT_DISPLAY_STYLE  「プロンプト表示スタイル」プロパティがPROMPT_FIRST_RECORD、PROMPT_HIDDENまたはPROMPT_ALL_RECORDSのいずれであるかを決めます。

PROMPT_EDGE  接続されるエッジ（プロンプトの連結枠）がSTART_EDGE、END_EDGE、TOP_EDGEまたはBOTTOM_EDGEのいずれであるかを決定します。

PROMPT_EDGE_ALIGNMENT  プロンプトを整列するエッジが、ALIGNMENT_START、ALIGNMENT_ENDまたはALIGNMENT_CENTERのいずれのであるかを決めます。

PROMPT_EDGE_OFFSET  項目とプロンプトの間の距離をVARCHAR2値として決めます。

PROMPT_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

PROMPT_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

PROMPT_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

PROMPT_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

PROMPT_FONT_STYLE  フォントのスタイル。

PROMPT_FONT_WEIGHT  フォントの太さ。

PROMPT_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

PROMPT_TEXT  項目について表示されるテキスト・ラベルを決定します。

PROMPT_TEXT_ALIGNMENT  プロンプトの揃え方が、ALIGNMENT_START、ALIGNMENT_LEFT、ALIGNMENT_RIGHT、ALIGNMENT_CENTERまたはALIGNMENT_ENDのいずれであるかを決めます。

PROMPT_VISUAL_ATTRIBUTE  実行時にプロンプトに適用されるユーザー命名可視属性を指定します。

PROMPT_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

QUERYABLE  エンド・ユーザーが項目に対して問合せを開始することができるようにする場合、定数PROPERTY_TRUEを指定します。問合せで項目が使用できないようにする場合は、定数PROPERTY_FALSEを指定します。

QUERY_ONLY   問合せ対象の項目を指定します。このとき、項目が挿入または更新文の一部にならないようにします。QUERY_ONLYは、テキスト項目、ラジオ・グループおよびチェックボックスに適用できます。項目の完全修飾名を一重引用符で囲んで指定します。

REQUIRED  エンド・ユーザーに項目の値を強制的に入力させたければ、定数PROPERTY_TRUEを指定します。項目が必須でない場合は、定数PROPERTY_FALSEを指定します。

SHOW_FAST_FORWARD_BUTTON  サウンド項目上に [image] を表示するならば定数PROPERTY_TRUEを、隠すならばPROPERTY_FALSEを指定します。

SHOW_PLAY_BUTTON  サウンド項目上に [image] を表示するならば定数PROPERTY_TRUEを、隠すならばPROPERTY_FALSEを指定します。なお、Form Builderで隠せるのは [image] か [image] のどちらかのみで、両方隠すことはできません。

SHOW_RECORD_BUTTON  サウンド項目上に [image] を表示するならば定数PROPERTY_TRUEを、隠すならばPROPERTY_FALSEを指定します。なお、Form Builderで隠せるのは [image] か [image] のどちらかのみで、両方隠すことはできません。

SHOW_REWIND_BUTTON  サウンド項目上に [image] を表示するならば定数PROPERTY_TRUEを、隠すならばPROPERTY_FALSEを指定します。

SHOW_SLIDER  サウンド項目上に [image] を表示するならば定数PROPERTY_TRUEを、隠すならばPROPERTY_FALSEを指定します。

SHOW_TIME_INDICATOR  サウンド項目上に [image] ボタンを表示するならば定数PROPERTY_TRUEを、隠すならばPROPERTY_FALSE を指定します。

SHOW_VOLUME_CONTROL  サウンド項目上に [image] を表示するならば定数PROPERTY_TRUEを、隠すならばPROPERTY_FALSEを指定します。

TOOLTIP_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

TOOLTIP_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

TOOLTIP_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

TOOLTIP_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

TOOLTIP_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

TOOLTIP_FONT_STYLE  フォントのスタイル。

TOOLTIP_FONT_WEIGHT  フォントの太さ。

TOOLTIP_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

TOOLTIP_TEXT 項目のツールチップ・テキストを決めます。

TOOLTIP_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

UPDATE_ALLOWED  エンド・ユーザーが項目を更新できるようにする場合は、定数PROPERTY_TRUEを指定します。項目が更新できないようにする場合は、定数PROPERTY_FALSEを指定します。

UPDATE_COLUMN  この列を更新ありとして扱い、データベースに書き込むために列に組み込む必要がある場合は、定数PROPERTY_TRUEを指定します。この列を更新なしとして扱い、データベースに書き込まれる列に組み込まない場合は、定数PROPERTY_FALSEを指定します。

UPDATE_NULL  項目の値がNULLのときのみエンド・ユーザーがその項目を更新できるようにする場合、定数PROPERTY_TRUEを指定します。エンド・ユーザーが値がNULLかどうかに関係なく項目の値を更新できるようにする場合は、定数PROPERTY_FALSEを指定します。

UPDATE_PERMISSION  Oracle以外のデータ・ソースに対して実行しているときはUPDATE_ ALLOWEDを使用します。項目の「UPDATEABLE」および「UPDATE_NULL」プロパティをオンにするには、定数PROPERTY_TRUEを指定します。項目の「UPDATEABLE」および「UPDATE_NULL」プロパティをオフにするには、PROPERTY_FALSEを指定します。

VALIDATE_FROM_LIST  PROPERTY_TRUEに設定されている場合、Form Builderは、接続した値リストにある値と照らし合わせてテキスト項目の値を妥当性検査すべきであることを指定します。妥当性検査で値リストを使用しない場合は、定数PROPERTY_FALSEを指定します。

VISIBLE  指示された項目は可視か、あるいは隠すべきかを指定します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

注意: 「可視」プロパティをFALSEに設定すると、他の項目プロパティの設定値も変更されます。詳細は「プロパティ変更値の波及」の項を参照してください。

VISUAL_ATTRIBUTE  現在のフォームに存在する有効な名前付き可視属性を指定します。

注意:イメージ項目には可視属性を設定できません。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

WIDTH  項目の幅をNUMBERとして指定します。幅の単位は、そのフォームに指定した「座標システム」プロパティの値とデフォルトのフォント・スケーリングによって異なります。

X_POS  X座標をNUMBERで指定します。

Y_POS  Y座標をNUMBERで指定します。

value	所定のプロパティに適用される値を指定します。プロパティのデータ型によって、入力する値のデータ型が決まります。たとえば、「可視」プロパティをTRUEに設定する場合は、このプロパティの値に定数PROPERTY_TRUEを指定します。項目のLABELを変更する場合は、値を、つまり、ラベルをVARCHAR2の文字列で指定します。

PROPERTY_TRUE  プロパティをTRUE状態に設定することを指定します。

PROPERTY_FALSE  プロパティをFALSE状態に設定することを指定します。

プロパティの値を設計時に確定した元の値にリセットする場合は、2つの一重引用符（''）を間にスペースを入れずに入力します。たとえばSET_ITEM_PROPERTY('DEPTNO', FORMAT_MASK, '');と入力すると、書式マスクは設計時の値にリセットされます。

x	指定したプロパティの種類に応じて、x座標つまり幅を表すNUMBER値を指定します。引数はフォームの座標システムの単位で指定します。

y	指定したプロパティの種類に応じて、y座標つまり高さを表すNUMBER値を指定します。引数はフォームの座標システムの単位で指定します。

使用上の注意

次の2点を考慮して、プロパティの値を項目に適用する方法を決めてください。

•	プロパティの変更値の妥当性検査

•	プロパティの変更値の波及

プロパティの変更値の妥当性検査  SET_ITEM_PROPERTYビルトインを使用して値を変更する場合、プロパティの値が変更される前にForm Builderによって新しい値の妥当性が検査されます。その値が有効であれば、Form Builderによって新しい値に変更され、次にSET_ITEM_PROPERTYで同じプロパティが変更されるまで、または、現フォームが終了するまでその値が有効になります。

無効な設定値  新しい値が無効であれば、Form Builderによってエラー・メッセージが表示されます。ターゲット項目が次の条件を満たしている場合は、SET_ITEM_PROPERTYで次の項目のプロパティをTRUEにもFALSEにも設定できません。

このパラメータを設定することはできません...	制限付き設定値	ターゲット項目の条件
（すべて）	TRUE/FALSE	• NULLキャンバス項目（項目のキャンバス・プロパティがNULLです）。
変更可能	TRUE/FALSE TRUE	• 現項目。  • 「可視」項目プロパティが「FALSE」です。
INSERT_ALLOWED	TRUE TRUE	• 「変更可能」項目プロパティが「FALSE」です。 • 「可視」項目プロパティが「FALSE」です。
NAVIGABLE	TRUE/FALSE TRUE	• 現項目。  • 「可視」項目プロパティが「FALSE」です。
QUERYABLE (Query Allowed)	TRUE	• 「可視」項目プロパティが「FALSE」です。
UPDATE_ALLOWED	TRUE TRUE	• 「変更可能」項目プロパティが「FALSE」です。 • 「データ隠蔽」項目プロパティが「TRUE」です。
UPDATE_NULL (Update if NULL)	TRUE TRUE	• 「変更可能」項目プロパティが「FALSE」です。 • 「データ隠蔽」項目プロパティが「TRUE」です。
VISIBLE	TRUE/FALSE	• 現項目。
Form Builderでは、プロパティの設定値を変更する前に、項目の現行の内容が考慮されるわけではありません。SET_ITEM_PROPERTYを使用して、項目内のデータの妥当性検査方法を左右するような項目プロパティ（FIXED_LENGTHやREQUIREDなど）を変更すると、妥当性検査の結果を変更前の値に適用できなくなります。新しい妥当性検査ルールは、通常の環境でForm Builderによって次にその項目の妥当性が検査されるまで、その項目に適用されません。

たとえば、アプリケーションに従業員IDなどの必須テキスト項目があるとします。このアプリケーションでは、エンド・ユーザーがこの項目（REQUIRED項目で許可されない動作）を変更できないようにする必要があるため、一時的に「必須」プロパティを「False」に設定します。この時点では、Form Builderによって既存のNULL値にVALIDのマークが付けられています。この後、アプリケーション内で、もう一度「必須」プロパティをTRUEに設定すると、Form BuilderではVALID/INVALIDマークが自動的には変更されません。NULL値にINVALIDのマークを付けるには（REQUIRED項目を除く）、FormBuilderでその項目の妥当性が検査されるように、項目内で次のように変更する必要があります。

IF :block.item IS NULL
THEN :block.item := NULL;

プロパティの変更値の波及 SET_ITEM_PROPERTYビルトインを使用して1度に変更できる項目プロパティは、1つのみです。しかし、目的の変更を完了する、あるいは波及させるために他のプロパティも変更する必要がある場合は、SET_ITEM_PROPERTY文1つで複数の項目プロパティが変更されることがあります。この機能は、本来、旧バージョンとの互換性を確保する目的で用意されたものです。

次の表に、Form Builderによって項目プロパティ間で変更を波及させるSET_ITEM_PROPERTY設定を示します。

次のpropertyパラメータを2列目に示す設定にすると、3列目に示す変更が波及される	設定	波及される変更
変更可能	いいえ	• 「ナビゲート可能」項目プロパティを「FALSE」に設定します。 • 「Update_Null」項目プロパティをFALSEに設定します。 • 「更新可能」項目プロパティを「FALSE」に設定します。 • 「必須」項目プロパティを「FALSE」に設定します。
DISPLAYED	いいえ	• 「変更可能」および「ナビゲート可能」の各項目プロパティを「FALSE」に設定します。 • 「更新可能」項目プロパティを「FALSE」に設定する。 • 「Update_Null」項目プロパティをFALSEに設定します。 • 「必須」項目プロパティを「FALSE」に設定します。 • 「問合せ可能」項目プロパティを「FALSE」に設定します。
UPDATEABLE	True	• 「Update_Null」項目プロパティをFALSEに設定します。
UPDATE_NULL	True	• 「更新可能」項目プロパティを「FALSE」に設定します。


SET_ITEM_PROPERTYの例

/*

** Built-in:SET_ITEM_PROPERTY
** Example:Change the icon of an iconic button dynamically
**            at runtime by changing its icon_name.The user
**            clicks on this button to go into enter query
**            mode, then clicks on it again (after the icon
**            changed) to execute the query.After the query
**            is executed the user sees the original icon
**            again.
** Trigger:When-Button-Pressed
*/
DECLARE
  it_id Item;
BEGIN
  it_id := Find_Item('CONTROL.QUERY_BUTTON');
  IF :System.Mode = 'ENTER-QUERY' THEN
    /*
    ** Change the icon back to the enter query icon, and
    ** execute the query.
    */
    Set_Item_Property(it_id,ICON_NAME,'entquery');
    Execute_Query;
  ELSE
    /*
** Change the icon to the execute query icon and get
    ** into enter query mode.
    */
    Set_Item_Property(it_id,ICON_NAME,'exequery');
    Enter_Query;
  END IF;
END;


SET_LOV_COLUMN_PROPERTYビルトイン

 すべてのビルトイン

説明

指定された値リストの指定された「値リスト」プロパティを設定します。

構文:

SET_LOV_COLUMN_PROPERTY
  (lov_id    LOV,
   colnum    NUMBER,
   property  NUMBER,
   value     VARCHAR2);

SET_LOV_COLUMN_PROPERTY
  (lov_name  VARCHAR2,
   colnum    NUMBER,
   property  NUMBER,
   value     VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

lov_id	値リスト作成時にForm Builderによってその値リストに割り当てられた一意のIDを指定します。FIND_LOVビルトインを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型は値リスト型です。

lov_name	値リスト型の名前をVARCHAR2型で指定します。

colnum	変更する列をNUMBER型で指定します。最初の列は列1です。

property	指定した値リストに設定するプロパティを指定します。設定できるプロパティは次のとおりです。

TITLE  値リスト列の上に表示するタイトルを制御する「列タイトル」プロパティを設定します。

注意: 列のタイトルをNULLに設定すると、列タイトルが設計時に指定されたタイトルに再設定されます。

WIDTH  列値を表示するための、値リストに予約される幅を指定します。

注意: 列の幅をNULLに設定すると、その列は非表示列になります。

value	指定したプロパティに設定する値をVARCHAR2またはNUMBERで指定します。


SET_LOV_PROPERTYビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定された値リストの指定された「値リスト」プロパティを設定します。

構文:

SET_LOV_PROPERTY
  (lov_id    LOV,
   property  NUMBER,
   value     NUMBER);

SET_LOV_PROPERTY
  (lov_name  VARCHAR2,
   property  NUMBER,
   value     NUMBER);
SET_LOV_PROPERTY
  (lov_id    LOV,
   property  NUMBER,
   x         NUMBER,
   y         NUMBER);
SET_LOV_PROPERTY
  (lov_name  VARCHAR2,
   property  NUMBER,
   x         NUMBER,
   y         NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

lov_id	値リスト作成時にForm Builderによってその値リストに割り当てられた一意のIDを指定します。FIND_LOVビルトインを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型は値リスト型です。

lov_name	値リスト型の名前をVARCHAR2型で指定します。

property	指定した値リストに設定するプロパティを指定します。設定できるプロパティは次のとおりです。

AUTO_REFRESH  値リストが起動されるたびにForm Builderが問合せを再実行するかどうかを指定します。

GROUP_NAME  値リストが関連付けられるレコード・グループを指定します。

LOV_SIZE  値リストのサイズを示す幅と高さの組み合わせを指定します。

POSITION  値リストの位置を示すxとyの組み合わせを指定します。

TITLE  値リストのタイトルを指定します。プロパティ値がNULLでなければ、Form Builderで指定されている値を上書きします。

value	次の定数のいずれかを指定します。

PROPERTY_TRUE  プロパティをTRUE状態に設定することを指定します。

PROPERTY_FALSE  プロパティをFALSE状態に設定することを指定します。

Recordgroup Name	設定するレコード・グループの名前をVARCHAR2で指定します。このレコード・グループは、SET_LOV_PROPERTYがコールされるときにレコード・グループが存在する限り、Form Builderで、またはプログラミングで作成できます。

x	指定したプロパティにより、X座標または幅を指定します。

y	指定したプロパティにより、Y座標または高さを指定します。


SET_LOV_PROPERTYの制限事項

•	各ビルトイン・コールで設定できるプロパティは1つのみです。


SET_LOV_PROPERTYの例

/*

** Built-in:SET_LOV_PROPERTY
** Example:if LOV is currently base on GROUP1,
**            make LOV use GROUP2
*/
DECLARE
  lov_id      LOV;
BEGIN
  lov_id     := Find_LOV('My_LOV_1');
  IF Get_LOV_Property(lov_id,GROUP_NAME) = 'GROUP1' THEN
    Set_LOV_Property(lov_id,GROUP_NAME,'GROUP2');
  ENDIF;
END;


SET_MENU_ITEM_PROPERTYビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

メニュー項目の指定されたプロパティを変更します。

構文:

SET_MENU_ITEM_PROPERTY
  (menuitem_id  MenuItem,
   property     NUMBER,
   value        NUMBER);

SET_MENU_ITEM_PROPERTY
  (menu_name.menuitem_name  VARCHAR2,
   property                 NUMBER,
   value                    NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

menuitem_id	メニュー項目作成時にForm Builderによってその項目に割り当てられた一意のIDを指定します。FIND_MENU_ITEMを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型はMenuItem型です。

menu_name.menuitem_name	ユーザーがメニュー項目を定義したときにその項目に付けた名前をVARCHAR2で指定します。名前でメニュー項目を指定する場合は、上の構文のように、メニュー項目を修飾するメニュー名も合わせて指定してください。

property	メニュー項目に関する情報を設定する次の定数をどれか1つ指定します。

CHECKED  チェックボックス・メニュー項目またはラジオ・メニュー項目がチェック・マーク付きであるかどうかを示す、「チェック・マーク付き」プロパティを指定します。

ENABLED  メニュー項目が変更可能（アクティブ）か、使用禁止（グレーになっていてオペレータは使用できない）かどうかを指定します。

ICON_NAME  メニューのアイコンプロパティがTRUEに設定されたメニュー項目に関連するアイコン・リソースのファイル名を指定します。

LABEL  メニュー項目ラベルの文字列を指定します。

VISIBLE  メニュー項目が可視的に表示されるかどうかを指定します。

value	次の定数のいずれかを指定します。

PROPERTY_TRUE  プロパティをTRUE状態に設定することを指定します。

PROPERTY_FALSE  プロパティをFALSE状態に設定することを指定します。

Label	VARCHAR2型のラベル名を指定します。


SET_MENU_ITEM_PROPERTYの制限事項

これらの制限は、メニュー・モジュールの「セキュリティ使用」プロパティが「はい」に設定されている場合のみ適用されます。

•	メニュー・モジュールの「セキュリティ使用」プロパティが「はい」の場合は、SET_MENU_ITEM_PROPERTYを使用してメニュー項目のプロパティを設定できるかどうかは、フォームのオペレータにその項目へのアクセス権限が付与されているかによって決まります。

•	メニュー項目が画面に表示されておらず、かつ、オペレータにメニュー項目へのセキュリティのアクセス権限が付与されていない場合、Runformはその項目を表示しません。項目が現在隠されている場合は、SET_MENU_ITEM_PROPERTYを使用してメニュー項目のプロパティを設定することはできません。

•	メニュー項目が表示されるが、使用禁止であり、このメニュー項目の「権限なしで表示」プロパティがForm Builderで設定されていれば、Runformはその項目を使用禁止状態で表示します。この場合は、プログラミングによりメニュー項目プロパティを設定できます。


SET_MENU_ITEM_PROPERTYの例

/*

** Built-in:SET_MENU_ITEM_PROPERTY
** Example:See GET_MENU_ITEM_PROPERTY
*/


SET_OLE

 すべてのビルトイン

説明

OLEプロパティの値を変更します。

このプロシージャには、NUMBER、VARCHARおよびOLEVARという新しい値の型用として、3種類のバージョンが用意されています。

構文:

PROCEDURE SET_OLE
  (obj OLEOBJ, memberid PLS_INTEGER
   newval NUMBER, vtype VT_TYPE);

...または...

PROCEDURE SET_OLE
  (obj OLEOBJ, memberid PLS_INTEGER
   newval VARCHAR2, vtype VT_TYPE);

...または...

PROCEDURE SET_OLE
  (obj OLEOBJ, memberid PLS_INTEGER
   newval OLEVAR, vtype VT_TYPE);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

obj	OLEオブジェクトへのポインタ。
memberid	OLEプロパティのメンバーID。
newval	OLEプロパティに置き換る、指定された型の新しい値。
Vtype	元のバリアントのVT_TYPE。 これはオプションのパラメータです。指定されなかった場合、プロシージャのNUMBERバージョンのデフォルト値はVT_R8です。VARCHAR2バージョンに対しては、デフォルト値はVT_BSTRです。OLEVARバージョンの場合、デフォルトはVT_VARIANTです。つまり、バリアント自体によって実際に指定される型です。
使用上の注意

INIT_OLEARGSコールとADD_OLEARGコールがこのSET_OLEコールよりも先に発生し、その間にGET_OLE、SET_OLEまたはCALL_OLEの各コールが発生しなかった場合、このコールでは、INIT_OLEARGSコールとADD_OLEARGコールで指定された引数を使用してプロパティにアクセスします。


SET_PARAMETER_ATTRビルトイン

  関連項目	 すべてのビルトイン

説明

指定されたパラメータ・リストの指定されたパラメータのタイプと値を設定します。

構文:

SET_PARAMETER_ATTR
  (list       PARAMLIST,
   key        VARCHAR2,
   paramtype  NUMBER,
   value      VARCHAR2);

SET_PARAMETER_ATTR
  (name       VARCHAR2,
   key        VARCHAR2,
   paramtype  NUMBER,
   value      VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

listまたはname	パラメータ・リストを指定します。実際のパラメータには、型PARAMLISTのパラメータ・リストIDまたはパラメータ・リストのVARCHAR2名のどちらかを指定できます。

key	パラメータの名前をVARCHAR2で指定します。

paramtype	渡すパラメータのタイプを指定します。

DATA_PARAMETER  パラメータの値がレコード・グループの名前であることを示します。

TEXT_PARAMETER   パラメータの値が実際のデータ値であることを示します。

value	指定したパラメータの値をデータ型VARCHAR2型で指定します。


SET_RADIO_BUTTON_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

ラジオ・ボタンはitem_nameまたはitem_idで指定されたもので、与えられたラジオ・グループの一部であり、与えられたプロパティを設定します。

構文:

SET_RADIO_BUTTON_PROPERTY
  (item_id      VARCHAR2,
   button_name  VARCHAR2,
   property     NUMBER,
   value        NUMBER);

SET_RADIO_BUTTON_PROPERTY
  (item_id      VARCHAR2,
   button_name  VARCHAR2,
   property     NUMBER,
   x            NUMBER,
   y            NUMBER);
SET_RADIO_BUTTON_PROPERTY
  (item_name    VARCHAR2,
   button_name  VARCHAR2,
   property     NUMBER,
   x            NUMBER,
   y            NUMBER);
SET_RADIO_BUTTON_PROPERTY
  (item_name    VARCHAR2,
   button_name  VARCHAR2,
   property     NUMBER,
   value        NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item_id	ラジオ・グループ項目のIDを指定します。オブジェクト作成時に、Form Builderによってそのオブジェクトに一意のIDが割り当てられます。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。

item_name	ラジオ・グループの名前を指定します。ラジオ・グループは、従属するラジオ・ボタンの所有者または親です。その名前のデータ型はVARCHAR2です。

button_name	プロパティを設定する場合は、ラジオ・ボタンの名前を指定します。その名前のデータ型はVARCHAR2です。

property	設定するプロパティを指定します。設定できるプロパティの定数は次のとおりです。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

ENABLED  ラジオ・ボタンを変更可能にする場合は、定数PROPERTY_TRUEを指定します。オペレータに対してラジオ・ボタンを使用禁止にする場合は、定数PROPERTY_FALSEを指定します。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

HEIGHT  与えられたラジオ・ボタンの高さを指定します。NUMBERで指定します。

ITEM_SIZE  与えられたラジオ・ボタンの幅と高さを設定します。幅と高さはX、Y座標の組み合わせで、NUMBERで指定します。

LABEL  そのラジオ・ボタンの実際の文字列ラベルを指定します。

POSITION  与えられたラジオ・ボタンの位置を指定します。幅と高さはX、Y座標の組み合わせで、NUMBERで指定します。

PROMPT  オブジェクトに表示されるテキスト。

PROMPT_BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

PROMPT_FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

PROMPT_FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

PROMPT_FONT_SIZE  ポイント数で指定されるフォントのサイズ。

PROMPT_FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

PROMPT_FONT_STYLE  フォントのスタイル。

PROMPT_FONT_WEIGHT  フォントの太さ。

PROMPT_FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

PROMPT_WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

VISIBLE  ラジオ・ボタンを表示する場合は、定数PROPERTY_TRUEを指定します。ラジオ・ボタンを隠す場合は、定数PROPERTY_FALSEを指定します。

VISUAL_ATTRIBUTE  現在のフォームに存在する有効な名前付き可視属性、またはForm Builderによってラジオ・ボタンに適用するランタイム・リソース・ファイルにある論理属性定義の名前を指定します。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

WIDTH  与えられたラジオ・ボタンの幅を指定します。NUMBERで指定します。

X_POS  ラジオ・ボタンのX座標を指定します。NUMBERで指定します。

Y_POS  ラジオ・ボタンのY座標を指定します。NUMBERで指定します。

value	値をNUMBERまたはVARCHAR2で指定します。指定したプロパティのデータ型により入力する値のデータ型が決まります。VARCHAR2の値を入力する場合は、テキスト項目や変数を参照する場合を除き、値を引用符で囲む必要があります。

PROPERTY_TRUE  プロパティをTRUE状態に設定することを指定します。

PROPERTY_FALSE  プロパティをFALSE状態に設定することを指定します。

x	「項目サイズ」プロパティと「位置」プロパティの最初の数値を指定します。

y	「項目サイズ」プロパティと「位置」プロパティの2番目の数値を指定します。


SET_RADIO_BUTTON_PROPERTYの例

/*

** Built-in:SET_RADIO_BUTTON_PROPERTY
** Example:Set a particular radio button to disabled.
*/
BEGIN
  Set_Radio_Button_Property('MYBLOCK.FLIGHT_STATUS',
                         'GROUNDED',ENABLED,PROPERTY_FALSE);
END;


SET_RECORD_PROPERTYビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定されたレコード・プロパティを指定された値に設定します。

構文:

SET_RECORD_PROPERTY
  (record_number  NUMBER,
   block_name     VARCHAR2,
   property       NUMBER,
   value          NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

record_number	ステータスを設定するレコードの番号を指定します。レコード番号はブロックにおけるレコードの位置です。行番号はNUMBER型で指定します。

block_name	ターゲット・レコードを含むブロックの名前を指定します。その名前のデータ型はVARCHAR2です。

property	次のプロパティを指定します。

STATUS  レコードのステータスを変更することを指定します。STATUSは定数です。

value	次の値をどれか1つ指定します。

CHANGED_STATUS  レコードに更新マークを付け、次にコミット動作が発生したときにそのレコードが更新として処理されるように指定します。

INSERT_STATUS  レコードにINSERTマークを付け、次にコミット動作が発生した時にそのレコードが適切な表に挿入されるように指定します。

NEW_STATUS  レコードを新規レコードとして処理する、つまり、挿入、更新、問合せのマークが付いていないレコードであることを指定します。変更されたが消去またはコミットされていないレコードには、NEWのステータスを割り当てることはできません。

QUERY_STATUS  レコードが実際に問合せレコードであるかどうかに関係なく、レコードを問合せレコードとして処理することを指定します。CREATE_QUERIED_RECORDビルトインも参照してください。


SET_RECORD_PROPERTYの制限事項

レコードの有効な移行状態は、次表のとおりです。

現行のステータス	ターゲット状態
	NEW	QUERY	INSERT	CHANGED
NEW	はい	はい1	はい2	いいえ
QUERY	yes4	はい	いいえ	はい
INSERT	yes4	はい3	はい	いいえ
CHANGED	yes4	いいえ	いいえ	はい
1	脚注2、3の規則に従います。

2	問合せモードではQUERYおよびINSERTは無効なため、この移行は問合せモードでは実行できません。

3	Runformが「一意キー」モードで実行されていて、かつトランザクション制御トリガーが1つも存在しないときに、この移行を実行する場合は、ROWIDフィールドに適切な値を入力する必要があります。さらに、ROWIDをサポートしていないOracle以外のデータ・ソースに接続しているが、一意キーも使用しているという場合は、3つのトランザクション・トリガーOn-Lock、On-Update、On-Deleteの1つで挿入から問合せに移行するレコードのキーを与える必要があります。これらの条件が満たされていなければ、Form Builderによってエラーが返されます。

4	変更されたがまだコミットまたは消去されていないレコードには、NEWのステータスを割り当てることはできません。


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;


SET_RELATION_PROPERTYビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

マスター/ディテール・リレーションに指定されたリレーション・プロパティを設定します。

構文:

SET_RELATION_PROPERTY
  (relation_id  Relation,
   property     NUMBER,
   value        NUMBER);

SET_RELATION_PROPERTY
  (relation_name  VARCHAR2,
   property       NUMBER,
   value          NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

relation_id	リレーション・オブジェクト作成時にForm Builderによってそのリレーションに割り当てられた一意のIDを指定します。これはマスター/ディテール・リレーションを定義するとき自動的に発生します。あるいはリレーションを明示的に作成することもできます。このIDのデータ型はRELATION型です。

relation_name	ユーザーがリレーション・オブジェクトを定義したときにそのオブジェクトに付けた名前、または FormBuilderによって割り当てられた名前を指定します。その名前のデータ型はVARCHAR2です。

property	次のリレーション・プロパティをどれか1つ指定します。プロパティは定数としてビルトインに渡されます。

AUTOQUERY   このリレーションのディテール・ブロックは、ブロックのインスタンシエーションに基づいて自動的に調整されることを指定します。このようにすると、潜在的に負荷の高い処理をリレーションに組み込まれているブロックが実際に現れるまで延期することができます。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

DEFERRED_COORDINATION  調整が必要なブロックはマークされますが、ディテール・ブロックがインスタンシエートされるまで調整されないことを指定します。遅延調整では、調整の挿入フェーズのみが参照されます。遅延ディテール・ブロックが調整の削除フェースで削除されても、フォームは視覚的に一貫した状態で表示されます。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

MASTER_DELETES  ディテール・ブロックのディテール・レコードの削除について、マスター・ブロックに対応するマスター・レコードが存在しない場合の、デフォルトのリレーション動作を指定します。有効な値は、NON-ISOLATED、ISOLATEDまたはCASCADINGです。プログラミングによりこのプロパティを設定する機能は、独自のマスター/ディテール調整をコーディングする設計者のために用意されている機能です。この機能で、設計時に作成されたデフォルトのリレーションを変更することはできません。

PREVENT_MASTERLESS_OPERATION  ディテール・ブロックでの操作は、対応するマスター・レコードが存在しない場合は許されないことを指定します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

value	前述のプロパティに設定できる定数は次のとおりです。

CASCADING  オペレータがマスター・レコードを削除するときに、マスター・レコードがロックされたと同時に対応するディテール・レコードもロックされるように、「レコード削除時の動作」プロパティを設定することを指定します。

ISOLATED  ディテール・ブロックが存在するマスター・レコードをオペレータが削除できるように、「レコード削除時の動作」プロパティを設定することを指定します。この後、ディテール・レコードのロッキングや削除は行われませんが、この場合もForm Builderによってディテール・ブロックの調整が起動されます。

NON_ISOLATED  オペレータがディテール・レコードが存在するマスター・レコードを削除しようするとForm Builderによってエラー・メッセージが出力され、削除が禁止されるように「レコード削除時の動作」プロパティを設定することを指定します。

PROPERTY_TRUE  プロパティをTRUE状態に設定することを指定します。

PROPERTY_FALSE  プロパティをFALSE状態に設定することを指定します。


SET_RELATION_PROPERTYの制限事項

このビルトインのコールを設定できるプロパティは1つのみです。


SET_RELATION_PROPERTYの例

/*

** Built-in:SET_RELATION_PROPERTY
** Example:Set the coordination behavior of a relation to
**            be deferred, and auto-query.
*/
PROCEDURE Make_Relation_Deferred( rl_name VARCHAR2 ) IS
  rl_id Relation;
BEGIN
  /*
  ** Look for the relation's ID
  */
  rl_id := Find_Relation( rl_name );
  /*
  ** Set the two required properties
  */
  Set_Relation_Property(rl_id,AUTOQUERY,PROPERTY_TRUE);
END;


SET_REPORT_OBJECT_PROPERTYビルトイン

 例	 すべてのビルトイン

説明

レポート・プロパティの値をプログラムによって設定します。

構文:

PROCEDURE SET_REPORT_OBJECT_PROPERTY
(report_id REPORT_OBJECT,
   property NUMBER,
   value VARCHAR2
);

PROCEDURE SET_REPORT_OBJECT_PROPERTY
  (report_name VARCHAR2,
   property NUMBER,
   value VARCHAR2
);

PROCEDURE SET_REPORT_OBJECT_PROPERTY
(report_id REPORT_OBJECT,
   property NUMBER,
   value NUMBER
);

PROCEDURE SET_REPORT_OBJECT_PROPERTY
  (report_name VARCHAR2,
   property NUMBER,
   value NUMBER
);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

report_id	レポートの一意のIDを指定します。FIND_REPORT_OBJECTを使用すると、特定のレポートのレポートIDを取得できます。

report_name	レポートの一意の名前を指定します。

property	次のいずれかの定数です。

REPORT_EXECUTION_MODEレポート実行モード、BATCHまたはRUNTIMEです。

REPORT_COMM_MODE:レポート通信モード、SYNCHRONOUSまたはASYNCHRONOUSです。

REPORT_DESTYPE:レポート宛先タイプ、PREVIEW、FILE、PRINTER、MAIL、CACHEまたはSCREENです。

次のいずれかの文字列です。

REPORT_FILENAME:レポートのファイル名です。

REPORT_SOURCE_BLOCK:レポート・ソース・ブロック名です。

REPORT_QUERY_NAME:レポート問合せ名です。

REPORT_DESNAME:レポート宛先名です。

REPORT_DESFORMAT:レポート宛先の書式です。

REPORT_SERVER:レポートのサーバ名です。

REPORT_OTHER:他のユーザーが指定したレポート・プロパティです。

value	次のいずれかの定数です。

REPORT_EXECUTION_MODE:値はBATCHまたはRUNTIMEのいずれかです。

REPORT_COMM_MODE:値はSYNCHRONOUSまたはASYNCHRONOUSのいずれかです。

REPORT_DESTYPE:値はPREVIEW、FILE、PRINTER、MAIL、CACHEまたはSCREENです。

次のいずれかの文字列です。

REPORT_FILENAME:値はVARCHAR2型です。

REPORT_SOURCE_BLOCK:値はVARCHAR2型です。

REPORT_QUERY_NAME:値はVARCHAR2型です。

REPORT_DEST_NAME:値はVARCHAR2型です。

REPORT_DEST_FORMAT:値はVARCHAR2型です。

REPORT_SERVER:値はVARCHAR2型です。

REPORT_OTHER:値はVARCHAR2型です。

使用上の注意

•	SET_REPORT_OBJECT_PROPERTYでは、定数値または文字列値を使用してプロパティを設定します。値の型は前述に示すとおり、設定されている特定のプロパティによって異なります。対照的に、GET_REPORT_OBJECT_PROPERTYでは、すべてのプロパティについて文字列値を返します。


SET_REPORT_OBJECT_PROPERTYの例

DECLARE

repid REPORT_OBJECT;

report_prop VARCHAR2(20);

BEGIN

repid := find_report_object('report4');

SET_REPORT_OBJECT_PROPERTY(repid, REPORT_EXECUTION_MODE, BATCH);

SET_REPORT_OBJECT_PROPERTY(repid, REPORT_COMM_MODE, SYNCHRONOUS);

SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESTYPE, FILE);

END;


SET_TAB_PAGE_PROPERTYビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定されたタブ・キャンバスのタブ・ページ・プロパティを設定します。

構文:

SET_TAB_PAGE_PROPERTY
  (tab_page_id  TAB_PAGE,
   property     NUMBER,
   value        NUMBER);

SET_TAB_PAGE_PROPERTY
  (tab_page_name  VARCHAR2,
   property       NUMBER,
   value          NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

tab_page_id	タブ・ページ作成時にForm Builderによってそのページに割り当てられた一意のID。このIDのデータ型はTAB_PAGEです。

tab_page_name	ユーザーがタブ・ページを定義したときにそのページに付けた名前。データ型はVARCHAR2です。

property	指定したタブ・ページに設定するプロパティ。指定できる値は次のとおりです。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

ENABLED  タブ・ページを変更可能にする場合文字列TRUEを指定し、使用不可能にする場合（グレーになり使用できない）FALSEを指定します。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

LABEL   タブ・ページ・ラベルの文字列。

VISIBLE  タブ・ページを可視にする場合はVARCHAR2値にTRUEを、不可視にする場合はFALSEを指定します。タブ・ページが現在画面にマップされていれば、そのページが他のタブ・ページの後ろに隠れていても、そのページは参照可能とみなされます。

VISUAL_ATTRIBUTE  現在使用されている可視属性の名前を指定します。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

value	次の定数を引数として前述のプロパティの値に渡すことができます。

PROPERTY_TRUE  （プロパティをTRUE状態に設定します）。

PROPERTY_FALSE  （プロパティをFALSE状態に設定します）。


SET_TAB_PAGE_PROPERTYの例

/* Example 1:Use SET_TAB_PAGE_PROPERTY to set the
** ENABLED property to TRUE for a tab page (if it currently
** is set to FALSE:
*/

DECLARE
  tb_pg_id  TAB_PAGE;

BEGIN
  tb_pg_id := FIND_TAB_PAGE('tab_page_1');
  IF GET_TAB_PAGE_PROPERTY(tb_pg_id, enabled) = 'FALSE' THEN
     SET_TAB_PAGE_PROPERTY(tb_pg_id, enabled, property_true);
  END IF;
END;


SET_TIMERビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

既存のタイマーの設定値を変更します。間隔または繰り返しパラメータ、あるいはその両方を変更できます。

構文:

SET_TIMER
  (timer_id      Timer,
   milliseconds  NUMBER,
   iterate       NUMBER);

SET_TIMER
  (timer_name    VARCHAR2,
   milliseconds  NUMBER,
   iterate       NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

timer_id	Form Builderにより、タイマー作成の際に各タイマーに一意に割り当てられるID。タイマーは、CREATE_TIMERのビルトイン処理をコールして作成されます。このIDに合ったデータ型の変数にIDを戻す場合は、FIND_TIMERのビルトイン処理を実行してください。このIDのデータ型はTIMERです。

timer_name	タイマーを定義する際につけたタイマーの名前。その名前のデータ型はVARCHAR2です。

milliseconds	タイマーの持続時間をミリ秒単位で指定します。このパラメータに指定できる値の範囲は1～2147483648ミリ秒です。2147483648より大きい値は、2147483648に切り捨てられます。指定できるのは正の整数のみであることに注意してください。このパラメータのデータ型はNUMBER型です。詳細は、制限事項を参照してください。

NO_CHANGE  「ミリ秒」プロパティを現在の設定値に保つことを指定します。

iterate	タイマーの反復を指定します。

REPEAT  時間切れ時にタイマーを繰り返すことを示します。これがデフォルトです。

NO_REPEAT  再び明示的にコールされるまで、時間切れ時にタイマーを繰り返さず、1回のみ使用することを示します。

NO_CHANGE  「反復」プロパティを現在の設定値に保つことを指定します。


SET_TIMERの制限事項

•	2147483648を超える値は、2147483648に統一されます。

•	1より小さい値を指定すると、ランタイム・エラーが発生します。

•	前述の上限を超える値を指定すると、整数オーバーフローが発生します。

•	ミリ秒を負数で表すことはできません。

•	大文字か小文字かに関係なく、2つのタイマーが同じフォーム・インスタンスで同じ名前を共有することはできません。

•	タイマーの実行時に定義されたWhen-Timer-Expiredトリガーがない場合は、エラーが戻されます。

•	タイマーの実行時に定義されたWhen-Timer-Expiredトリガーがなく、タイマーが繰返しタイマーの場合、その後の繰返しは取り消されますが、タイマーは保持されます。


SET_TIMERの例

/*

** Built-in:SET_TIMER
** Example:See FIND_TIMER
*/


SET_TREE_NODE_PROPERTYビルトイン

 例	 すべてのビルトイン

説明

ブランチ・ノードの状態を設定します。

構文:

PROCEDURE SET_TREE_NODE_PROPERTY

(item_name VARCHAR2,

node FTREE.NODE,

property NUMBER,

value NUMBER);

PROCEDURE SET_TREE_NODE_PROPERTY

(item_name VARCHAR2,

node FTREE.NODE,

property NUMBER,

value VARCHAR2);

PROCEDURE SET_TREE_NODE_PROPERTY

(item_id ITEM,

node FTREE.NODE,

property NUMBER,

value NUMBER);

PROCEDURE SET_TREE_NODE_PROPERTY

(item_id ITEM,

node FTREE.NODE,

property NUMBER,

value VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
node	有効なノードを指定します。
property	次のいずれかのプロパティを指定します。 NODE_STATE  有効な値は、EXPANDED_NODE、COLLAPSED_NODEおよびLEAF_NODEです。 NODE_LABEL  ノードのラベルを設定します。 NODE_ICON  ノードのアイコンを設定します。 NODE_VALUE  ノードの値を設定します。
value	実際に渡す値です。


SET_TREE_NODE_PROPERTYの例

/*

** Built-in:SET_TREE_NODE_PROPERTY
*/

-- This code could be used in a WHEN-TREE-NODE-SELECTED

-- trigger to change the icon of the node clicked on.

DECLARE

htree         ITEM;

current_node  FTREE.NODE;

find_node     FTREE.NODE;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Change it icon of the clicked node.

-- The icon file will be located using the

-- UI60_ICON environment variable in client/server

-- or in the virtual directory for web deployment.

Ftree.Set_Tree_Node_Property(htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_ICON, 'Open');

END;


SET_TREE_PROPERTYビルトイン

 例	 すべてのビルトイン

説明

指定された階層ツリーのプロパティを設定します。

構文:

PROCEDURE SET_TREE_PROPERTY

(item_name VARCHAR2,

property NUMBER,

value NUMBER);

PROCEDURE SET_TREE_PROPERTY

(item_name VARCHAR2,

property NUMBER,

value VARCHAR2);

PROCEDURE SET_TREE_PROPERTY

(item_name VARCHAR2,

property NUMBER,

value RECORDGROUP);

PROCEDURE SET_TREE_PROPERTY

(item_id ITEM,

property NUMBER,

value NUMBER);

PROCEDURE SET_TREE_PROPERTY

(item_id ITEM,

property NUMBER,

value VARCHAR2);

PROCEDURE SET_TREE_PROPERTY

(item_id ITEM,

property NUMBER,

value RECORDGROUP);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
property	次のいずれかのプロパティを指定します。 RECORD_GROUP  階層ツリーのデータ・セットをレコード・グループに置き換えて、表示します。 QUERY_TEXT  階層ツリーのデータ・セットをSQL問合せに置き換えて、表示します。 ALLOW_EMPTY_BRANCHES  有効な値はPROPERTY_TRUEとPROPERTY_FALSEです。
value	設定するプロパティに合った値を指定します。  PROPERTY_TRUE  プロパティがTRUE状態に設定されます。 PROPERTY_FALSE  プロパティがFALSE状態に設定されます。


SET_TREE_PROPERTYの例

/*

** Built-in:SET_TREE_PROPERTY
*/

-- This code could be used in a WHEN-NEW-FORM-INSTANCE

-- trigger to initially populate the hierarchical tree

-- with data.

DECLARE

htree         ITEM;

v_ignore      NUMBER;

rg_emps       RECORDGROUP;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Check for the existence of the record group.

rg_emps := Find_Group('emps');

IF NOT Id_Null(rg_emps) THEN

DELETE_GROUP(rg_emps);

END IF;

-- Create the record group.

rg_emps := Create_Group_From_Query('rg_emps',

'select 1, level, ename, NULL, to_char(empno) ' ||

'from emp '                                     ||

'connect by prior empno = mgr '                 ||

'start with job = ''PRESIDENT''');

-- Populate the record group with data.

v_ignore := Populate_Group(rg_emps);

-- Transfer the data from the record group to the hierarchical

-- tree and cause it to display.

Ftree.Set_Tree_Property(htree, Ftree.RECORD_GROUP, rg_emps);

END;


SET_TREE_SELECTIONビルトイン

 例	 すべてのビルトイン

説明

単一ノードの選択を指定します。

構文:

PROCEDURE SET_TREE_SELECTION

(item_name VARCHAR2,

node NODE,

selection_type NUMBER);

PROCEDURE SET_TREE_SELECTION

(item_id ITEM,

node NODE,

selection_type NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 不可

パラメータ

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。
Item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。IDのデータ型はITEMです。
node	有効なノードを指定します。
selection_type	選択のタイプを指定します。 SELECT_ON  ノードを選択します。 SELECT_OFF  ノードを選択解除します。 SELECT_TOGGLE  ノードの選択状態を切り替えます。


SET_TREE_SELECTIONの例

/*

** Built-in:SET_TREE_SELECTION
*/

-- This code could be used in a WHEN-TREE-NODE-EXPANDED

-- trigger and will mark the clicked node as selected.

DECLARE

htree         ITEM;

BEGIN

-- Find the tree itself.

htree := Find_Item('tree_block.htree3');

-- Mark the clicked node as selected.

Ftree.Set_Tree_Selection(htree, :SYSTEM.TRIGGER_NODE, Ftree.SELECT_ON);

END;


SET_VA_PROPERTYビルトイン

 すべてのビルトイン

説明

指定されたプロパティについて、可視属性プロパティの値を変更します。

構文:

SET_VA_PROPERTY

(va_id VISUALATTRIBUTE

property NUMBER

value VARCHAR2);

SET_VA_PROPERTY

(va_name VARCHAR2

property NUMBER

value VARCHAR2);

SET_VA_PROPERTY

(va_id VISUALATTRIBUTE

property NUMBER

value NUMBER);

SET_VA_PROPERTY

(va_name VARCHAR2

property NUMBER

value NUMBER);

ビルトイン・タイプ  制限なしファンクション

問合せ入力モード 可

パラメータ

va_id	可視属性の作成時にForm Builderによって割り当てられる一意のID。データ型はVISUALATTRIBUTEです。
va_name	可視属性の作成時に付けた名前。データ型はVARCHAR2です。
Property value	次のいずれかのプロパティを指定します。 BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。  FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。  FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。  FONT_SIZE  ポイント数に100を掛けた値で指定されるフォントのサイズ。 FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。  FONT_STYLE  フォントのスタイル。  FONT_WEIGHT  フォントの太さ。  FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。  WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。  所定のプロパティに適用される値を指定します。プロパティのデータ型によって、入力する値のデータ型が決まります。たとえば、WHITE_ON_BLACKプロパティをTRUEに設定する場合、その値について定数PROPERTY_TRUEを指定します。項目についてFONT_NAMEを変更する場合は、値を指定します。つまり、ラベルをVARCHAR2文字列として指定します。  PROPERTY_TRUE  プロパティをTRUE状態に設定することを指定します。  PROPERTY_FALSE  プロパティをFALSE状態に設定することを指定します。  プロパティの値を設計時に確定した元の値にリセットする場合は、2つの一重引用符（''）を間にスペースを入れずに入力します。たとえば、SET_ITEM_PROPERTY('DEPTNO', FONT_SIZE, '');と入力すると、書式サイズは設計時の値にリセットされます。


SET_VAR

 すべてのビルトイン

説明

新規作成されたOLEバリアントを初期値に設定します。または、既存のOLEバリアントを新しい値にリセットします。

プロシージャには4つのバージョンがあり、それぞれがCHAR、NUMBER、OLEVARおよびtableといった新しい値の型について用意されています。

構文:

PROCEDURE SET_VAR
  (var OLEVAR, newval CHAR
   vtype VT_TYPE, arrspec VARCHAR2);

...または...

PROCEDURE SET_VAR
  (var OLEVAR, newval NUMBER
   vtype VT_TYPE, arrspec VARCHAR2);

...または...

PROCEDURE SET_VAR
  (var OLEVAR, newval OLEVAR
   vtype VT_TYPE, arrspec VARCHAR2);

...または...

PROCEDURE SET_VAR
  (var OLEVAR, source_table,
   vtype VT_TYPE, arrspec VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

var	設定するバリアント。
newval	バリアントに付与される値。
vtype	バリアントに付与されるOLE VT_TYPE。 これはオプションのパラメータです。指定されなかった場合、プロシージャのNUMBERバージョンのデフォルト値はVT_R8です。VARCHAR2バージョンに対しては、デフォルト値はVT_BSTRです。OLEVARバージョンの場合、デフォルトはVT_VARIANTです。つまり、バリアント自体によって実際に指定される型です。
source_table	ディメンションおよび要素の値がバリアントに付与されるPL/SQL表。
arrspec	新規バリアントの作成で、ソース表で選択されたどの要素が使用されるかを示します。詳細は、「OLE配列の指定子」」を参照してください。 これはオプションのパラメータです。指定されなかった場合、ソース表全体が使用されます。
使用上の注意

SET_VARプロシージャのターゲット・バリアントは、CREATE_VARファンクションを使用して最初に作成する必要があります。


SET_VIEW_PROPERTYビルトイン

  関連項目	 すべてのビルトイン

説明

指定されたキャンバスのプロパティを設定します。各ビルトインのに設定できるプロパティは１つのみです。つまり、x座標をX_POSに適用し、y座標をHEIGHTに適用するように、引数を分割することはできません。

構文:

SET_VIEW_PROPERTY
  (view_id   ViewPort,
   property  NUMBER,
   value     NUMBER);

SET_VIEW_PROPERTY
  (view_id   ViewPort,
   property  NUMBER,
   x         NUMBER,
   y         NUMBER);
SET_VIEW_PROPERTY
  (view_name  VARCHAR2,
   property   NUMBER,
   value      NUMBER);
SET_VIEW_PROPERTY
  (view_name  ViewPort,
   property   NUMBER,
   x          NUMBER,
   y          NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

view_id	キャンバス/ビューの作成時にForm Builderによってそのキャンバス/ビューに割り当てられる一意のID。FIND_VIEWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はVIEWPORTです。

view_name	キャンバス・オブジェクトの定義時に付けた名前。データ型はVARCHAR2です。

property	次のプロパティのいずれかを指定します。

DIRECTION  双方向オブジェクトのレイアウト方向。有効な値は、DIRECTION_DEFAULT、RIGHT_TO_LEFTおよびLEFT_TO_RIGHTです。

DISPLAY_POSITION  スタック・ビューについて、ウィンドウのコンテンツ・ビューに対して相対的なビューの左上角の位置をX、Yの組合せで表します。プロパティによって、ウィンドウ内のどこにビューが表示されるかが決まります。

HEIGHT  スタック・キャンバスについて、ビューの高さを表します。キャンバス自体のサイズを変更するには、SET_CANVAS_PROPERTYを使用します。

POSITION_ON_CANVAS  キャンバスに対しビューの左上角の位置を相対的に表すX、Yの組合せ。

VIEWPORT_X_POS  スタック・ビューについて、ウィンドウのコンテンツ・ビューに対して相対的なビューの左上角のX座標。

VIEWPORT_Y_POS  スタック・ビューについて、ウィンドウのコンテンツ・ビューに対して相対的なビューの左上角のY座標。

VIEWPORT_X_POS_ON_CANVAS  キャンバスに対して相対的なビューの左上角のX座標。

VIEWPORT_Y_POS_ON_CANVAS  キャンバスに対して相対的なビューの左上角のY座標。

VIEW_SIZE  スタック・キャンバスについて、幅と高さの組合せによるビューのサイズ。キャンバス自体のサイズを変更するには、SET_CANVAS_PROPERTYを使用します。

VISIBLE  ビューを表示するかどうかを示すプロパティ。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

WIDTH  スタック・キャンバスについて、ビューの幅を表します。キャンバス自体のサイズを変更するには、SET_CANVAS_PROPERTYを使用します。

value	設定するプロパティに合った値を指定します。

PROPERTY_TRUE  プロパティがTRUE状態に設定されます。

PROPERTY_FALSE  プロパティがFALSE状態に設定されます。

x	指定したプロパティの種類に応じて、x座標つまり幅を表すNUMBER値。引数はフォームの座標システムの単位で指定します。

y	指定したプロパティの種類に応じて、y座標つまり高さを表すNUMBER値。引数はフォームの座標システムの単位で指定します。


SET_WINDOW_PROPERTYビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定されたウィンドウのプロパティを設定します。

構文:

SET_WINDOW_PROPERTY
  (window_id  Window,
   property   NUMBER,
   value      VARCHAR2);

SET_WINDOW_PROPERTY
  (window_id  Window,
   property   NUMBER,
   x          NUMBER);
SET_WINDOW_PROPERTY
  (window_id  Window,
   property   NUMBER,
   x          NUMBER,
   y          NUMBER);
SET_WINDOW_PROPERTY
  (window_name  VARCHAR2,
   property     NUMBER,
   value        VARCHAR2);
SET_WINDOW_PROPERTY
  (window_name  VARCHAR2,
   property     NUMBER,
   x            NUMBER);
SET_WINDOW_PROPERTY
  (window_name  VARCHAR2,
   property     NUMBER,
   x            NUMBER,
   y            NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

window_id	Form Builderがウィンドウ作成時にそのウィンドウに割り当てられる一意のIDを指定します。FIND_WINDOWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はWINDOW型です。

window_name	ウィンドウの作成時に付けた名前を指定します。その名前のデータ型はVARCHAR2です。

property	次のいずれかのウィンドウ・プロパティを指定します。

BACKGROUND_COLOR  オブジェクトのバックグラウンド領域のカラー。

DIRECTION  双方向オブジェクトのレイアウト方向を指定します。有効な値は、DIRECTION_DEFAULT、RIGHT_TO_LEFTおよびLEFT_TO_RIGHTです。

FILL_PATTERN  オブジェクトの塗り領域で使用されるパターン。パターンは、「バックグラウンド・カラー」と「フォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

FONT_NAME  オブジェクト内のテキストに使用されるフォントのファミリつまりタイプフェース。どのようなフォントが使用できるかはシステムによって異なります。

FONT_SIZE  ポイント数で指定されるフォントのサイズ。

FONT_SPACING  フォントの幅つまり文字間のスペース（カーニング）。

FONT_STYLE  フォントのスタイル。

FONT_WEIGHT  フォントの太さ。

FOREGROUND_COLOR  オブジェクトのフォアグラウンド領域のカラー。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

HEIGHT  ウィンドウの高さを指定します。

HIDE_ON_EXIT  オペレータが別のウィンドウの項目へナビゲートしたとき、Form Builderによって自動的に現在のウィンドウを非表示にするかどうかを指定します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

ICON_NAME  ウインドウが最小化されるときにウインドウ項目に関連するアイコン・リソースのファイル名を指定します。

POSITION  ウィンドウの画面位置を示すx、yの組合せを指定します。

TITLE  ウィンドウのタイトルを設定します。

VISIBLE  ウィンドウを表示するかどうかを指定します。有効な値は、PROPERTY_TRUEとPROPERTY_FALSEです。

WHITE_ON_BLACK  白黒ビットマップ表示デバイスで、オブジェクトを黒いバックグラウンド上に白いテキストとして表示するように指定します。

WINDOW_SIZE  画面上のウィンドウ・サイズを示す幅、高さの組合せを指定します。

WINDOW_STATE  ウィンドウの現行の表示状態を指定します。有効な値は、NORMAL、MAXIMIZEまたはMINIMIZEです。

WIDTH  ウィンドウの幅を指定します。

X_POS   画面上のウィンドウの左上角のx座標を設定します。

Y_POS   画面上のウィンドウの左上角のy座標を設定します。

value	次の定数を前述のプロパティの値に引数として渡すことができます。

PROPERTY_TRUE  プロパティをTRUE状態に設定することを指定します。この値は、VISIBLEプロパティについてのみ適用されます。

PROPERTY_FALSE  プロパティをFALSE状態に設定することを指定します。この値は、VISIBLEプロパティについてのみ適用されます。

次の定数は、WINDOW_STATEプロパティで使用するための引数として渡すことできます。

NORMAL  「幅」、「高さ」、「X位置」および「Y位置」の各プロパティの現行の設定値に従って、ウィンドウを通常通りに表示することを指定します。

MAXIMIZE  ウィンドウ・マネージャの表示形式に従って、画面全体にウィンドウを拡大して表示することを指定します。

MINIMIZE  ウィンドウを最小化、つまりアイコン化することを指定します。

x	指定したプロパティの種類に応じて、x座標つまり幅を表すNUMBER値を指定します。引数はフォームの座標システムの単位で指定します。

y	指定したプロパティの種類に応じて、y座標つまり高さを表すNUMBER値を指定します。引数はフォームの座標システムの単位で指定します。

使用上の注意

Microsoft Windowsでは、フォームはMDIアプリケーション・ウィンドウ内で実行されます。SET_WINDOW_PROPERTYビルトインを使用して、MDIアプリケーション・ウィンドウの次のプロパティを設定できます。

•	TITLE

•	POSITION

•	WIDTH, HEIGHT

•	WINDOW_SIZE

•	WINDOW_STATE

•	X_POS, Y_POS

SET_WINDOW_PROPERTYコールでMDIアプリケーション・ウィンドウを参照するには、次のように定数FORMS_MDI_WINDOWを使用します。

Set_Window_Property(FORMS_MDI_WINDOW, POSITION, 5,10)
Set_Window_Property(FORMS_MDI_WINDOW, WINDOW_STATE, MINIMIZE)


SET_WINDOW_PROPERTYの制限事項

•	ウィンドウのサイズまたは位置を変更すると、変更は、フォームを実行中、またはウィンドウのサイズまたは位置を明示的に再度変更するまで有効です。ウィンドウを一度閉じ、もう一度開いても、ウィンドウは設計時のデフォルト値にリセットされません。ウィンドウを設計時のデフォルト値に戻す場合は、設計時のデフォルト値を変数に割り当てる必要があります。


SET_WINDOW_PROPERTYの例

/*

** Built-in:SET_WINDOW_PROPERTY
** Example:See FIND_WINDOW
*/


SHOW_ALERTビルトイン

 例	     関連項目	 すべてのビルトイン

説明

指定された警告を表示し、オプレータが3つの警告ボタンをどれか1つ選択すると数値を返します。

構文:

SHOW_ALERT
  (alert_id  Alert);

SHOW_ALERT
  (alert_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値 オペレータが警告発行時に選択するボタンに対応する数値定数。ボタン・マッピングは警告設計時に指定します。

オペレータが選択するボタン	Form Builderによって返される定数
ボタン1	ALERT_BUTTON1
ボタン2	ALERT_BUTTON2
ボタン3	ALERT_BUTTON3

問合せ入力モード 可

パラメータ

alert_id	警告の作成時にForm Builderによって割り当てられる一意のID。IDを適切な型の変数に戻すには、FIND_ALERTビルトインを使用します。IDのデータ型はAlertです。

alert_name	警告の定義時に付けた名前。その名前のデータ型はVARCHAR2です。


SHOW_ALERTの例

/*

** Built-in:SHOW_ALERT
** Example:See FIND_ALERT and SET_ALERT_PROPERTY
*/


SHOW_EDITORビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定された位置に指定されたエディタを表示して、そのエディタに文字列を渡したり、そのエディタから既存の文字列を取り出したりします。位置が指定されていない場合は、設計時にそのエディタに指定されたデフォルトの位置に表示されます。

構文:

SHOW_EDITOR
  (editor_id    Editor,
   message_in   VARCHAR2,
   message_out  VARCHAR2,
   result       BOOLKAN);

SHOW_EDITOR
  (editor_id    Editor,
   message_in   VARCHAR2,
   x            NUMBER,
   y            NUMBER,
   message_out  VARCHAR2,
   result       BOOLEAN);
SHOW_EDITOR
  (editor_name  VARCHAR2,
   message_in   VARCHAR2,
   message_out  VARCHAR2,
   result       BOOLEAN);
SHOW_EDITOR
  (editor_name  VARCHAR2,
   message_in   VARCHAR2,
   x            NUMBER,
   y            NUMBER,
   message_out  VARCHAR2,
   result       BOOLEAN);

ビルトイン・タイプ  OUTパラメータ（resultおよびmessage_out）を2つ返す制限なしプロシージャ

問合せ入力モード 可

パラメータ

editor_id	エディタ作成時にForm Builderによってそのエディタに割り当てられた一意のIDを指定します。FIND_EDITORビルトインを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型はEditor型です。

editor_name	ユーザーがエディタを定義した時にそのエディタに付けた名前を指定します。その名前のデータ型はVARCHAR2です。

message_in	VARCHAR2型の必須INパラメータを指定します。このパラメータにはNULL値を渡すことができます。また、テキスト項目や変数も参照できます。

x	エディタのX座標を指定します。この引数はINTEGERで指定します。

y	エディタのY座標を指定します。この引数はINTEGERで指定します。

message_out	VARCHAR2型の必須OUTパラメータを指定します。また、テキスト項目や変数も参照できます。オペレータがエディタを取り消すと、resultはFALSEに、message_outはNULLになります。

result	BOOLEAN型の必須OUTパラメータを指定します。オペレータがエディタを受け入れると、resultはTRUEになります。オペレータがエディタを取り消すと、resultはFALSEに、message_outはNULLになります。


SHOW_EDITORの制限事項

•	message_outに指定された変数またはテキスト項目の長さによってエディタが受け入れられる最大文字数が決まるため、message_outの長さはmessage_inの長さ以上にしてください。

•	message_inパラメータの値は、エディタに渡されるときにForm Builderによって必ずVARCHAR2に変換されます。しかし、ユーザーがmessage_outをVARCHAR2以外のオブジェクトに渡す場合は、まずその値をある変数に渡して変換し、次にPL/SQL関数TO_DATEまたはTO_NUMBERを使用してその変数上で型変換を実行する必要があります。

•	横幅には、少なくともエディタ・ウィンドウ下部のボタンが表示できる長さを指定してください。


SHOW_EDITORの例

/*

** Built-in:SHOW_EDITOR
** Example:Accept input from the operator in a user-defined
**            editor.Use the system editor if the user has
**            checked the "System_Editor" menu item under the
**            "Preferences" menu in our custom menu module.
*/
DECLARE
  ed_id   Editor;
  mi_id   MenuItem;
  ed_name VARCHAR2(40);
  val     VARCHAR2(32000);
  ed_ok   BOOLEAN;
BEGIN
  mi_id := Find_Menu_Item('PREFERENCES.SYSTEM_EDITOR');
  IF Get_Menu_Item_Property(mi_id,CHECKED) = 'TRUE' THEN
    ed_name := 'system_editor';
  ELSE
    ed_name := 'my_editor1';
  END IF;

  ed_id := Find_Editor( ed_name );
  /*
  ** Show the appropriate editor at position (10,14) on the
  ** screen.Pass the contents of the :emp.comments item
  ** into the editor and reassign the edited contents if
  ** 'ed_ok' returns boolean TRUE.
  */
  val := :emp.comments;
  Show_Editor( ed_id, val, 10,14, val, ed_ok);
  IF ed_ok THEN
    :emp.comments := val;
  END IF;
END;


SHOW_KEYSビルトイン

 例	     関連項目	 すべてのビルトイン

説明

「キー」画面を表示します。オペレータがファンクション・キーを押すと、Form BuilderによってSHOW_KEYSビルトインが起動される前のフォームが再表示されます。

構文:

SHOW_KEYS;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


SHOW_KEYSの例

/*

** Built-in:SHOW_KEYS
** Example:BEGIN
 Show_Keys;
END;


SHOW_LOVビルトイン

 例	   制限事項	    関連項目	 すべてのビルトイン

説明

指定された位置に値リスト（LOV）ウィンドウを表示し、オペレータがリストから値を選択した場合はTRUEを、オペレータがリストを取り消して画面から消すとFALSEを返します。

構文:

SHOW_LOV
  (lov_id  LOV);

SHOW_LOV
  (lov_id  LOV,
   x       NUMBER,
   y       NUMBER);
SHOW_LOV
  (lov_name  VARCHAR2);
SHOW_LOV
  (lov_name  VARCHAR2,
   x         NUMBER,
   y         NUMBER);

ビルトイン・タイプ  制限なしファンクション

戻り値 BOOLEAN

問合せ入力モード 可

パラメータ

lov_id	値リスト作成時にForm Builderによってその値リストに割り当てられた一意のIDを指定します。FIND_LOVビルトインを使用すると、このIDを適切な型の変数に返すことができます。このIDのデータ型は値リスト型です。

lov_name	ユーザーが値リストを定義したときにその値リストに付けた名前。その名前のデータ型はVARCHAR2です。

x	値リストのX座標を指定します。

y	値リストのY座標を指定します。

使用上の注意

値リストを表示するためにSHOW_LOVを使用すると、Form Builderは値リストの「自動スキップ」プロパティを無視します。

カーソルを次のナビゲーション項目に移動する場合は、LIST_VALUESビルトインを使用します。


SHOW_LOVの制限事項

lov_name引数を指定せず、かつ現項目に関連付けられた値リストが存在しない場合は、Form Builderによってエラーが出力されます。

値リストの基礎を形成するレコード・グループにレコードが1つも含まれていない場合は、SHOW_LOVのBOOLEAN戻り値はFALSEになります。


SHOW_LOVの例

/*

** Built-in:SHOW_LOV
** Example:Display a named List of Values (LOV)
*/
DECLARE
  a_value_chosen BOOLEAN;
BEGIN
  a_value_chosen := Show_Lov('my_employee_status_lov');
  IF NOT a_value_chosen THEN
    Message('You have not selected a value.');
    Bell;
    RAISE Form_Trigger_Failure;
  END IF;
END;


SHOW_MENUビルトイン

 例	   制限事項	 すべてのビルトイン

説明

現行のメニューが現在表示されていなければ表示します。ただし、表示されたメニューはアクティブになりません。

SHOW_MENUはメニューをアクティブにしないため、メニューで現行のキャンバスの一部を隠すことはできません。したがって、現行のキャンバスがメニューの上に被さっている場合は、メニュー全体またはメニューの一部が画面に表示されません。

構文:

SHOW_MENU;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


SHOW_MENUの制限事項

このビルトインを使用できるのは、文字モード環境のみです。


SHOW_MENUの例

/*

** Built-in:SHOW_MENU
** Example:Display the menu if no canvas overlays it.
*/
BEGIN
  Show_Menu;
END;


SHOW_VIEWビルトイン

 例	     関連項目	 すべてのビルトイン

説明

所定のキャンバスを、キャンバスの「キャンバス上のビューポートのX位置」および「キャンバス上のビューポートのY位置」プロパティの設定によって指定された座標に表示します。そのビューがすでに表示されている場合は、SHOW_VIEWによって同じウィンドウ内の他のビューの一番手前にそのビューが移動します。

構文:

SHOW_VIEW
  (view_id  ViewPort);

SHOW_VIEW
  (view_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

view_id	Form Builderによりオブジェクト作成時にそのビューに割り当てられる一意のIDを指定します。FIND_VIEWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はViewPort型です。

view_name	ユーザーがビューを定義したときにそのビューに付けた名前を指定します。その名前のデータ型はVARCHAR2です。


SHOW_VIEWの例

/*

** Built-in:SHOW_VIEW
** Example:Programmatically display a view in the window to
**            which it was assigned at design time.
*/
BEGIN
  Show_View('My_Stacked_Overlay');
END;


SHOW_WINDOWビルトイン

 例	     関連項目	 すべてのビルトイン

説明

所定のウィンドウを、任意で取り込まれたXY座標か、ウィンドウの現在のXY座標に表示します。指定されたウィンドウがモーダル・ウィンドウの場合は、SHOW_WINDOWがモーダル・ウィンドウの最初のナビゲート可能項目へのGO_ITEMコールとして実行されます。

構文:

SHOW_WINDOW
  (window_id  Window);

SHOW_WINDOW
  (window_id  Window,
   x          NUMBER,
   y          NUMBER);
SHOW_WINDOW
  (window_name  VARCHAR2);
SHOW_WINDOW
  (window_name  VARCHAR2,
   x            NUMBER,
   y            NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

window_id	Form Builderがウィンドウ作成時にそのウィンドウに割り当てられる一意のIDを指定します。FIND_WINDOWのビルトインを使用して、そのIDを適切なタイプの変数に戻します。このIDのデータ型はWINDOW型です。

window_name	ユーザーがウィンドウを定義したときにそのウィンドウに付けた名前を指定します。その名前のデータ型はVARCHAR2です。

x	ウィンドウのX座標を指定します。この引数はINTEGERで指定します。

y	ウィンドウのY座標を指定します。この引数はNUMBERで指定します。


SHOW_WINDOWの例

/*

** Built-in:SHOW_WINDOW
** Example:Override the default (x,y) coordinates for a
**            windows location while showing it.
*/
BEGIN
  Show_Window('online_help',20,5);
END;


SYNCHRONIZEビルトイン

 例	   制限事項	 すべてのビルトイン

説明

端末の画面をフォームの内部状態と同期化します。つまり、SYNCHRONIZEは、画面の内部表現としてForm Builderが保持している情報を反映するように画面上の表示を更新します。

構文:

SYNCHRONIZE;

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


SYNCHRONIZEの制限事項

次の条件が両方ともTrueの場合にのみ、SYNCHRONIZEは画面上の表示を更新します。

•	Form Builderがフォーム階層の項目レベルにある（すなわち、SYSTEM.CURRENT_ITEMが NULLではない）場合。


SYNCHRONIZEの例

/*

** Built-in:  SYNCHRONIZE
** Example:   Achieve an odometer effect by updating the
**            screen as an items value changes quickly.
**            Without synchronize, the screen is typically
**            only updated when Form Builder completes all trigger
**            execution and comes back for user input.
*/
BEGIN
  FOR j IN 1..1000 LOOP
    :control.units_processed := j;
    SYNCHRONIZE;
    Process_Element(j);
  END LOOP;
END;


TERMINATEビルトイン

制限事項	すべてのビルトイン

説明

TERMINATEによって、フォームまたはダイアログ・ボックスへの入力が終了されます。この機能は、オペレータが「アクセプト」を押すのと同じです。

構文:

PROCEDURE TERMINATE;

ビルトイン・タイプ   制限付きプロシージャ

パラメータ

なし


TERMINATEの制限事項

Terminateは「パラメータ値入力」ダイアログにのみ適用されます。


TO_VARIANTビルトイン

すべてのビルトイン

説明

OLEバリアントを作成し、それに値を割り当てます。ファンクションのバージョンは4つ存在します。

構文:

FUNCTION TO_VARIANT
  (newval NUMBER,
   vtype VT_TYPE
   persistence BOOLEAN)
RETURN newvar OLEVAR;

...または...

FUNCTION TO_VARIANT
  (newval VARCHAR2,
   vtype VT_TYPE
   persistence BOOLEAN)
RETURN newvar OLEVAR;

...または...

FUNCTION TO_VARIANT
  (source_table,
   vtype VT_TYPE
   arrspec VARCHAR2, persistence BOOLEAN)
RETURN newvar OLEVAR;

...または...

FUNCTION TO_VARIANT
  (var OLEVAR,
   vtype VT_TYPE
   arrspec VARCHAR2, persistence BOOLEAN)
RETURN newvar OLEVAR;

ビルトイン・タイプ  制限なしファンクション

戻り値  新しく作成されたOLEバリアント

パラメータ

newval	新しく作成されるOLEバリアントに与えられる値です。
vtype	新しく作成されるバリアントに対して与えられるOLE VT_TYPEです。 これはオプションのパラメータです。指定されない場合、ファンクションのNUMBERバージョンのデフォルト値はVT_R8です。VARCHAR2バージョンに対しては、デフォルト値はVT_BSTRです。表バージョンに対しては、表のPL/SQL型によってデフォルト値が決まります。OLEVARバージョンに対しては、デフォルト値はソース・バリアントの型です。
persistence	作成後のバリアントの永続性を制御します。ブール値がTRUEの場合、永続としてバリアントが作成されます。値がFALSEの場合、非永続してバリアントが作成されます。 これはオプションのパラメータです。指定されない場合のデフォルト値は非永続です。
source_table	新しく作成されるバリアント表の範囲と値を確定するために使用される既存のPL/SQL表です。ソース表のタイプは何であってもかまいません。
arrspec	新しいバリアントの作成に使用される、選択済みの要素またはソース表の要素の種類を示します。下限は常に1から始まります。詳細は、OLE配列の指定子を参照してください。 これはオプションのパラメータです。指定されない場合、ソース表全体またはソース・バリアント全体が使用されます。
var	その値が新しいバリアントに与えられる既存のOLEバリアント。このソース・バリアントは表であってもかまいません。
使用上の注意

•	このファンクションは、まず空のバリアントを作成し、次に値を与えます。このファンクションの働きはCREATE_VAR操作とSET_VAR操作とを組み合わせたものです。

•	このTO_VARIANTファンクションは、VAR_TO_*ファンクションの逆バージョンと考えることもできます。

•	このファンクションのOLEVARバージョンは、PL/SQLの等価の値ではなく、既存のOLEバリアントをソースとして使用する点で、NUMBER、VARCHAR2および表の各バージョンとは異なることに注意してください。


UNSET_GROUP_SELECTIONビルトイン

例	   関連項目	すべてのビルトイン

構文:

PROCEDURE UNSET_GROUP_SELECTION
  (recordgroup_id  RecordGroup,
   row_number      NUMBER);

PROCEDURE UNSET_GROUP_SELECTION
  (recordgroup_name  VARCHAR2,
   row_number        NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

説明

指示されたレコード・グループ内の指定行のマークを解除します。この手順により、前のSET_GROUP_SELECTIONのコールによりプログラム的に選択されている行のマークを解除します。

行番号が1から順に付けられます。たとえば、行3、8および12を選択すると、Form Builderではこれらの行が選択1、2および3とみなされます。RESET_GROUP_SELECTIONビルトインをコールすることによりグループ全体の行選択を取り消せます。

パラメータ

recordgroup_id	Form Builderによりレコード・グループ作成時にそのコード・グループに割り当てられる一意のIDを指定します。FIND_GROUPビルトインを使用して、そのIDを変数に戻します。そのIDのデータ型はRecordGroupです。

recordgroup_name	ユーザーがレコード・グループ作成時に与えたレコード・グループ名を指定します。その名前のデータ型はVARCHAR2です。

row_number	ユーザーが選択するレコード・グループ行の番号を指定します。ユーザーが指定する値はNUMBERです。


UNSET_GROUP_SELECTIONの例

/*

** Built-in:UNSET_GROUP_SELECTION
** Example:Clear all of the even rows as selected in the
**            record group whose id is passed-in as a
**            parameter.
*/
PROCEDURE Clear_Even_Rows ( rg_id RecordGroup ) IS
BEGIN
  FOR j IN 1..Get_Group_Row_Count(rg_id) LOOP
    IF MOD(j,2)=0 THEN
      Unset_Group_Selection( rg_id, j );
    END IF;
  END LOOP;
END;


UPビルトイン

関連項目	すべてのビルトイン

説明

順序番号が次に小さいレコード内にある現項目のインスタンスにナビゲートします。

構文:

PROCEDURE UP;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


UPDATE_CHARTビルトイン

すべてのビルトイン

説明

データ・ブロックは、問合せを受けたり、変更を加えられたりするたびに更新されます。デフォルトでは、ブロックが更新されると、そのデータ・ブロックを基にしたすべてのグラフが自動的に更新されます。UPDATE_CHARTビルトインを使用すると、グラフの基になっているデータ・ブロックが更新されていない場合でも、グラフ項目を明示的に更新できます。たとえば、データ・ブロック内でまだ発生していない変更を反映するようにグラフを更新できます。

構文:

PROCEDURE UPDATE_CHART
  (chart_name VARCHAR2,
   param_list_id TOOLS.PARAMLIST
);

PROCEDURE UPDATE_CHART
  (chart_name VARCHAR2,
   param_list_name VARCHAR2
);

PROCEDURE UPDATE_CHART
  (chart_id FORMS4C.ITEM,
   param_list_id TOOLS.PARAMLIST
);

PROCEDURE UPDATE_CHART
  (chart_id FORMS4C.ITEM,
   param_list_name VARCHAR2
);

PROCEDURE UPDATE_CHART
  (chart_id FORMS4C.ITEM
);

PROCEDURE UPDATE_CHART
  (chart_name VARCHAR2
);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

chart_id	グラフの一意のIDを指定します。

chart_name	グラフの一意の名前を指定します。

param_list_id	グラフ・パラメータ・リストの一意のIDを指定します。

param_list_name	グラフ・パラメータ・リストの一意の名前を指定します。


UPDATE_RECORDビルトイン

制限事項	すべてのビルトイン

説明

On-Updateトリガーからコールされると、ポストおよびコミット・トランザクション処理中にデータベース内のレコードを更新するデフォルトのForm Builderの処理が開始されます。

このビルトインは、主に非Oracleデータ・ソースに対して実行されるアプリケーション用に組み込まれます。

構文:

PROCEDURE UPDATE RECORD;

ビルトイン・タイプ   制限付きプロシージャ

問合せ入力モード 不可

パラメータ

なし


UPDATE_RECORDの制限事項

On-Updateトリガーにおいてのみ有効です。


USER_EXITビルトイン

例	   関連項目	すべてのビルトイン

説明

user_exit_stringで命名したユーザー・イグジットをコールします。

構文:

PROCEDURE USER_EXIT
  (user_exit_string  VARCHAR2);

PROCEDURE USER_EXIT
  (user_exit_string  VARCHAR2,
   error_string      VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

user_exit_string	パラメータなど、ユーザーがコールするユーザー・イグジット名を指定します。

error_string	そのユーザー・イグジットが失敗したときにForm Builderに表示されるユーザー定義エラー・メッセージを指定します。


USER_EXITの例

/*

** Built-in:USER_EXIT
** Example:Invoke a 3GL program by name which has been
**            properly linked into your current Form Builder
**            executable.The user exit subprogram must parse
**            the string argument it is passed to decide what
**            functionality to perform.
*/
PROCEDURE Command_Robotic_Arm( cmd_string VARCHAR2 ) IS
BEGIN
  /*
  ** Call a C function 'RobotLnk' to initialize the
  ** communication card before sending the robot a message.
  */
  User_Exit('RobotLnk INITIALIZE Unit=6,CmdToFollow=1');
  IF NOT Form_Success THEN
    Message('Failed to initialize Robot 6');
    RAISE Form_Trigger_Failure;
  END IF;
  /*
  ** Pass the string argument as a command to the robot
  */
  User_Exit('RobotLnk SEND Unit=6,Msg='||cmd_string );
  IF NOT Form_Success THEN
    Message('Command not understood by Robot 6');
    RAISE Form_Trigger_Failure;
  END IF;
  /*
  ** Close the robot's communication channel
  */
  User_Exit('RobotLnk DEACTIVATE Unit=6');
  IF NOT Form_Success THEN
    Message('Failed to Deactivate Robot');
    RAISE Form_Trigger_Failure;
  END IF;

  /*
  ** The user exit will deposit a timing code into the item
  ** called 'CONTROL.ROBOT_STATUS'.
  */
  Message('Command Successfully Completed by Robot 6'||
      ' in '||TO_VARCHAR2(:control.robot_timing)||
      ' seconds.');
END;


VALIDATEビルトイン

例	   関連項目	すべてのビルトイン

説明

VALIDATEを使用すると、Form Builderでは、指示された妥当性チェックの有効範囲について即時、妥当性チェック処理が強制的に実行されます。

構文:

PROCEDURE VALIDATE
  (validation_scope  NUMBER);

ビルトイン・タイプ:

制限なしプロシージャ

問合せ入力モード 可

パラメータ

validation scope	次のいずれかの有効範囲を指定します。

DEFAULT_SCOPE  実行時のプラットフォームが判別したデフォルト有効範囲について標準妥当性チェックを実行します。

注意: ユーザーがSET_FORM_PROPERTY(VALIDATION UNIT)によって有効範囲を変更し、次にVALIDATE(DEFAULT_SCOPE)をコールすると、フォーム・モジュールで定義されたデフォルト有効範囲を上書きすることになります。この場合、Form Builderではデフォルト有効範囲では妥当性チェックが行われず、SET_FORM_PROPERTYによって定義された有効範囲で妥当性チェックが行われます。

FORM_SCOPE  現フォームについて標準の妥当性チェックを実行します。

BLOCK_SCOPE  現ブロックについて標準の妥当性チェックを実行します。

RECORD_SCOPE 現レコードについて標準の妥当性チェックを実行します。

ITEM_SCOPE  現項目について標準の妥当性チェックを実行します。

実行時の動作に関する注意

妥当性チェックの実行時に無効なフィールドが検出されると、カーソルはそのフィールドに移動せずに、元の位置に留まります。


VALIDATEの例

/*

** Built-in:VALIDATE
** Example:Deposits the primary key value, which the user
**           has typed, into a global variable, and then
**           validates the current block.
** Trigger:When-New-Item-Instance
*/
BEGIN
  IF :Emp.Empno IS NOT NULL THEN
   :Global.Employee_Id := :Emp.Empno;
    Validate(block_scope);
      IF NOT Form_Success THEN
        RAISE Form_Trigger_Failure;
      END IF;
    Execute_Query;
  END IF;
END;


VARPTR_TO_VAR

すべてのビルトイン

説明

バリアント・ポインタを通常のバリアントに変更します。

構文:

FUNCTION VARPTR_TO_VAR
  (variant OLEVAR, vtype VT_TYPE)
RETURN changed OLEVAR;

ビルトイン・タイプ  制限なしファンクション

戻り値  変換されたバリアント

パラメータ

variant	バリアントに変換されるOLEバリアント・ポインタ。
vtype	変換されるバリアントに与えられるOLE VT_TYPE。 これはオプションのパラメータです。指定されない場合のデフォルト値はVT_VARIANTです。
使用上の注意

•	このファンクションは、バリアントからVT_BYREFの型指定を削除します。

•	バリアントの型がVT_BYREFでなかった場合、バリアントはvtypeで指定された型へのアドレスを保持すると見なされ、参照解除されます。

•	ポインタがNULLであったか、バリアントがVT_NULL型であった場合、VT_EMPTYが戻されます。


VAR_TO_TABLE

すべてのビルトイン

説明

OLE配列バリアントを読み取り、PL/SQL表をそこから移入します。

構文:

PROCEDURE VAR_TO_TABLE
  (var OLEVAR,
   target_table,
   arrspec VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

パラメータ

var	ソース配列であるOLEバリアント。
target_table	移入されるPL/SQL表。
arrspec	ソース配列のどの行、列または要素が使用されるかを示します。詳細は、OLE配列の指定子を参照してください。 これはオプションのパラメータです。指定されない場合、ソース配列内の全要素が使用されます。
使用上の注意

その他のデータ型上での同様の操作については、VAR_TO_typeファンクションを使用します。


VAR_TO_<型>

すべてのビルトイン

説明

OLEバリアントを読み取り、その値を等価のPL/SQL型に変換します。

CHAR型、NUMBER型およびOBJ型のそれぞれに対して、3つのバージョンのファンクションが存在します（型における値によって示されます）。

構文:

FUNCTION VAR_TO_CHAR
  (var OLEVAR, arrspec VARCHAR2)
RETURN retval VARCHAR2;

...または...

FUNCTION VAR_TO_NUMBER
  (var OLEVAR, arrspec VARCHAR2)
RETURN retval NUMBER;

...または...

FUNCTION VAR_TO_OBJ
  (var OLEVAR, arrspec VARCHAR2)
RETURN retval OLEOBJ;

ビルトイン・タイプ  制限なしファンクション

戻り値   その値が等価のPL/SQLタイプに変換されたバリアント。戻り値の型、どのバージョンのファンクションを選択したかによって異なることに注意してください。

パラメータ

var	読み取られるOLEバリアント。
arrspec	このパラメータは、OLEバリアントが配列の場合にのみ使用されます。このパラメータは、配列のどの要素を読み込んで、返すかを示します。 詳細は、OLE配列の指定子を参照してください。
使用上の注意

•	表を戻すには、VAR_TO_TABLEプロシージャを使用します。

•	このファンクションのVAR_TO_OBJバージョンでは、ローカル（非永続）のオブジェクトが戻されます。


VAR_TO_VARPTR

すべてのビルトイン

説明

既存のバリアントを指すOLEバリアントを作成します。

構文:

FUNCTION VAR_TO_VARPTR
  (variant OLEVAR, vtype VT_TYPE)
RETURN newpointer OLEVAR;

ビルトイン・タイプ  制限なしファンクション

戻り値  作成されたバリアント

パラメータ

variant	指示対象となる既存のOLEバリアント。
vtype	作成されるOLEバリアントに割り当てられる型。 割り当て可能な型はVT_BYREF、VT_PTRおよびVT_NULLです。 これはオプションのパラメータです。指定されない場合のデフォルト値はVT_BYREFです。
使用上の注意

•	指示先のバリアントがVT_EMPTY型である場合、ファンクション内でのvtypeの指定に関係なく、常にVT_NULL型のポインタが作成されます。

•	vtypeがVT_BYREFとして指定されるか、あるいはvtypeのデフォルトがVT_BYREFである場合、作成されるポインタはVT_BYREF型にソース・バリアントの型を加えたものになります。

•	vtypeがその中にVT_BYREFを持たない場合、作成されるポインタはVT_PTR型のものになり、バリアント内部の内容を指します。


VBX.FIRE_EVENT

例	  制限事項	  関連項目	すべてのビルトイン

説明

VBXコントロール用のイベントを呼び出します。

構文:

PROCEDURE VBX.FIRE_EVENT
  (item_id       ITEM,
   event_name    VARCHAR2,
   paramlist_id  PARAMLIST);

PROCEDURE VBX.FIRE_EVENT
  (item_id         ITEM,
   event_name      VARCHAR2,
   paramlist_name  VARCHAR2);
PROCEDURE VBX.FIRE_EVENT
  (item_name     VARCHAR2,
   event_name    VARCHAR2,
   paramlist_id  PARAMLIST);
PROCEDURE VBX.FIRE_EVENT
  (item_name       VARCHAR2,
   event_name      VARCHAR2,
   paramlist_name  VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

event_name	VBXコントロールに送信されるVBXイベントの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

paramlist_id	パラメータ・リスト作成時に、Form Builderにより割り当てられる一意のIDを指定します。そのIDのデータ型は、PARAMLISTです。

paramlist_name	パラメータ・リスト・オブジェクトの定義時に与える名前。その名前のデータ型は、VARCHAR2文字列です。


VBX.FIRE_EVENTの制限事項

Microsoft Windowsにおいてのみ有効です。


VBX.FIRE_EVENTの例

/*

** Built-in:VBX.FIRE_EVENT
** Example:The VBX.FIRE_EVENT built-in triggers a SpinDown
**            event for the SpinButton VBX control.
** Trigger:When-Button-Pressed
*/
DECLARE
 ItemName VARCHAR2(40) := 'SPINBUTTON';
 PL_ID  PARAMLIST;
 PL_NAME  VARCHAR2(20) := 'EName';
BEGIN
 PL_ID := Get_Parameter_List(PL_NAME);
 IF id_null(PL_ID) THEN
  PL_ID := Create_Parameter_List(PL_NAME);
 END IF;
 VBX.FIRE_EVENT(ItemName,'SpinDown',PL_ID);
END;


VBX.GET_PROPERTY

例	  制限事項	  関連項目	すべてのビルトイン

説明

VBXコントロールからプロパティの値を取得します。

構文:

FUNCTION VBX.GET_PROPERTY
  (item_id   ITEM,
   property  VARCHAR2);

FUNCTION VBX.GET_PROPERTY
  (item_name  VARCHAR2,
   property   VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値  VARCHAR2

問合せ入力モード 可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

property	VBXコントロール用のプロパティまたはプロパティ配列の要素を指定します。どのVBXコントロールについても、一連のVBXプロパティが存在します。VBXプロパティの例としては、幅および高さ、フォントサイズがあります。プロパティのデータ型は、VARCHAR2文字列です。


VBX.GET_PROPERTYの制限事項

Microsoft Windowsにおいてのみ有効です。


VBX.GET_PROPERTYの例

/*

** Built-in:VBX.GET_PROPERTY
** Example:Uses the VBX.GET_PROPERTY built-in to obtain the
**            CURRTAB property of the VBX item named TABCONTROL.
**            The property value of CURRTAB is returned to the
**            TabNumber variable and is used as input in the
**            user-defined Goto_Tab_Page subprogram.
** Trigger:When-Custom-Item-Event
*/
DECLARE
 TabEvent varchar2(80);
 TabNumber char;
BEGIN
 TabEvent := :system.custom_item_event;
 IF (UPPER(TabEvent) = 'CLICK') then
  TabNumber := VBX.Get_Property('TABCONTROL','CurrTab');
  Goto_Tab_Page(TO_NUMBER(TabNumber));
 END IF;
END;


VBX.GET_VALUE_PROPERTY

例	  制限事項	  関連項目	すべてのビルトイン

説明

VBXコントロールのVBXコントロール値プロパティを取得します。

構文:

FUNCTION VBX.GET_VALUE_PROPERTY
  (item_id  ITEM);

FUNCTION VBX.GET_VALUE_PROPERTY
  (item_name  VARCHAR2);

ビルトイン・タイプ  制限なしファンクション

戻り値   VARCHAR2

問合せ入力モード 可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。


VBX.GET_VALUE_PROPERTYの制限事項

Microsoft Windowsにおいてのみ有効です。


VBX.GET_VALUE_PROPERTYの例

/*

** Built-in:VBX.GET_VALUE_PROPERTY
** Example:Passes the VBX Control Value to the user-defined
**            Verify_Item_Value subprogram.Verify_Item_Value
**            ensures the display value is the expected value.
*/
DECLARE
 ItemName VARCHAR2(40) := 'SPINBUTTON';
 VBX_VAL_PROP VARCHAR2(40);
BEGIN
 VBX_VAL_PROP := VBX.Get_Value_Property(ItemName);
 Verify_Item_Value(VBX_VAL_PROP);
END;


VBX.INVOKE_METHOD

例	  制限事項	  関連項目	すべてのビルトイン

構文:

VBX.INVOKE_METHOD(item_id, method_name, w, x, y, z);

PROCEDURE VBX.INVOKE_METHOD(item_name, method_name, w, x, y, z);

ビルトイン・タイプ:

制限なしプロシージャ

問合せ入力モード 可

説明

その項目に対して指定されたメソッドを起動します。そのメソッドに引数が必要な場合は、指定する必要があります。引数の提供順序は、そのVBXコントロールが求める順序で行います。各VBXコントロールに有効な方法、および必要な引数のリストは、そのVBXコントロールに付属するマニュアルで説明されています。

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

method_name	起動対象の方法名を指定します。その名前のデータ型は、VARCHAR2文字列です。

w, x, y, z	VBXコントロールに必要となる可能性のある任意指定の引数を指定します。これらの引数のデータ型は、VARCHAR2文字列です。


VBX.INVOKE_METHODの制限事項

Microsoft Windowsにおいてのみ有効です。


VBX.INVOKE_METHODの例

/*

** Built-in:VBX.INVOKE_METHOD_PROPERTY
** Example:Adds an entry to a combobox.The entry to
**            add to the combobox is the first optional argument.
**            The position where the entry appears is the second
**            optional argument.
*/
DECLARE
 ItemName VARCHAR2(40) := 'COMBOBOX';
BEGIN
 VBX.Invoke_Method(ItemName,'ADDITEM','blue','2');
END;


VBX.SET_PROPERTY

例	  制限事項	  関連項目	すべてのビルトイン

説明

VBXコントロール用の指定プロパティを設定します。

構文:

PROCEDURE VBX.SET_PROPERTY
  (item_id   ITEM,
   property  VARCHAR2,
   value     VARCHAR2);

PROCEDURE VBX.SET_PROPERTY
  (item_name  VARCHAR2,
   property   VARCHAR2,
   value      VARCHAR2);

ビルトイン・タイプ:

制限なしプロシージャ

問合せ入力モード 可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

property	VBXコントロール用のプロパティまたはプロパティ配列の要素を指定します。どのVBXコントロールについても、一連のVBXプロパティが存在します。VBXプロパティの例としては、幅および高さ、フォントサイズがあります。プロパティのデータ型は、VARCHAR2文字列です。

value	そのVBXプロパティに適用される値を指定します。値のデータ型は、VARCHAR2文字列です。


VBX.SET_PROPERTYの制限事項

Microsoft Windowsにおいてのみ有効です。


VBX.SET_PROPERTYの例

/*

** Built-in:VBX.SET_PROPERTY
** Example:Uses the VBX.SET_PROPERTY built-in to set the Index
**            property of the SpinButton VBX control.
** Trigger:When-Button-Pressed
*/
DECLARE
 ItemName VARCHAR2(40) := 'SPINBUTTON';
 VBX_VAL_PROP VARCHAR2(40);
 VBX_VAL  VARCHAR2(40);
BEGIN
 IF :System.Custom_Item_Event = 'SpinDown' THEN
  VBX_VAL_PROP := 'Index';
  VBX_VAL := '5';
  VBX.Set_Property(ItemName,VBX_VAL_PROP,VBX_VAL);
 END IF;
END;


VBX.SET_VALUE_PROPERTY

例	  制限事項	  関連項目	すべてのビルトイン

説明

VBXコントロールのVBXコントロール値プロパティを設定します。

構文:

PROCEDURE VBX.SET_VALUE_PROPERTY
  (item_id   ITEM,
   property  VARCHAR2);

PROCEDURE VBX.SET_VALUE_PROPERTY
  (item_name  VARCHAR2,
   property   VARCHAR2);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

item_id	Form Builderにより項目作成時に割り当てられた一意のIDを指定します。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。このIDのデータ型はITEMです。

item_name	設計時に作成されたオブジェクトの名前を指定します。その名前のデータ型は、VARCHAR2文字列です。

property	Form Builder VBXコントロール値プロパティのプロパティを指定します。どのVBXコントロールについても、一連のVBXプロパティが存在します。VBXプロパティの例としては、幅および高さ、フォントサイズがあります。プロパティのデータ型は、VARCHAR2文字列です。


VBX.SET_VALUE_PROPERTYの制限事項

Microsoft Windowsにおいてのみ有効です。


VBX.SET_VALUE_PROPERTYの例

/*

** Built-in:VBX.SET_VALUE_PROPERTY
** Example:Uses the VBX.SET_VALUE_PROPERTY built-in to set the
**            VBX Control Value property.
*/
DECLARE
 ItemName VARCHAR2(40) := 'SPINBUTTON';
 VBX_VAL_PROP VARCHAR2(40);
BEGIN
 IF :System.Custom_Item_Event = 'SpinDown' THEN
  VBX_VAL_PROP := 'Index';
  VBX.Set_Value_Property(ItemName,VBX_VAL_PROP);
 END IF;
END;


WEB.SHOW_DOCUMENTビルトイン

すべてのビルトイン

構文

SHOW_DOCUMENT(url, target);

ビルトイン・タイプ:制限なしプロシージャ

問合せ入力モードに入る:可

説明

WebアプリケーションのURLおよびターゲット・ウィンドウを指定します。

パラメータ

url	データ型はVARCHAR2です。ロードする文書のURL（Uniform Resource Locator）を指定します。

target	データ型はVARCHAR2です。次のターゲットを1つ指定します。

_SELF 文書を、ソース文書と同じフレームかウィンドウにロードします。

_PARENT ターゲット文書を、ハイパーテキスト参照を含む親ウィンドウかフレームセットにロードします。参照がウィンドウかトップ・レベルのフレームにあると、target _selfと同じになります。

_TOP 文書を、ハイパーテキスト・リンクを含むウィンドウにロードし、現在そのウィンドウに表示されているフレームをすべて置換します。

_BLANK 文書を、名前の付いていないトップ・レベルの新規ウィンドウにロードします。

制限事項:

Webから実行されたフォームの範囲内でのみ使用できます。

例:

/*

** Built-in:WEB.SHOW_DOCUMENT
** Example:Display the specified URL in the target window.
*/
BEGIN
  Web.Show_Document('http://www.abc.com', '_self');
END;


WHERE_DISPLAYビルトイン

制限事項	すべてのビルトイン

説明

Whereメニューのナビゲーション・オプションをトグル・オン、オフにします。全画面メニューでは、このWhereオプションは、メニュー階層におけるオペレータの現在位置についての情報が表示されます。

構文:

PROCEDURE WHERE_DISPLAY;

ビルトイン・タイプ:制限なしプロシージャ

問合せ入力モード 可

パラメータ

なし


WHERE_DISPLAYの制限事項

WHERE_DISPLAYは、全画面メニューで使用する場合のみ有効です。


WRITE_IMAGE_FILEビルトイン

例	  制限事項	  関連項目	すべてのビルトイン

説明

Form Builderのイメージ項目のイメージを指定ファイルに書き込みます。

構文:

WRITE_IMAGE_FILE
 (file_name            VARCHAR2,
  file_type            VARCHAR2,
  item_id              ITEM,
  compression_quality  NUMBER,
  image_depth          NUMBER);

PROCEDURE WRITE_IMAGE_FILE
  (file_name VARCHAR2,
   file_type VARCHAR2,
   item_name VARCHAR2,
   compression_quality NUMBER,
   image_depth NUMBER);

ビルトイン・タイプ   制限なしプロシージャ

問合せ入力モード 可

パラメータ

file_name	そのイメージを格納するファイル名。そのファイル名は、ご使用のオペレーティング・システムの要件に従っている必要があります。

file_type	イメージのファイル・タイプは、BMP、CALS、GIF、JFIF、JPEG、PICT、RAS、TIFFまたはTPICです。このパラメータはVARCHAR2引数をとります。

item_id	ユーザーによるイメージ項目作成時に、Form Builderによりそのイメージ項目に割り当てられた一意のIDです。FIND_ITEMビルトインを使用して、適切な型の変数にそのIDを戻します。データ型はITEMです。

item_name	ユーザーがイメージ項目定義時にそのイメージ項目に与えた名前です。データ型はVARCHAR2です。

compression_quality	Form Builderによりイメージがそのファイル（任意指定）に格納される際、そのイメージに適用する圧縮程度です。データ型はVARCHAR2です。有効な値はNO_COMPRESSION、MINIMIZE_COMPRESSION、LOW_COMPRESSION、MEDIUM_COMPRESSION、HIGH_COMPRESSIONまたはMAXIMIZE_COMPRESSIONです。

image_depth	Form Builderによりイメージがそのファイル（任意指定）に格納される際、そのイメージに適用する深度です。データ型はVARCHAR2です。有効な値は、ORIGINAL_DEPTH、MONOCHROME、GRAYSCALE、LUT（ルックアップ・テーブル）またはRGB（赤、緑、青）です。


WRITE_IMAGE_FILEの制限事項

•	指示されたファイル・タイプは、そのイメージの実際のファイル・タイプとの互換性が必要です。

•	どのファイルについても当てはまることですが、そのイメージを既存ファイルに書き込むと、そのファイルの内容はそのイメージ項目の内容で上書きされます。

•	ファイル・システムまたはデータベースからPCDファイルおよびPCXファイルを読み込むことはできますが、（WRITE_IMAGE_FILEを使用して）イメージ・ファイルをPCD形式やPCX形式でファイル・システムに書き込むことはできません。（ファイル・システムへのイメージの書込み時に制限付きファイル・タイプが使用された場合、Form Builderではイメージ・ファイルをデフォルトのTIFF形式に設定します）。

•	Form Builderイメージ項目からJPEGファイルに書き込むと、本来の解像度が失われます。


WRITE_IMAGE_FILEの例

/* Built-in:WRITE_IMAGE_FILE

**
** Save the contents of an image item out to a file
** on the filesystem in a supported image format.
*/
BEGIN
  WRITE_IMAGE_FILE('output.tif',
                   'TIFF',
                   'emp.photo_image_data',
                   maximize_compression,
                   original_depth);
END;


WRITE_SOUND_FILEビルトイン

制限事項	  関連項目	すべてのビルトイン

説明

指定したサウンド項目のサウンド・データを指定ファイルに書き込みます。

構文:

PROCEDURE WRITE_SOUND_FILE(file_name     VARCHAR2,
                  file_type VARCHAR2,
                  item_id ITEM,
                  compression NUMBER,
                  sound_quality NUMBER,
                  channels NUMBER);

PROCEDURE WRITE_SOUND_FILE(file_name      VARCHAR2,
                 file_type VARCHAR2,
                 item_name VARCHAR2,
                 compression NUMBER,
                 sound_quality NUMBER,
                 channels NUMBER);

ビルトイン・タイプ  制限なしプロシージャ

問合せ入力モード  可

パラメータ

file_name	サウンド・データを書き込みたいフル･パス指定のファイル名。

file_type	そのサウンド・データ・ファイルのファイル・タイプ。有効な値は、AU、AIFF、AIFF-C、およびWAVEです。注意: ファイル・タイプは任意指定ですが、すでにわかっていれば、パフォーマンス向上のために指定してください。フィルタ・タイプを省略すると、Form Builderはデフォルトのファイル・タイプとして、WAVE（Microsoft Windows）、AIFF-C（Macintosh）、またはAU（それ以外のもの）を適用します。

item_id	ユーザーがサウンド項目作成時に、Form Builderにより与えられた一意のID。

item_name	ユーザーがサウンド項目作成時に与えた名前。

compression	Form Builderによりデータがファイルに書き込まれる前にそのサウンド・データを圧縮するかどうかを指定します。有効値は、COMPRESSION_ONおよびCOMPRESSION_OFF、ORIGINAL_SETTING（そのデータのデフォルト圧縮設定を保持）です。圧縮は任意指定です。省略した場合のデフォルト値は、ORIGINAL_SETTINGです。

sound_quality	そのサウンド・データのサンプリング・レートおよび深度の質。指定できる値は、HIGHEST_SOUND_QUALITY、HIGH_SOUND_QUALITY、MEDIUM_SOUND_QUALITY、LOW_SOUND_QUALITY、LOWEST_SOUND_QUALITY、およびORIGINAL_QUALITYです。サウンドの質は任意指定です。省略した場合のデフォルト値はORIGINAL_QUALITYです。

channels	Form Builderによりサウンド・データがファイルに書き込まれる際、モノラルとして書き込むのか、ステレオとして書き込むのかを指定します。有効値は、MONOPHONICおよびSTEREOPHONIC、ORIGINAL_SETTING（そのデータのデフォルト・チャネル設定を保持）です。チャネルは任意指定です。省略した場合のデフォルト値は、ORIGINAL_SETTINGです。


WRITE_SOUND_FILEの制限事項

•	PLAY_SOUNDおよびREAD_SOUND_FILE、WRITE_SOUND_FILEビルトインを使用してサウンド・データを再生またはファイルに保存、あるいはその両方を行うには、そのビルトインのコールを実行する前に、サウンド項目を作成し、その項目にフォーカスを配置してください。そのサウンド項目は設計時にサウンド項目制御によって示されますが、その制御は実行時、エンド・ユーザーに対して機能しません。したがって、各ユーザーが実行時にその制御を見ないように、サウンド項目を、キャンバス上の他のオブジェクトの背後に"隠す必要があります"。（項目にフォーカスを入れる場合、それをNULLキャンバスに割り当てたり、その表示プロパティを「いいえ」に設定することはできません）。たとえば、When-Button-PressedトリガーからREAD_SOUND_FILEビルトインおよびPLAY_SOUNDビルトインをコールするには、READ_SOUND_FILEおよびPLAY_SOUNDをコールする前にビルトイン・プロシージャGO_ITEMへのコールをトリガー・コードに組み込むことで、フォーカスを"非表示"サウンド項目に入れます。


計算項目とは何か?

関連項目

計算項目とは、1つ以上の変数値を伴う計算に基づいて宣言的に値を割り当てる項目です。計算項目の例は、従業員の給与の管理合計であり、これはこの合計を構成する値（従業員一人の給与、ボーナスなど）が変化すると変化します。

「有効な計算項目タイプ」 計算項目は値を格納できる必要があります。次のいずれかの項目タイプを計算項目として定義できます。

•	チェックボックス

•	表示項目

•	リスト項目

•	ラジオ・グループ

•	テキスト項目

•	VBX制御


計算項目による作業のガイドライン

関連項目

•	計算項目は、表示専用の制御項目です。

•	計算項目はデータベース項目にはできません。

•	計算項目の「変更可能」、「マウス・ナビゲート」および「キーボードで移動可能」プロパティは「はい」に設定できますが、「挿入可」および「更新可」プロパティは「はい」に設定できません。


計算モードについて

関連項目

計算項目の値は計算に基づいています。その計算を定義するには、まず計算モード（「サマリー」または「式」）を指定する必要があります。

•	「サマリー」－計算項目の値は、単一ブロック内の単一項目のすべての値のサマリーです。

•	「式」－計算項目の値は1つ以上の値を伴う計算を実行する計算式の結果です。


サマリー計算について

関連項目

計算項目のサマリー計算は、単一データ・ブロック内の単一項目のすべてのレコードに対して実行される単一計算で構成されています。

サマリー計算で作業する場合には、次の2つの類似用語を区別してください。

•	サマリー項目とは、ユーザーが値を割り当てる計算項目です。これは、「単一レコード」プロパティを「はい」に設定した制御ブロック、またはサマリー結果項目と同一のブロックのどちらかに常駐している必要があります。

•	サマリー結果項目の値（つまり、平均値計算、合計値計算など）が集計された後、サマリー項目に割り当てられます。サマリー結果項目は、「全レコードの問合せ」または「サマリーの予備計算」プロパティを「はい」に設定したデータ・ブロックまたは制御ブロックのどちらかに常駐している必要があります。

NULL値  サマリー結果項目のブロックが空白であるか、またはその項目の各インスタンスにNULL値がある場合、その「サマリー・ファンクション」プロパティが「カウント」に設定されていない限りその項目の値はNULLです（「サマリー・ファンクション」プロパティが「カウント」に設定されていると、その項目の値は0（ゼロ））。サマリー項目の計算の便宜上、ブロックが問合せ入力モードにあるとき、および同モードへ選択される段階にあるとき（ON-CLOSEトリガーの起動前まで）、そのブロックの「サマリーの予備計算」プロパティが「はい」に設定されていない限り、そのブロックは空白として扱われます。

有効データ型  サマリー項目の「サマリー・ファンクション」プロパティが「最大」または「最小」でない限り、そのサマリー項目の「データ型」プロパティを「Number」に設定する必要があります。サマリー項目の「サマリー・ファンクション」プロパティが「最大」または「最小」になっていると、そのデータ型は、それに対応付けられたサマリー結果項目の「データ型」プロパティをミラー化してください。たとえば、HIRE_DATE列に最も新しい（つまり最大の）日付を表示する計算項目にはDATEのデータ型が必要です。


計算式計算について

関連項目

計算式計算では、1つ以上のバインド変数または定数を伴う計算を実行することにより、計算項目に値を割り当てます。バインド変数には、フォーム項目、パラメータ、グローバル変数およびシステム変数などがあります。

計算式  計算式項目に値を割り当てる計算を定義するには、その項目の「式」プロパティ内の単一PL/SQL式を提供する必要があります。作成する式は、ビルトインまたはユーザー作成のサブプログラムを参照できます。

「式」プロパティ・フィールドにはPL/SQL文全体は入力できません。Form Builderによりその計算式に内部的に実際の割当てコードが追加されるので、自分でコードを追加したり、セミコロンで計算式を区切らないでください。たとえば、「式」プロパティに式を設定するには、次のようにします。

:emp.sal + :emp.comm

Form Builderによりこれが次のような完全な文に内部的に変換されます。

:emp.gross_comp := (:emp.sal + :emp.comm);

NULL値  計算式項目の値は、（1）エンド・ユーザーがその項目のブロックにナビゲートしておらず、その計算式項目のブロック内のどの項目もPL/SQL文により値を割り当てられていない場合、または（2）その計算式項目のブロックが問合せ入力モードである場合には、NULLとなります。


計算項目の再計算について

関連項目

Form Builderでは、計算に関与するバインド変数の値が、いかなる形であれ変更される場合には、計算項目の再計算が行われるよう自動的にマークされます。

実際の再計算は即時に起こらないことに注意してください。再計算は、その項目がマークされた少し後で、しかも計算項目の新しい値が参照され、エンド・ユーザーに表示される前に行われます。使用しているアプリケーション・ロジックは、特定時刻に行われる計算項目の再計算には依存しません。

レコード状態  計算項目のレコードの状態がたとえNEWであっても、再計算によってその状態が変わることはありません。


サマリー項目の再計算について

関連項目

Form builderでは、そのサマリー結果項目の値が、そのブロックのいずれかの行において挿入、変更または削除された場合には、必ずそのサマリー項目をマークし、再計算が行われるようにします。


計算式項目の再計算について

関連項目

計算式内またはその計算式が参照するユーザー作成サブプログラム内にある非システム・バインド変数（つまり、グローバル変数、パラメータまたは項目）に変更があった場合には必ず、計算式項目が再計算が行われるようマークされます。（計算式が参照する）ビルトイン・ファンクションまたはシステム変数により戻される値が変わっても、Form Builderでは、自動的にその項目に再計算のマークがされないことに注意してください。

間接参照  COPY、NAME_IN、DO_KEYおよびEXECUTE_TRIGGERなどのビルトインを使用すると、バインド変数の間接参照が行われる場合があります。このようなビルトインを計算式の中で使用すると、Form Builderでは、バインド変数が（コンパイル時に）参照されたことが認識されず、そのバインド変数に（実行時に）変更があっても、それに対応付けられた計算項目が再計算用にマークされません。これを避けるには、間接的に参照される（その計算式により直接的または間接的にコールされるプログラム単位内の）各バインド変数に明示的参照をコードします。これには、DUMMY_REFERENCEビルトインを使用します。

temp_sal := NAME_IN('emp.sal');
   DUMMY_REFERENCE(:emp.sal);

注意: DUMMY_REFERENCEは、Form Builderにより認識される参照バインド変数について実行する必要はありません（これにより、関連計算項目は再計算用にマークされます）。

RECALCULATEビルトイン 計算式項目を再計算用に明示的にマークするにはRECALCULATEを使用します。これは、計算式がシステム変数またはビルトイン・ファンクションを参照する場合で、そのシステム変数またはビルトイン・ファンクションに異なる値を戻す変化が起こった場合に、使用してください。計算式項目によりRECALCULATEがコールされるとき、すぐには再計算されないことに注意する必要があります。項目は、次に参照されるときに再計算されることもあります。

警告: 計算式項目に関して、計算項目Aの計算式により、計算項目Bの値に影響を与えるバインド変数の値を変えるサブプログラムがコールされるというシナリオは避けてください。このような場合、（Form Builderでは、項目AおよびBが正確にいつ再計算されるかが保証されないため）そのバインド変数の値が、項目AまたはBの値に対する影響について正確であることを確実にはできません。


計算項目の作成

次のステップ	  例	  制限事項	  関連項目

計算項目を作成する方法:

1	オブジェクト・ナビゲータで、新規インタフェース項目を作ります（それが制御項目であることを確認してください）。

ヒント: 項目のデータ型は、その項目の値の計算に使用する計算と互換性が必要です。たとえば、「合計」ファンクションで項目値を計算するときには、データ型がNumberのインタフェース項目を作成します。

2	項目のオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

3	「計算」ノードの下で、その項目の「計算モード」プロパティを「式」または「サマリー」に設定します。

4	次に、「計算モード」の設定値およびその内容について説明します。

•	式: 「式」プロパティをクリックし、「...」ボタンをクリックして、「式」ダイアログを表示し、次にPL/SQL式を入力してその計算式を定義します。「OK」をクリックして、その式をコンパイルします。

•	サマリー: 「サマリー・ファンクション」ポップリストを使用してサマリー・ファンクションを選択し、次に「サマリー結果ブロック」および「サマリー結果項目」ポップリストを使用して、計算項目の値を計算し集計するブロックおよび項目を選択します。


計算項目の作成の制限事項

•	次の項目プロパティ（データベース項目、挿入可、主キー、必須、更新可およびNULLのみ更新）は、コンパイル時にデフォルトで「いいえ」に設定されます。

•	次の項目プロパティ（項目のコピー値、初期値、最高許容値および最低許容値）は、コンパイル時に無視されます。

•	PL/SQLでは計算項目に直接値を割り当てられません。

•	エンド・ユーザーは計算項目を挿入または変更できません。

•	計算項目を値リストの戻り項目にはできません。

•	計算項目を、マスター項目または従属ミラー項目にはできません。

•	マスター・ブロック内の計算式項目の値がディテール・ブロック項目の値に依存しマスター・ブロックの1つ以上の行が表示される場合、非現行マスター・ブロックの行の計算項目の値は無意味です。

•	計算式（およびその計算式がコールするすべてのユーザー作成サブプログラム）は、制限ビルトイン・サブプログラムを参照できません。

•	計算式（およびその計算式がコールするすべてのユーザー作成サブプログラム）は、DML文を実行できません。

•	フォームの計算項目には循環依存性を作成できません。

•	When-Validate-Itemトリガーは計算項目とともに使用できません。計算項目は定義からいえば有効項目なので、このトリガー・イベントは絶対に発生しません。


計算項目作成の例

例

/* Example 1: Define a summary calculation to display the

** maximum salary of all employees. Create display item MAX_SAL
** in the EMP block, set its Calculation Mode property to
** Summary, set its Summary Function property to Max, set its
** Summarized Block property to EMP, and set its Summarized
** Item property to SAL.
**
** Example 2: Define a formula calculation to compute an
** employee's gross total compensation. Create display item
** TOTAL_COMP in the EMP block, set its Calculation Mode
** property to Formula, and set its Formula property to the
** following PL/SQL expression:
*/
   :emp.sal + :emp.comm

/* Example 3: Define a Formula item to compute a different
** value for total compensation depending on the block where
** the cursor currently is positioned. Form has 3 blocks:
** 2 data blocks (EMP1 and EMP2), and one control block
** (COMP). Create a display item TOTAL_COMP in the COMP block
** that displays total compensation. Set the Formula property
** for COMP.TOTAL_COMP to an expression (a function call):
*/
   total_comp_func

/* Function TOTAL_COMP_FUNC is defined as follows: */

   FUNCTION total_comp_func RETURN number IS
   BEGIN
     IF :system.cursor_block = 'emp1' THEN
        RETURN :emp1.sal + :emp1.comm;
     END IF;
     IF :system.cursor_block = 'emp2' THEN
        RETURN :emp2.sal + :emp2.comm;
     END IF;
     RETURN null;
   END;

/* Form Builder automatically recalculates COMP.TOTAL_COMP
** whenever a change occurs to the value of :EMP1.SAL,
** :EMP1.COMM, :EMP2.SAL, or :EMP2.COMM.  Form Builder
** will not, however, recalculate COMP.TOTAL_COMP when an
** end user navigates between blocks, since changes to
** system variables don't automatically cause recalculation.
** To ensure that the correct value always is displayed,
** define a PRE-BLOCK trigger at the form level, containing
** the statement:
*/
   RECALCULATE('comp.total_comp');


データベース・トリガー・エディタ・インタフェース

  関連項目

データベース・トリガー・エディタを使用すると、表のBEFOREトリガーまたはAFTERトリガー、ビューとオブジェクト・ビュー(Oracle8に接続している場合)のINSTEAD OFトリガーを作成および編集できます。

新規トリガーを定義するには:

1	「表所有者」ドロップダウン・リストからユーザー名（スキーマ）を選択します。

2	「表」ドロップダウン・リストから表名を選択します。

「表」ドロップダウン・リストには、「表所有者」フィールドに表示されているユーザーが所有する表の名前リストが表示されます。「表所有者」フィールドで自分以外のユーザー名を選択すると、「表」ドロップダウン・リストには、アクセス権を付与されている表のみが表示されます。

(ビューの場合のみ。）オブジェクト・ビューについてINSTEAD OFトリガーを定義するには、「表」の横にある矢印をクリックしてドロップダウン・リストを表示し、「ビュー」を選択します。次に、「ビュー」ドロップダウン・リストからビュー名を選択します。

3	「新規作成」をクリックして、新しいデータベース・トリガーを作成します。

「名前」ドロップダウン・リストで、新しいトリガーに一意のトリガー名（同じスキーマ内の他のトリガーに対して）が自動的に割り当てられます。トリガー名は変更できます。

「名前」ドロップダウン・リストには、「表」（または「ビュー」）フィールドに表示されている表（またはビュー）に関連付けられているトリガー名のリストが表示されます。このドロップダウン・リストには、自分がアクセス権を持っている表に関連付けられているデータベース・トリガーの名前のみが表示されます。

4	トリガー・オプションを指定します。

次の項では、データベース・トリガーを定義するために、データベース・トリガー・エディタで使用できるさまざまなオプションに関する情報を記載しています。

5	トリガー・オプションとアクションを指定したら、「保存」をクリックしてトリガーをコンパイルします。

トリガー・オプション

BEFORE/AFTER	(表の場合のみ。）SQLコマンドCREATE TRIGGERのBEFOREオプションまたはAFTERオプションに対応します。 実行中のトリガー文(UPDATE、INSERTまたはDELETEなど)に関連して、トリガー本体をいつ起動するかを指定します。BEFOREトリガーは、トリガー文の実行前に起動します。AFTERトリガーは、トリガー文の実行後に起動します。 BEFOREトリガーとAFTERトリガーは、行トリガーと文トリガーの両方に適用します。
INSTEAD OF	(ビューの場合のみ。）SQLコマンドCREATE TRIGGERのINSTEAD OFオプションに対応します。 Oracleでは、トリガー文を実行するかわりに、トリガーを起動します。トリガーによって、挿入、更新または削除などのアクションがビューの実表に対して直接行われます。

「文」チェックボックス

UPDATE INSERT DELETE	トリガー本体を起動するSQL文（トリガー文）のタイプを指定します。指定できるオプションは、UPDATE、INSERTおよびDELETEです。  1つ以上のチェックボックスをチェックして、トリガー文にオプションを組み込みます。 トリガー文でUPDATEを指定した場合、オプションの列リストをトリガー文に組み込むことができます。詳細は、次の「列オプション」を参照してください。 複数のオプションをチェックした場合、条件述語のUPDATING、INSERTINGおよびDELETINGを使用して、トリガー本体に含まれる特定のコード・ブロックを実行できます。詳細は、後述の「トリガー本体」を参照してください。

列オプション

列	(表の場合のみ。）SQLコマンドCREATE TRIGGERのUPDATEトリガー文に含まれるOF句に対応します。 「表」フィールドで選択された表について、列のリストを表示します。このリストは、トリガー文でUPDATEが指定されたときにのみアクティブになります。 このリスト・ボックスの列を1つ以上クリックすると、選択した列のどれか1つが更新されたときにのみトリガーが起動するように指定されます。表の任意の列が更新されたときにトリガーを起動したい場合は、リスト内の列名をクリックしないでください。 このオプションは、INSTEAD OFトリガーでは使用できません。Oracleでは、UPDATEによってビューの任意の列に含まれる値が変更されるたびに、INSTEAD OFトリガーを起動します。 Oracle8オブジェクト:ネストされた表またはLOB列は指定できません。

各（文）オプション

文	SQLコマンドCREATE TRIGGERの各（文）オプションに対応します。  トリガーを文トリガーとして指定します。Oracleでは、WHEN句で定義されたオプションのトリガー制約が満たされている場合、トリガー文の発行時に1度のみ文トリガーを起動します（トリガー文の対象となる行の数に関係なく）。 このオプションは、INSTEAD OFトリガーでは使用できません。

各(行)オプション

行	SQLコマンドCREATE TRIGGERの各（行）オプションに対応します。  トリガーを行トリガーとして指定します。Oracleでは、トリガー文の対象となる行ごとに1度のみ行トリガーを起動し、WHEN句で定義されたオプションのトリガー制約を満たします。
相関名	相関名を指定します。行トリガーのトリガー本体およびWHEN句で相関名を使用して、現在行の古い値または新しい値のみを参照できます。デフォルトの相関名はOLDとNEWです。行トリガーが、OLDまたはNEWという名前の表に関連付けられている場合、このオプションを使用して別の相関名を指定し、表名と相関名が重複しないようにします。このオプションは、行トリガーでのみ使用できます。
OLDの相関名	OLDという名前の表と名前が重複しないように相関名を指定します。
NEWの相関名	NEWという名前の表と名前が重複しないように相関名を指定します。
WHEN句の論理式	(表の場合のみ。）SQLコマンドCREATE TRIGGERのWHEN句に含まれるブールSQL式に対応します。このオプションは、行トリガーでのみ使用できます。 オプションのトリガー制限を指定します。 WHEN句にブールSQL式が組み込まれると、その式はトリガーの対象となる各行について評価されます。1つの行について式がTRUEに評価されると、トリガー本体が起動します。1つの行について式がFALSEまたはNOT TRUE(つまり、NULLと同様に不明)に評価されると、トリガー本体は起動しません。 Oracle8オブジェクト:オブジェクト列やその属性、VARRAY、ネストされた表またはLOB列を参照できます。トリガー制限内でPL/SQL関数またはメソッドをコールすることはできません。

トリガー・アクションを次の場所で指定します

トリガー本体	トリガーを起動するためにOracleが実行するPL/SQLブロック。 PL/SQLブロックを入力および編集できる、スクロール可能な複数行のテキスト・ボックス。トリガー本体には、SQL文およびPL/SQL文を組み込むことができます。BEGINとENDの各キーワードは必須です。 行トリガーのトリガー本体には、相関名とREFERENCINGオプション、および条件述語のINSERTING、DELETING、UPDATINGを組み込むことができます。 行トリガーについて、INSERTおよびUPDATEなど複数のタイプのトリガー文が指定されている場合、次に示す条件を組み込むことによって、トリガー本体内の特定のコード・ブロックのみを実行できます。 IF INSERTING THEN�END IF; IF UPDATING THEN�END IF;

エディタ内のボタンを次に示します

新規作成	新しいデータベース・トリガーを作成します。 新しいトリガーの定義を始めるには、「新規作成」をクリックします。
保存	トリガー・オプションを保存し、「トリガー本体」フィールドのソースをコンパイルします。コンパイルの結果として生成されるすべてのメッセージが、別のメッセージ・ボックスに表示されます。
変更の破棄	データベース・トリガーを、最後の保存操作または変更の破棄操作を行ったときの状態に戻します。
削除	データベースから現行のデータベース・トリガーを削除します。 削除する場合には、確認が求められます。
クローズ	データベース・トリガー・エディタを終了します。
ヘルプ	このヘルプ・トピックが表示されます。


データベース・トリガーについて

データベース・トリガーはデータベースに格納されるプロシージャで、INSERT、UPDATEまたはDELETEなどのトリガー文が関連のある表に対して発行されると、暗黙的に実行されます。トリガーは表についてのみ定義でき、ビューについては定義できません。ただし、INSERT、UPDATEまたはDELETEの各文がビューに対して発行される場合、ビューの実表に対するトリガーは起動します。

トリガーには、単位ごとに実行するSQL文またはPL/SQL文を組み込むことができ、他のプロシージャを起動できます。トリガーは必要な場合に限り使用します。トリガーを不必要に多く使用すると、トリガーのカスケード化または再帰化が発生します。たとえば、トリガーを起動すると、トリガー本体に含まれるSQL文によって他のトリガーが起動する可能性もあります。

データベース・トリガーを使用することにより、複雑な業務ルールを導入し、すべてのアプリケーションを画一化された方式で動作させることができます。トリガーを設計するときは、次のガイドラインに従います。

•	トリガーを使用するのは、特定の操作が実行されたときに、関連するアクションが確実に実行されるようにする場合です。

•	データベース・トリガーを使用するのは、トリガー文に対して起動する、一元管理された一括操作についてのみです。 この場合、文を発行するユーザーまたはアプリケーションの種類は関係ありません。

•	Oracle内にすでに組み込まれている機能と重複するトリガーは定義しないでください。たとえば、データ整合性ルールを導入するためのトリガーは定義しないでください。 このルールは、宣言整合性制約を使用して簡単に導入できます。

•	トリガーのサイズを制限します（目安は60行以下）。トリガーの論理で60行をはるかに超える数のPL/SQLコードが必要な場合は、大部分のコードをストアド・プロシージャに組み込み、トリガーからプロシージャをコールします。

•	再帰トリガーを作成しないように注意します。たとえば、それ自体がEMPに対してUPDATE文を発行するEMP表に対してAFTER UPDATE文トリガーを作成すると、トリガーは空きメモリーがなくなるまで、再帰的に起動を続けます。

トリガーをアプリケーションで使用する方法の詳細は、『Oracle8 Serverアプリケーション開発者ガイド』を参照してください。トリガーのさまざまなタイプの詳細は、『Oracle8 Server概要』を参照してください。


現行データベースの表所有者のユーザーIDを表示します。ユーザーのドロップダウン・リストを表示するには、このフィールドの右にある矢印をクリックします。


現行データベースの表またはビューの名前を表示します。「表所有者」フィールドに表示されるユーザーが所有する表またはビューのドロップダウン・リストを表示するには、このフィールドの右にある矢印をクリックします。表またはビューを選択するには、リスト内の表またはビューをクリックします。リストには、アクセス権限があるデータベースの表またはビューの名前のみが表示されます（ビューを使用できるのはOracle8のみです）。


現行データベース・トリガーの名前を表示します。「表/ビュー」フィールドに表示される表またはビューのトリガー名のドロップダウン・リストを表示するには、このフィールドの右にある矢印をクリックします。名前リストには、アクセス権限があるデータベース・トリガーの名前のみが表示されます。


トリガーを実行する文（UPDATE、INSERT、DELETEなど）の実行に対して、トリガー本体がいつ起動されるかを示します。このラジオ・ボタンのセットは、SQLコマンドCREATE TRIGGERのBEFORE、AFTERおよびINSTEAD OFオプションに対応しています。


トリガーが、トリガーを実行する文の前に起動されるように指定します。


トリガー本体が、トリガーを実行する文の後に起動されるように指定します。


トリガーを実行する文を実行するかわりに、トリガーがOracleによって起動されるように指定します。ビューの場合に限られます。


トリガー本体を起動するSQL文のタイプを指定します。指定できるオプションは、UPDATE、INSERTおよびDELETEです。オプションをアクティブにするには、1つ以上のチェックボックスをクリックします。表の場合に限られます。


トリガーが、INSERTイベントで起動されるように指定します。


トリガーが、DELETEイベントで起動されるように指定します。


トリガーが、UPDATEイベントで起動されるように指定します。


「表」フィールドで選択された表について、列のリストを表示します。このリストは、「トリガー文」フィールドでUPDATEオプションがアクティブになっている場合にのみ、アクティブになります。表の場合に限られます。


行トリガーを指定します。CREATE TRIGGERコマンドの各（行）オプションに対応しています。


文トリガーを指定します。CREATE TRIGGERコマンドの各（文）オプションに対応しています。


OLDと名付けられる更新前の表またはビューと名前が重複しないように、相関名を指定します。


OLDと名付けられる更新前の表またはビューと名前が重複しないように、相関名を指定します。


WHEN句のブールSQL式を指定します。WHEN句にブールSQL式が組み込まれると、その式はトリガーの対象となる各行について評価されます。1つの行について式がTRUEに評価されると、トリガー本体が起動します。1つの行について式がFALSEまたはNOT TRUE(つまり、NULLと同様に不明)に評価されると、トリガー本体は起動しません。表の場合に限られます。


スクロール可能な複数行のテキスト・ボックスで、PL/SQLデータベース・トリガー本体の入力や編集ができます。トリガー本体は、SQLおよびPL/SQL文を組み込めるPL/SQLブロックです。


名前の付いていない新しいデータベース・トリガーを作成します。


トリガー・オプションを保存し、「トリガー本体」フィールドのソースをコンパイルします。コンパイルの結果として生成されるすべてのメッセージが、メッセージ・ボックスに表示されます。


データベース・トリガーを、最後の保存操作または変更の破棄操作を行ったときの状態に戻します。保存操作または変更の破棄操作が行われなかった場合、データベース・トリガーは元の状態に戻ります。


データベースから現行のデータベース・トリガーを削除します。 削除する場合には、確認が求められます。


PL/SQLインタプリタ・インタフェース

PL/SQLインタプリタはデバッグ用の作業領域です。これを利用して、ソース・コードの表示、デバッグ・アクションの作成、プログラム単位の実行を行ったり、インタプリタ・コマンド、PL/SQL文およびSQL文を実行できます。

デフォルトでは、常にソース・ペインおよびインタプリタ・ペインの2つのペインがPL/SQLインタプリタで開いています。

標準ツールバー・ボタン  インタプリタ内のすべてのペインは、1つのツールバーを共有しています。「クローズ」を除く次のボタンは、プログラム単位の実行停止中のときのみアクティブになり、デバッグに使用されます。

ステップ・イン		停止中のプログラム単位の実行を再開して次の実行可能文に進みます。
ステップ・オーバー		停止中のプログラム単位の実行を再開して次の実行可能文に進み、ネストされたサブプログラムへのコールをスキップします。
ステップ・アウト		ネストされたサブプログラムの実行を再開して、コール側のプログラム単位内の次の実行可能文で実行を中断します。
実行		停止中のプログラム単位の実行を再開し、プログラム単位の終点または次のデバッグ・アクションに進みます。
リセット		現行のデバッグ・レベルを終了します。現行のデバッグ・レベルが1の場合、停止中の実行は放棄されます。
クローズ		PL/SQLインタプリタ・ウィンドウをクローズします。
ヘルプ		このヘルプ・トピックが表示されます。
ソース・ペイン  ソース・ペインでは、現在選択されているプログラム単位のソースが読込み専用で表示されます。キーワード、コメント、文字列および記号には、それぞれ別の色が付けられます。左マージンの第1列は、アイコンおよび記号用に予約されています。左マージンの第2列には、ソースの行番号が表示されます。

次のアイコンが表示される場合もあります。

黄色の矢印		現行の実行位置またはプログラム・カウンタ（program counter）(PC)を示します。
赤色のボール		使用可能なブレークポイントまたはトリガーを示します。
緑色のボール		使用不可のブレークポイントまたはトリガーを示します。

次の記号がソース・ペインに表示される場合もあります。

|	現行のソース位置を示します。  現行のソースの位置は、インタプリタ・コマンド（LISTなど）の結果、またはプログラム単位の実行がデバッグ・アクション（ブレークポイントなど）によって割り込まれたときに変わります。
B(n)	ブレーク・ポイントの位置を示します。 nは対応するデバッグ・アクションIDです。
T(n)	デバッグ・トリガーの位置を示します。 nは対応するデバック・アクションIDです。

ソース・ペインは、ポップアップ・メニュー（ウィンドウで右クリック）から次のコマンドを提供します。

ブレーク	新しいブレーク・ポイントを定義する「PL/SQLブレークポイント」ダイアログ・ボックスを表示します。
トリガー	「PL/SQLトリガー」ダイアログ・ボックスが表示され、新しいデバッグ・トリガーを定義できます。
編集	プログラム単位エディタが表示され、現行のプログラム単位を編集できます。
注意: 一部のシステムでは、ポップアップ・メニューをサポートしていません。前述のコマンドは、「デバッグ」メニューからも使用可能です。

分割バー  分割バーを使用して、インタプリタの各ペインが占める領域の相対量を変更できます。最初にインタプリタが表示されると、分割バーはソース・ペインとインタプリタ・ペインの間に置かれます。モーダル・インタプリタを使用しているか、またはモードレス・インタプリタにナビゲータ・ペインを挿入した場合、2次分割バーが表示されます。

インタプリタ・ペイン  インタプリタ・ペインは、PL/SQL、Procedure BuilderおよびSQLにコマンド・ライン・インタフェースを提供します。PL/SQL>プロンプトの後に、PL/SQL文やPL/SQLブロック、Procedure Builderのインタプリタ・コマンド、またはSQL文を入力できます（SQL*Plus文および構文はサポートされていません）。

マルチライン・コマンド  PL/SQL>プロンプトでのPL/SQL構文の入力時に、いつでも[Enter]キーを押し+>の形式で2つ目のプロンプトを表示できます。終了のセミコロン（;）付きコードを実行するまで、必要なだけ後続のプロンプトを表示することができます。

デバッグ・レベル  デバッグ・アクションによってプログラムの実行が中断された場合、インタプリタはデバッグ・レベルを確立します。デバッグ・レベルではコマンドおよびPL/SQL文を入力でき、それらが逆に割り込まれることによって、デバッグ・レベルがネストされる場合もあります。現行のデバッグ・レベルは、そのレベル番号を含む接頭辞が付いたインタプリタ・ペインの新規プロンプトに示されます。たとえば、デバッグ・レベル1では、インタプリタ・プロンプトが次のように表示されます。

（デバッグ 1）PL/SQL>

ポップアップ・メニュー  インタプリタ・ペインは、ポップアップ・メニュー（ウィンドウで右クリック）から次のコマンドを提供します。

消去	インタプリタ・ペインのすべてのテキストを廃棄し、新規プロンプトを発行します。
新規プロンプト	インタプリタ・ペインで新規プロンプトを発行します。前のプロンプトでの入力は、すべて無視されます。
注意: 一部のシステムでは、ポップアップ・メニューをサポートしていません。

ナビゲータ・ペイン  オブジェクト・ナビゲータ・ペインを使用して、現行のコール・スタックが表示できるほか、デバッグ中に現行の有効範囲の位置で、ローカル変数やパラメータの値を表示したり、任意に変更することもできます。

プログラム単位のデバッグ中に完全にインタプリタ内で作業したい場合は、ソース・ペインとインタプリタ・ペインの間に、オブジェクト・ナビゲータ・ペインを挿入できます。ナビゲータ・ペインを挿入するには、メニューから「表示」 [image] 「ナビゲータ・ペイン」を選択します。ナビゲータ・ペインを隠すには、同じコマンドをもう一度選択します。「表示」メニューから適切なコマンドを選択することにより、他のペインを隠すこともできます。

ナビゲータ・ツールバー　ナビゲータ・ペインが表示されると、以下の項目もボタン・バーに表示されます。

作成		現在選択されているオブジェクトまたはノードの新規インスタンスを作成します。
削除		選択されたオブジェクトを確認の上削除します。
拡張		現在選択されているノードのサブノードの最初のレベルを拡張します。
縮小		現在選択されているノードのサブノードの現行レベルを縮小します。
すべて拡張		現在選択されているノードのサブノードのすべてのレベルを拡張します。ただし、Oracle8のデータ型および属性のノードを再帰的に拡張はしません。
すべて縮小		現在選択されているノードのサブノードのすべてのレベルを縮小します。
検索（テキスト・ボックス）		オブジェクトの一部またはすべての名前を入力することにより、ナビゲータ内でオブジェクトを検索できます。
順方向検索		「検索」テキスト・ボックスに指定した検索条件の次に一致する項目を検索します。
逆方向検索		「検索」テキスト・ボックスに指定した検索条件の1つ前に一致する項目を検索します。


停止中のプログラム単位の実行を再開して次の実行可能文に進みます。


停止中のプログラム単位の実行を再開して次の実行可能文に進み、ネストされたサブプログラムへのコールを飛ばします。


ネストされたサブプログラムの実行を再開して、コール側のプログラム単位内の次の実行可能文で実行を中断します。


停止中のプログラム単位の実行を再開し、プログラム単位の終点または次のデバッグ・アクションに進みます。


現行のデバッグ・レベルを終了します。現行のデバッグ・レベルが1の場合、停止中の実行は放棄されます。


現在選択されているオブジェクトまたはノードの新規インスタンスを作成します。


選択されたオブジェクトを確認の上削除します。


現在選択されているノードのサブノードの最初のレベルを拡張します。


現在選択されているノードのサブノードの現行レベルを縮小します。


現在選択されているノードのサブノードのすべてのレベルを拡張します。Oracle8のデータ型および属性のノードは、再帰的に拡張されません。


現在選択されているノードのサブノードのすべてのレベルを縮小します。


ナビゲータ内で検索するオブジェクトの名前を入力します。


現行のプログラム単位の名前を指定し、それがクライアント上にあるかサーバー上にあるかを示します。


現在選択されているプログラム単位のソースを、ソースの第2列に行番号を付けて読込み専用で表示します。


インタプリタ内の各ペインが占める領域の相対量を変更できます。最初にインタプリタが表示されると、分割バーはソース・ペインとインタプリタ・ペインの間に置かれます。モーダル・インタプリタを使用しているか、またはモードレス・インタプリタにナビゲータ・シートンを挿入した場合、2次分割バーが表示されます。


現行のコール・スタックが表示できるほか、デバッグ中に現行の有効範囲の位置で、ローカル変数やパラメータの値を表示したり、任意に変更することもできます。


PL/SQL、Procedure BuilderおよびSQLにコマンド・ライン・インタフェースを提供します。PL/SQL>プロンプトの後に、PL/SQL文またはPL/SQLブロック、Procedure Builderのインタプリタ・コマンド、またはSQL文を入力できます。


PL/SQL V1変換ユーティリティについて

  関連項目

PL/SQL V1変換ユーティリティは、PL/SQL V1またはV2で作成されたアプリケーションをアップグレードするプロセスを自動化するときに役立ちます。

フォーム、レポートおよび図表のトリガー、プログラム単位およびPL/SQLブロックが、PL/SQL V1またはV2で書かれている場合、コードはアップグレードする必要があります。アップグレードを行わないと、次の2種類の問題が発生する可能性があります。

•	PL/SQL V1またはV2コードの中には、それより後のバージョンでは構文上有効でないためにコンパイル・エラーを起こすものがあります。

•	PL/SQL V1またはV2コードの中には、それより後のバージョンでは構文上は正しいが、意味が異なるため、予期しない動作や不正な動作を起こすものがあります。

変換ユーティリティは、この両方の問題に対応します。


PL/SQL V1変換ユーティリティの実行方法

  関連項目

変換ユーティリティは、対話形式またはバッチ・モードで使用できます。いずれの場合も、ユーティリティによりコードを実際に更新するかどうかは、ユーザーが制御します。対話形式モードでは、ユーティリティによる変更も、手動での変更も可能なため、柔軟性があります。バッチ・モードでは、ユーティリティは可能な変換をすべて行うか、まったく行わないかのどちらかです。変換は対話形式モードまたはバッチ・モードのいずれかで行われても、変換処理の概略がmodule.plgというログ・ファイルに記録されます。

ユーティリティを対話形式で実行するには、対応するBuilderで、保存されたフォーム、レポート、図表、またはPL/SQL V1またはV2コードを含むライブラリをオープンします。

ユーティリティをバッチ・モードで実行する場合、次の項目を参照してください。

•	バッチ・モードでのフォームの変換

•	バッチ・モードでのレポートの変換

•	バッチ・モードでの図表の変換

ヒント

変換ユーティリティはコードをアップグレードし、V1またはV2の非互換性の一部を解決しますが、変換ユーティリティで対処できない場合もあります。その場合は、コンパイル・エラーとなります。 変換結果は「PL/SQL V1の変換サマリー」ダイアログ・ボックス（対話形式モード）またはログ・ファイルに表示されるので、手動でエラーに対処できます。詳細は、「PL/SQL V1変換ユーティリティでは変換されないもの」を参照してください。

変換ユーティリティによるアプリケーションの変換、保存後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。


使用するモードを決定する前に、各タイプのいくつかのモジュールを対話形式で変換してみます。これで、各タイプのモジュールで発生しているのが、どういう種類の問題なのかわかるので、今後の進め方を決定するのに役立ちます。たとえば、レポートおよびPL/SQLライブラリをバッチ・モードで確実に変換できても、フォームが対話モードで提供されるクローズ監視を必要としていることを発見できる可能性もあります。


対話形式によるPL/SQL V1変換ユーティリティの使用

  関連項目

変換ユーティリティを対話形式で実行するには、対応するBuilderで、保存されたフォーム、レポート、図表、またはPL/SQL V1またはV2コードを含むライブラリをオープンし、アプリケーションを保存します。

重要事項:

•	変換ユーティリティによるアプリケーションの変換、保存後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。

トリガー内の各PL/SQL V1またはV2文、PL/SQLブロックまたはプログラム単位は、「変換」ダイアログ・ボックス内に表示されます。このダイアログ・ボックスには、変換を選択した場合に変換ユーティリティによって実行されるアクションも表示されます。提示された変更の実行、提示された変更の無視、アプリケーション全体の変換またはプロセス全体の停止を行うかについては、自由に選択できます。（「PL/SQL V1の変換オプション」ダイアログ・ボックスを使用して、変換プロセスを制御するパラメータを設定することもできます。）

変換ユーティリティによって、変更（または変更しなかった部分）が追跡され、変換プロセスの最後にmodule.plgという名前のログ・ファイルに要約されます。次にPL/SQLエディタを起動して、アプリケーションを手動で更新できます。


バッチ・モードでのPL/SQL V1変換ユーティリティの使用

  関連項目

ユーティリティをバッチ・モードで実行する場合、次の項目を参照してください。

•	バッチ・モードでのフォームの変換

•	バッチ・モードでのレポートの変換

•	バッチ・モードでの図表の変換


バッチ・モードでのフォームの変換

  関連項目

フォームをバッチ・モードで変換する手順

1	フォームに関連したすべてのPL/SQLライブラリを変換したことを確認します。

2	次のいずれかの操作を行います。

•	Forms compilerのGUIバージョンを実行します。

•	Forms compilerをコマンド・ラインで実行します。

どちらを選択しても、変換処理の概略は自動的にログ・ファイルmodule.plg(moduleは変換されたフォーム・モジュールの名前)に書き込まれます。

使用上の注意

•	変換ユーティリティによるアプリケーションの変換、保存後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。


Form CompilerGUIバージョンを使用したフォームの変換

Forms CompilerのGUIバージョンを使用したフォームの変換手順

1	「Form Compiler」アイコンをダブルクリックします。

2	適切なモジュール・タイプとモジュール・アクセスを選択します。

3	「PL/SQLをV1からV2.3にアップグレードしますか?」と書かれたボックスを選択します。

4	「OK」をクリックします。


コマンド・ラインでのフォームの変換

  関連項目

コマンド・ラインでForm Compilerを使用しフォームを変換する手順

コマンドラインで次のコマンドを発行します。

<Form Compiler> MODULE=form BATCH=yes UPGRADE_PLSQL=yes UPGRADE=yes

パラメータの内容は次のとおりです。

<Form Compiler>	プラットフォーム上のForm Compilerの実行可能プログラムの名前。
form	変換するフォームの名前。
使用上の注意:

•	UPGRADE=YESを同時に指定せずにUPGRADE_PLSQL=YESを指定すると、エラー・メッセージが生成されます。すべてのフォームをForms 6.0に更新しておかないと、PL/SQLをフォーム内で変換できません。 このため、UPGRADE_PLSQL= YESの場合は、UPGRADE=YESを指定する必要があります。

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。


接続されたPL/SQLライブラリのフォームへの変換

PL/SQLライブラリを対話形式で変換する手順

 Form Builder内でライブラリをオープンし、保存します。

Form CompilerのGUIバージョンを使用して、PL/SQLライブラリを変換する手順

1	「Form Compiler」アイコンをダブルクリックします。

2	「ファイル」フィールドで、変換するPL/SQLライブラリを選択します。

3	「出力内容の書き込み先ファイル」フィールドで、ターゲット・ファイルに拡張子.PLLが付いていることを確認します。

4	「OK」をクリックします。

コマンド・ラインでForm Compilerを使用しPL/SQLライブラリを変換する手順

コマンドラインで次のコマンドを発行します。

<Form Compiler> MODULE=library BATCH=yes UPGRADE_PLSQL=yes UPGRADE=yes

パラメータの内容は次のとおりです。

<Form Compiler>	プラットフォーム上のForm Compilerの実行可能プログラムの名前。
library	変換するライブラリの名前。
使用上の注意

•	UPGRADE=YESを同時に指定せずにUPGRADE_PLSQL=YESを指定すると、エラー・メッセージが生成されます。すべてのフォームをForms 6.0に更新しておかないと、PL/SQLをフォーム内で変換できません。 このため、UPGRADE_PLSQL= YESの場合は、UPGRADE=YESを指定する必要があります。

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。


Form Compilerパラメータの指定

次の表は、BATCH、UPGRADEおよびUPGRADE_PLSQLのパラメータの組合せの違いにより、変換処理にどのような影響があるかを示しています。

BATCH	UPGRADE_PLSQL	UPGRADE	動作
NO	YES	YES	フォーム内のPL/SQLは、バッチ・モードで変換されます(BATCH=NOの場合も)。ユーティリティは、Builderの外から対話形式で起動できません。
YES	YES	YES	フォーム内のPL/SQLは、バッチ・モードで変換されます。
NO	NO	YES	フォーム内のPL/SQLは変換されませんが、推奨される変換の一覧がmodule.plgに書き込まれます。フォームは、Forms 6.iにアップグレードされます。
YES	NO	YES	フォーム内のPL/SQLは変換されませんが、推奨される変換の一覧がmodule.plgに書き込まれます。フォームは、Forms 6.iにアップグレードされます。
NO	NO	NO	FMBを変更することなく新規のFMXをコンパイルする場合に使用します。フォームにV1.3のPL/SQLが含まれる場合、コンパイラ・エラーが発生するか、コードが異なる動作を起こす場合があります。
YES	NO	NO	FMBを変更することなく新規のFMXをコンパイルする場合に使用します。フォームにV1.3のPL/SQLが含まれる場合、コンパイラ・エラーが発生するか、コードが異なる動作を起こす場合があります。
重要事項:

45FMTから60FMBへのアップグレードを、UPGRADE_PLSQLオプションを指定せずに行うと、フォーム内のPL/SQLは変換されません。ただし、変換されるべきフォームがログ・ファイルに記録されます。このログ・ファイルは現行のワーキング・ディレクトリに保存されるため、FMTファイルが保存されているディレクトリとは異なる場合があります。


バッチ・モードでのレポートの変換

レポートをバッチ・モードで変換する手順

1	レポートに接続したPL/SQLライブラリをすべて変換したことを確認します。

2	次のいずれかの操作を行います。

•	Report CompilerのGUIバージョンを実行します。

•	コマンド・ラインからReport Compilerを実行します。

どちらを選択しても、変換処理の概略は自動的にログ・ファイルmodule.plg(moduleは変換されたレポート・モジュールの名前)に書き込まれます。モジュールごとに個別のログが生成されます。

使用上の注意

•	変換ユーティリティによるアプリケーションの変換、保存後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。


Report CompilerのGUIバージョンを使用したレポートの変換

Report CompilerのGUIバージョンを使用し、1つ以上のレポートを変換する手順

1	「Report Compiler」アイコンをダブルクリックします。

2	「文書タイプ」フィールドで、「レポート」を選択します。

3	適切な「ソース・タイプ」および「宛先タイプ」を選択します。

4	「ソース」フィールドの「参照」ボタンを使用し、変換するレポートの位置を確認します。

5	「宛先」フィールドの「参照」ボタンを使用し、変換したレポートの宛先を選択します。

6	「OK」をクリックします。


コマンド・ラインでのレポートの変換

1つ以上のレポートをコマンド・ラインで変換する手順

コマンドラインで次のコマンドを発行します。

<Report Compiler> SOURCE=rep1,rep2, UPGRADE_PLSQL=yes

パラメータの内容は次のとおりです。

<Report Compiler>	プラットフォーム上のReport Compilerの実行可能プログラムの名前。
rep1,rep2,	変換するレポートの名前。


接続されたPL/SQLライブラリのレポートへの変換

PL/SQLライブラリを対話形式で変換する手順

 Report Builder内でライブラリをオープンし、保存します。

Report CompilerのGUIバージョンを使用して、PL/SQLライブラリを変換する手順

1	「Report Compiler」アイコンをダブルクリックします。

2	「文書タイプ」フィールドで、「PL/SQLライブラリ」を指定します。

3	「ソース・タイプ」フィールドで、.PLLを指定します。

4	「宛先タイプ」フィールドで、.PLLまたは.PLXを指定します。.PLDを指定すれば、V1またはV2のPL/SQLは変換されません。

コマンド・ラインでReport Compilerを使用してPL/SQLライブラリを変換する手順

 コマンドラインで次のコマンドを発行します。

<Report Compiler> SOURCE=lib1,lib2, UPGRADE_PLSQL=yes

パラメータの内容は次のとおりです。

<Report Compiler>	プラットフォーム上のReport Compilerの実行可能プログラムの名前。
lib1, lib2	変換するライブラリの名前。
使用上の注意

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。


バッチ・モードでの図表の変換

バッチ・モードで図表を変換する手順

1	図表に関連するすべてのPL/SQLライブラリの変換が終了したことを確認します。

2	次のコマンドを発行します。

<Graphics Builder> openfile=temp.ogd upgrade_plsql=yes savefile=temp1.ogd quit=yes

パラメータの内容は次のとおりです。

<Graphics Builder>	プラットフォーム上のGraphics Builderの実行可能プログラムの名前。
openfile=temp.ogd	Graphics Builderで図表temp.ogdをオープンします。
upgrade_plsql=yes	V1またはV2のPL/SQLを変換します。
savefile=temp1.ogd	変換した図表をtemp1.ogdに保存します。
quit=yes	図表が変換された後、Graphics Builderをクローズします。
使用上の注意:

•	変換処理の概略は、ログファイルmodule.plg（moduleは変換された図表の名前）に自動的に書き込まれます。

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。

•	変換ユーティリティによるアプリケーションの変換後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。


接続されたPL/SQLライブラリの図表への変換

PL/SQLライブラリを対話形式で変換する手順

 Graphics Builderでライブラリをオープンし、保存します。

PL/SQLライブラリをバッチ・モードで変換する手順

 次のコマンドを発行します。

<Graphics Builder> openfile=temp.lib upgrade_plsql=yes savefile=temp1.lib quit=yes

パラメータの内容は次のとおりです。

<Graphics Builder>	プラットフォーム上のGraphics Builderの実行可能プログラムの名前。
openfile=temp.lib	Graphics Builderでライブラリ temp.lib をオープンします。
upgrade_plsql=yes	V1またはV2のPL/SQLを変換します。
savefile=temp1.lib	変換されたライブラリを temp1.lib に保存します。
quit=yes	ライブラリが変換された後、Graphics Builderをクローズします。
使用上の注意:

•	変換処理の概略は、ログファイル module.plg（module は変換されたライブラリの名前）に自動的に書き込まれます。

•	変換ユーティリティによるアプリケーションの変換後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。


PL/SQL V1変換ユーティリティにより変換されるもの

  関連項目

次に、変換ユーティリティがアプリケーション内で解決できる場合を示します。

CHARをVARCHAR2に置換

VARCHAR2に必要な文字列の長さを設定

OUTおよびIN OUTのデフォルト式を削除

式に必須なRETURN文

廃止されたビルトインの置換

ファンクションlengthはゼロ長の文字列に対しNULLを返す

NULLを渡すオーバーロードしたサブプログラムへの対処

ファンクションにRETURN文を指定しないとランタイム・エラーが発生する

長さの制限を削除


CHARをVARCHAR2に置換

PL/SQL V1では、データ型CHARとVARCHAR2は、相互に交換して使用できました。V1より後のバージョンでは、CHARデータ型は右側にスペースが埋められます。

PL/SQL V1では、次の文は、

var1 CHAR(10) := 'hello';

'hello'に同じです。

しかしV1より後のバージョンでは、この文は'hello     '(合計で10文字)として解釈します。

CHAR変数のV1の動作を保つため、変換ユーティリティでは、すべてのCHAR(n)宣言を同義のVARCHAR2(n)文と置換します。上記の例では、var1はVARCHAR2(10)になります。

また、変換ユーティリティでは、VARCHAR文をすべて同義のVARCHAR2式と置換します。


VARCHAR2に必要な文字列の長さを設定

PL/SQL V1より後のバージョンでは、すべてのVARCHAR2変数に対して、長さの指定が必要です。CHARデータ型にすでに長さが指定されている場合、変換ユーティリティは宣言をVARCHAR2に置換する際、その長さを使用します（詳細は、「CHARをVARCHAR2に置換」を参照）。次に例を示します。

var1 CHAR(10);

は、次のように変換されます。

var1 VARCHAR2(10);

変換プログラムは、文字長のないCHARまたはVARCHAR2文を検出すると、1文字の長さを設定します。次に例を示します。

var2 CHAR;

は、次のように変換されます。

var2 VARCHAR2(1);

同様に、

var3 VARCHAR2;

は、次のように変換されます。

var3 VARCHAR2(1);

VARCHAR2宣言に対し長さを指定しないと、コンパイラで次のエラー・メッセージが生成されます。

エラー215: 文字長は1～32767の範囲に制限されています


OUTおよびIN OUTのデフォルト式を削除

  例

PL/SQL V1では、OUTパラメータとIN OUTパラメータの後にデフォルト式を続けることができましたが、この式は常に無視されていました。変換ユーティリティで、OUTパラメータとIN OUTパラメータのデフォルト式を削除します。

既存のコード（デフォルト式の付いたOUTパラメータとIN OUTパラメータを含みます）をコンパイルすると、次のエラー・メッセージが生成されます。

エラー230: OUTおよびIN OUT形式のパラメータに、デフォルト式を付けることはできません


デフォルト式の削除例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

PROCEDURE p (p1 IN OUT NUMBER DEFAULT 25,
             p2 OUT NUMBER DEFAULT 16) IS

BEGIN
. . .
END;

次のように変換します。

PROCEDURE p (p1 IN OUT NUMBER, p2 OUT NUMBER) IS

BEGIN
. . .
END;


式に必須なRETURN文

  例

PL/SQL V1では、式のないRETURN文を使用して、NULL値を返すことができました。ファンクションはすべて値を返す必要があるため、V1より後のバージョンではRETURN文が必須となります。変換ユーティリティは、式が続いていないRETURN文をすべてRETURN NULLと置換します。

式のないRETURN文を含むPL/SQLをコンパイルすると、次のエラー・メッセージが生成されます。

エラー503:このファンクションからの戻り値にはRETURN文が必要です


NULLをRETURN文に追加する例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

FUNCTION f RETURN NUMBER IS
x NUMBER;
BEGIN
x :=13;
IF .. . THEN
RETURN;
END IF;
RETURN x;
END;

次のように変換します。

FUNCTION f RETURN NUMBER IS
x NUMBER;
BEGIN
x :=13;
IF .. . THEN
RETURN NULL; ここでNULLが追加されます
END IF;
RETURN x;
END;


廃止されたビルトインの置換

  例

文字列をPL/SQLの整数に変換するTO_PLS_INTEGERビルトインは、V1より後のバージョンでは廃止されています。変換ユーティリティは、TO_PLS_INTEGERをビルトインTO_NUMBERに置換します。

TO_PLS_INTEGERビルトインを置換しないと、次のコンパイル・エラーが生成されます。

エラー201:識別されたTO_PLS_INTEGERを宣言する必要があります

注意: 廃止されているその他のビルトインは、手動で置換する必要があります。


廃止されたビルトインの置換例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

PROCEDURE foo IS
     v INTEGER;
BEGIN
     v := TO_PLS_INTEGER(24);
END;

次のように変更します。

PROCEDURE foo IS
     v INTEGER;
BEGIN
     v := TO_NUMBER(24);     TO_PLS_INTEGERはTO_NUMBERで置換されます
END;


ファンクションlengthはゼロ長の文字列に対しNULLを返す

  例

PL/SQL V1では、NULL式に適用されたファンクションlengthは、ゼロを返しました。V1より後のバージョンでは、NULL式に適用されたファンクションlengthは、NULLを返します。

V1の動作を保つために、PL/SQL変換ユーティリティはNVL SQL述語を追加して、NULL式に適用されたファンクションlengthがゼロを返すようにします。


ファンクションlengthの例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

c:=null;
l=LENGTH( c );         V1では、これが0に変わります

次のように変換します。

c:=null;
l=NVL(LENGTH( c ),0);  コンバータはNVL( )ビルトインでファンクションlength
                           をラップし、式がゼロを返すようにします


NULLを渡すオーバーロードしたサブプログラムへの対処

  例

PL/SQL V1では、パッケージ内の同じプログラム単位を2つの異なるデータ型、VARCHAR2型とRECORD型として定義できました。これをサブプログラムをオーバーロードするといいます。オーバーロードしたサブプログラムにNULL値を渡した場合、PL/SQLはデータ型をVARCHAR2と仮定しました。ただし、V1より後のバージョンでは、パッケージ内のオーバーロードしたサブプログラムにNULL値を渡す場合、そのデータ型を定義する必要があります。

V1の動作を保つために、PL/SQL変換ユーティリティは、オーバーロードしたサブプログラムに渡されたNULL値を検出すると、必要に応じて次のようなアクションを行います。

•	NULLをTO_CHAR( )でラップします。

•	NULLをTO_NUMBER( )でラップします。

•	NULLをTO_DATE( )でラップします。

•	NULLをNOTでラップします。

希望するデータ型を定義しないで、オーバーロードしたプログラム単位にNULL値を渡す場合、コンパイラで次のエラー・メッセージが生成されます。

エラー307:このコールと一致する'PU名'宣言が多すぎます...


オーバーロードしたサブプログラムにNULL値を渡す例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

PACKAGE ps1 IS
  TYPE foo IS RECORD(id PLS_INTEGER);
                              サブプログラムpがオーバーロードされます
    PROCEDURE p(a VARCHAR2);    aはVARCHAR2型の変数として定義されます
  PROCEDURE p(a FOO);         aは他のデータ型の変数としても定義されます
END;

PROCEDURE foo2 IS
BEGIN
  ps1.p(NULL);                V1では、VARCHAR2データ型が仮定されます
END;

次のように変換します。

PACKAGE ps1 IS
  TYPE foo IS RECORD(id PLS_INTEGER);

  PROCEDURE p(a VARCHAR2);
  PROCEDURE p(a FOO);

END;

PROCEDURE foo2 IS
BEGIN
  ps1.p(TO_CHAR(NULL));      aはVARCHAR2型であるためNULL値は
                                 TO_CHAR( )によってラップされます
END;


ファンクションにRETURN文を指定しないとランタイム・エラーが発生する

  例

PL/SQL V1では、ファンクションでRETURN文を省略しても実行時に問題は発生しません。ただし、V1より後のバージョンでは、ランタイム・エラーが発生します。

V1の動作を保つために、PL/SQL変換ユーティリティは、引数にNULLを持つRETURN文を、RETURN文のないファンクションに追加します。

注意: ファンクションにRETURN文がない場合でもコンパイラ・エラーは発生しませんが、V1より後のバージョンではランタイム・エラーが発生します。


RETURN文が指定されていない例

  関連項目	 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

FUNCTION noreturn (arg IN NUMBER) RETURN char IS
BEGIN
  IF (arg > 100000) THEN
    TEXT_IO.PUT_LINE ('The point of no return.');
  ENDIF;
                         RETURN文が欠落しています。
END;

次のように変換します。

FUNCTION noreturn (arg IN NUMBER) RETURN char IS
BEGIN
  IF (arg > 100000) THEN
    TEXT_IO.PUT_LINE ('The point of no return.');
  ENDIF;
  RETURN NULL;             コンパータによってRETURN NULLが追加されました。
END;


長さの制限を削除

  例

PL/SQL V2では、DATE、BOOLEAN、MLSLABEL、ROWIDの長さの制限は無視されます。ただし、このためにV8でコンパイル・エラーが発生します。

V2の動作を保つため、PL/SQL変換ユーティリティは制限を削除します。


長さの制限の削除例

  関連項目 	   すべての例

変換ユーティリティは、次のコードを、

PROCEDURE badconstraint IS
d DATE(5);
b BOOLEAN(5);
d MLSLABEL(5); --V2 のみ
r ROWID(5); --V2 のみ
BEGIN
  null;
END;

次のように変換します。

PROCEDURE badconstraint IS
d DATE;
b BOOLEAN;
d MLSLABEL; --V2のみ
r ROWID; --V2のみ
BEGIN
  null;
END;


PL/SQL V1変換ユーティリティでは変換されないもの

  関連項目

PL/SQLの多くの非互換項目は変換ユーティリティにより変換できますが、次のものは手動で修正する必要があります。

パッケージ内で必要とされる一意名

標準パッケージ・ファンクションが使用されない場合への対処

PL/SQL V2.3以降における新規予約語

変数の宣言に必要な%ROWTYPEまたは%TYPE

致命的なコンパイラ・エラーが発生し、変換プロセスが継続できない場合は、警告 "Encountered a non-recoverable error; conversion aborted at line <line number> column <column>" が表示されます。


パッケージ内で必要とされる一意名

  例

PL/SQL V1では、同一パッケージ内で変数と同じ名前を持つプロシージャまたはファンクションを作成すると、変数が常に使用され、同一名が付けられたプロシージャやファンクションは無視されました。V1より後のバージョンでは、同一パッケージ内の変数、ファンクションおよびプロシージャは、他と重複しないでください。

エラーを防ぐには、パッケージ内のすべてのプロシージャが一意の名前を持つようにします。 明示的に異なる名前を付けるか、または「Unused」という語をプロシージャ名に付けます。

注意: V1では、Procedure Builderによってビルトイン・パッケージと同じ名前のプログラム単位を作成できます。V1より後のバージョンでは、これは許可されません。Procedure Builderは、ビルトイン・パッケージと同じ名前を持つプログラム単位を検出すると、プログラム単位名の末尾に2個のドル記号$$を追加することで、ロード時にプログラム単位の名前を変更します。したがって、DEBUGはDEBUG$$に変更されます。


パッケージのプロシージャ名を一意名に変更する例

  関連項目 	   すべての例

次の例では、まずコンパイラ・エラーを生成するPL/SQL V1コードを示します。 続いてエラーを防ぐ編集例を示します。

次のコードを、

PACKAGE pk1 IS
  v1 NUMBER;           v1は変数として確立されます
  PROCEDURE v1;        v1はプロシージャとしても確立されます
  PROCEDURE p2 (x OUT NUMBER);
END;

PACKAGE BODY pk1 IS
  PROCEDURE v1 IS
  BEGIN
   .. .
  END;

  PROCEDURE p2 (x OUT NUMBER) IS
  BEGIN
x := pk1.v1;
  END;

END;

次のように変換します。

PACKAGE pk1 IS
  v1 NUMBER;
  PROCEDURE v1Unused;	  プロシージャv1はUnusedと宣言されます
  PROCEDURE p2 (x OUT NUMBER);
END;

PACKAGE BODY pk1 IS
  PROCEDURE v1Unused IS
  BEGIN
   .. .
  END;

  PROCEDURE p2 (x OUT NUMBER) IS
  BEGIN
x := pk1.v1;
  END;

END;


標準パッケージ・ファンクションが使用されない場合への対処

  例

PL/SQL V1では、次に示すようにユーザー自身のパッケージp1からファンクションFLOORをコールできました。

v := p1.FLOOR(x).

パッケージp1にファンクションFLOORがないと、PL/SQLは標準パッケージ内のファンクションFLOORを使用していました。これは、PL/SQL V2.3以降では修正されている、PL/SQLコード・エラーです。したがって、PL/SQL V2.3では、コンパイラはそのファンクション名の標準パッケージをチェックしないで、エラーを報告します。

エラー302:コンポーネント'CCCCC'を宣言する必要があります

ここで'CCCCC'は、標準パッケージ・ファンクションまたは標準パッケージ拡張にあるファンクションまたはプロシージャです。

メッセージ "Incorrect references will resolve to built-in package V1" が、ログに書き込まれます。

コンパイラで標準パッケージのファンクションを指定するには、不正なパッケージ名を削除してください。


パッケージ接頭辞の削除例

  関連項目 	   すべての例

次の例では、まずコンパイラ・エラーを生成するPL/SQL V1コードを示します。続いてエラーを防ぐ編集例を示します。

次のコードを、

PACKAGE pk1 IS a NUMBER;
END;

PROCEDURE p IS v NUMBER;
BEGIN
v := pk1.FLOOR(20.5);
END;

次のように変換します。

PACKAGE pk1 IS a NUMBER;
END;

PROCEDURE p IS v NUMBER;
BEGIN
v := FLOOR(20.5);     接頭辞を削除します
END;


PL/SQL V2.3以降における新規予約語

  例

VARIANCEはPL/SQL V2.3以降の予約語なので、この語を使用するとコンパイラ・エラーが発生します。

エラーを生成せずにVARIANCEを使用する方法の詳細は、例を参照してください。


予約語の例

  関連項目 	   すべての例

次の例では、まずコンパイラ・エラーを生成するPL/SQL V1コードを示し、続いてエラーを防ぐ編集例を示します。

例1:

次のコードを、

FUNCTION variance (y IN NUMBER)
RETURN NUMBER IS

BEGIN
     .. .
     RETURN .. .;
END;

次のように変更します。

FUNCTION varianceUniqueName (y IN NUMBER)
          /* Varianceに一意名が付けられます*/
RETURN NUMBER IS

BEGIN
     .. .
     RETURN .. .;
END;

例2:

サブプログラムをコールするときに、次のコードを、

PROCEDURE foo IS
     x NUMBER;
     y NUMBER;
BEGIN
     .. .
     x := variance(someNumber);
END;

次のように変更します。

PROCEDURE foo IS
     x NUMBER;
     y NUMBER;
BEGIN
     .. .
     x := varianceUniqueName(someNumber);
END;


変数の宣言に必要な%ROWTYPEまたは%TYPE

  例

PL/SQL V8コンパイラは、次のような不正な構文に対してエラーを生成します(PL/SQL V2では、この構文は間違って認められてしまいます)。

return variable-expression

procedure (parameter IN <table_name>)

procedure (parameter IN <table_name>.<column_name>)

正しい構文は次のとおりです。

return variable-type

procedure (parameter IN <table_name>%ROWTYPE)

procedure (parameter IN <table_name>.<column_name>%TYPE)

エラーを防ぐために、式のデータ型を使用するか、表の名前に%ROWTYPEを追加するか、列名に%TYPEを追加します。


変数の宣言例

  関連項目 	   すべての例

次の例では、まずコンパイラ・エラーを生成するPL/SQL V2コードを示し、続いてエラーを防ぐ編集例を示しています。

例1:

次のコードを、

FUNCTION return_column RETURN dept.dname IS
. . .

次のように変更します。

FUNCTION return_column RETURN dept.dname%TYPE IS
. . .

次のコードを、

PROCEDURE foo (name IN dept.dname) IS
. . .

次のように変更します。

PROCEDURE foo (name IN dept.dname%TYPE) IS
. . .

例2:

次のコードを、

FUNCTION return_table RETURN dept IS
. . .

次のように変更します。

FUNCTION return_table RETURN dept.%ROWTYPE IS
. . .

次のコードを、

PROCEDURE foo (name IN dept) IS
. . .

次のように変更します。

PROCEDURE foo (name IN dept%ROWTYPE) IS
. . .

例3:

次の例は、例外的に%TYPEを使用できない場合を示しています。

パラメータを宣言する際に、次のコードを、

FUNCTION return_parm (x IN NUMBER)
  RETURN x IS
. . .

次のように変更します。

FUNCTION return_parm (x IN NUMBER)
  RETURN number IS
. . .


サーバーのサポート

このリリースでは、Oracle8 Database Serverのサポートが追加されています。同時に、Oracle7 Serverのサポートも継続します。

新規アプリケーション

Oracle8 ServerまたはOracle7 Serverのどちらでも動作する新規Oracle Developerアプリケーションを構築できます。一般に、Oracle8の機能を利用するアプリケーションは、そのレベルのサーバーで実行する必要があります。

既存のアプリケーション

Oracle7 Serverを使用して実行するように設計された既存のOracle Developerアプリケーションは、そのサーバーで引き続き動作します。また、アプリケーションのターゲット・データがOracle7 ServerからOracle8 Serverに移動される場合、既存のアプリケーションはそのOracle8環境でも実行できます。


PL/SQL 8サポート

このリリースのForm Builderは、クライアント上およびサーバー上でPL/SQL 8を使用します。クライアント側のプログラム単位は、現在Oracle8のオブジェクト関連機能をサポートしていません。ただし、ストアド・プログラム単位は、新しいPL/SQL 8機能をすべて使用できます。『PL/SQLユーザーズ・ガイドおよびリファレンス』マニュアルの付録Aでは、PL/SQLの新機能について説明しています。

PL/SQLの以前のバージョンとの互換性

PL/SQL V1またはV2で記述されたクライアント側のプログラム単位がある場合、そのコードを新しいレベルに変換する必要があります。アップグレードを自動化できるように、PL/SQL V1変換ユーティリティが提供されています。

PL/SQL V2で記述されたストアド・プログラム単位は、データベース・サーバー上のPL/SQL V8エンジンに対しては動作しますが、コンパイル時にエラーを生じる可能性があります。これらのエラーは、V2とV8との間で構文の互換性がない場合に発生します。V8データベースのV2互換性フラグを使用すると、V2互換モードを選択できます。このモードでは、V2コードのV8エンジンによるコンパイル時に、構文非互換エラーが発行されません。『Oracle8 Server移行ガイド』の第6章では、この互換性フラグが取り扱う状況について説明しています。


新規プロパティと拡張プロパティ

次の表では、このリリースで新しく追加されたプロパティと拡張されたプロパティの一覧を示します。

プロパティ	ステータスと使用方法
別名	新規。Oracle8表名の別名を作成します。
列名	拡張。列オブジェクトからの項目に対してドット表記が含まれます。
ディテール参照項目	新規。マスター/ディテール・リンクを形成するREF項目を識別します。
DMLの戻り値	新規。Formsにおいて、データベースの挿入後または更新後に、変更後の値で画面をリフレッシュするかどうかを制御します。
インプリメンテーション・クラス	新規。ユーザー指定JavaコンポーネントまたはBeanのクラス名を識別します。
REF項目にインクルード	新規。マスター・ブロック内にREFと呼ばれる非表示項目を作成します。
リレーション・タイプ	新規。マスター/ディテール・リンクのタイプ（リレーショナル結合またはオブジェクトREF）を識別します。


Form Builder 4.5のランタイム動作

Form Builder 5.0から6.0で作成されたフォームのランタイム動作は、Form Builder 4.5のランタイム動作とは異なります。設計の間、フォーム・レベルのプロパティである「ランタイム互換性モード」を「4.5」（リリース4.5の場合）または「5.0」（リリース5.0から6.0の場合）のどちらかに設定することにより、そのフォームに対して使用するランタイム動作を選択できます。

概要

次のランタイム動作は、Form Builder 5.0から6.0において変更されています。後続のセクションでは、これらに相当するForm Builder 4.5での動作について説明します。

•	妥当性チェックの発生時（ナビゲーション規則の相違）

•	標準の妥当性チェック（さまざまなタイプの項目に対する妥当性チェックのステップ）

•	妥当性チェックと「遅延と必須強制」プロパティ

•	ミラー（同期）項目の初期化

•	ミラー項目の妥当性チェック

•	日付書式および文字列書式間の変換

•	項目の「必須」プロパティの暗示的な設定

•	ポップリストおよびTlistでのNULL値

•	NULL値およびPOST-CHANGEトリガーの起動

妥当性チェックの発生時

Form Builder 4.5における、ナビゲーションの妥当性チェック規則は次のとおりです。

•	同じブロック内で項目Aから項目Bにナビゲートし、かつ項目レベルの妥当性チェックが有効であるときの動作は、どのようにナビゲーションが行われたかによって異なります。

•	ナビゲーションがGO_ITEM（マウス・クリック）またはPREVIOUS_ITEM（[Shift]+[Tab]キー）の結果である場合、項目Aのみが有効とされます（Form Builder5.0と同じ動作）。

•	ナビゲーションがNEXT_ITEM（[Tab]キー）の結果である場合、項目Aおよび（ブロックのナビゲーション順序におけるそれらの位置に関してではなく、ブロック内部でのそれらの順序番号に関して）AとBの間にあるすべての項目が有効とされます。これにより、妥当性チェックが冗長になる可能性があります。たとえば「次ナビゲーション項目」プロパティを使用して、（オブジェクト・ナビゲータに示されている）ブロック内での項目の順序とは逆のナビゲーション順序を指定すると、[Tab]キーを押すたびに、（タブ操作による移動先の項目を除く）ブロック内のすべての項目が有効とされます（Form Builder5.0では、項目Aのみが有効とされます）。

•	項目レベルの妥当性チェックに関して、Form Builderがブロック内の最初のナビゲーション可能項目にユーザーを配置する必要があるとき、ブロック内のそれ以前の項目がすべて有効とされます。これにより、それ以前の項目の1つの妥当性チェックに失敗した場合、Form Builderが終了することがあります（Form Builder5.0では、それ以前の項目は有効とされません）。

•	項目レベルの妥当性チェックに関して、NULL値の「必須」項目へのナビゲーションを試み、かつ「遅延と必須強制」プロパティが「いいえ」に設定されているときの動作は、どのようにナビゲーションが行われたかによって異なります。

•	ナビゲーションがGO_ITEM（マウス・クリック）またはNEXT_ITEM（[Tab]キー）の結果である場合、エラーが発生します。FRM-40202 フィールドに入力してください。（Form Builder5.0と同じ動作）。

•	ナビゲーションがPREVIOUS_ITEM（[Shift]+[Tab]キー）の結果である場合、エラーは発生せず、ナビゲーションは成功します（Form Builder5.0では、エラーFRM-40202が発行されます）。

標準の妥当性チェック

特定タイプの項目の妥当性チェックが行われるたびに実行される特別のステップがあります。Form Builder 4.5のテキスト項目に対する妥当性チェックのステップは、次の順序で実行されます。いずれかのステップが失敗すると、その項目は無効とマークされ、残りのステップはスキップされます。

1	「必須」項目がNULLでないことを確認します。

このステップは、次の項目に対してのみ実行されます。

•	コンボ・ボックス

•	NULL以外の値が許可されないポップリスト項目およびTlist項目

•	他の項目をミラーする、ナビゲーション可能なリスト項目

•	ナビゲーション可能なテキスト項目

コンボ・ボックス、あるいはNULL以外の値が許可されないポップリスト項目およびTlist項目においてこのステップに失敗すると、次のメッセージが生成されます。
FRM-40212 フィールドの値が無効です。

その他の項目においてこのステップに失敗すると、次のメッセージが生成されます。FRM-40202 フィールドに入力してください。

この妥当性チェックは、更新に対する保護がなされている項目のインスタンス上で実行されます。これはフォームの「有効単位」プロパティの値が「項目」であるときでも同様です。

2	NULLでない値の書式が、そのデータ・タイプに対して正しいことを確認します。

このステップは、次の項目に対してのみ実行されます。

•	ナビゲーション可能なコンボ・ボックス

•	テキスト項目

3	「固定長」プロパティが設定された項目に、不正な長さの非NULL値が含まれていないことを確認します。

このステップは、「変更可能」プロパティが設定されたテキスト項目に対してのみ実行されます。

4	項目の非NULL値が、その項目に対して指定された範囲内に収まっていることを確認します。

このステップは、「変更可能」プロパティが設定されたテキスト項目に対してのみ実行されます。

5	項目の「妥当性チェックに値リストを使用」プロパティが「はい」に設定されている場合、項目の非NULL値がその項目の値リストの中にあるかどうかを確認します。

6	項目値が非NULLの場合、POST-CHANGEトリガーを発行します。

7	WHEN-VALIDATE-ITEMトリガーを起動します。

非テキスト項目の妥当性チェックでは、ステップ3～5は省略されます。ステップ2はテキスト項目およびコンボ・ボックスにのみ適用されます。これは、エンド・ユーザーが値を入力できるのがそれらの項目のみであるからです。

妥当性チェックと「遅延を必須強制」プロパティ

このプロパティは、項目レベルの妥当性チェックが有効なときにのみ適用されます。

このプロパティには、「はい」、「4.5」および「いいえ」という3種類の設定があります。詳細については、「遅延を必須強制」プロパティを参照してください。

このプロパティが「はい」または「4.5」に設定されると、項目の「必須」プロパティの施行がレコード・レベルの妥当性チェックが実行されるまでの間延期されます。項目のNULL値は受け入れられます。When-Validate-Itemトリガーが起動します。

次の表では、「必須」プロパティを持つ項目（ただし、値はNULL）に対する「遅延を必須強制」の設定によって、Forms Runtime 4.5と5.0の動作がどのように異なるかを示します。

	「遅延を必須強制」=「はい」	「遅延を必須強制」=「4.5」	「遅延を必須強制」=「いいえ」
「ランタイム互換性モード」=「4.5」	動作A	動作A	動作B
「ランタイム互換性モード」=「5.0」	動作C	動作D	動作B
•	動作A:  NULL値が受け入れられます。When-Validate-Itemトリガーが起動し、（正常に起動した場合には）この項目インスタンスは有効とマークされます（つまり、「Item Is Valid」プロパティが「はい」に設定されます）。（有効なNULL値を持つ項目インスタンスについては、レコード・レベルの妥当性チェック中に、再度妥当性チェックが行われます。）

この動作は、テキスト項目にのみ適用されます。（リスト項目に関しては、「遅延を必須強制」プロパティは無視されます。）

•	動作B:  NULL値は受け入れられません。ナビゲーションは、NULL以外の有効な値が入力されるまで、項目インスタンスから出ることができません。

•	動作C:  NULL値が受け入れられます。When-Validate-Itemトリガーは起動しません。妥当性チェックは行われず、項目の「Item Is Valid」プロパティは変更されません。（このため、レコード・レベルの妥当性チェック実行時にも項目がNULLの場合は、Forms Runtimeでエラーが発生します。）

•	動作D:  NULL値が受け入れられます。ただし、項目インスタンスは、有効とはマークされません。When-Validate-Itemトリガーが起動します。

この動作は、テキスト項目およびリスト項目の両方に適用されます。

ミラー（同期）項目の初期化

同じデータ・ブロック内に3つの項目A、B、Cがあると仮定します。AおよびBの「項目と同期」プロパティを項目Cに対して設定する場合、項目AおよびBは従属するミラー項目とみなされます。項目Cはマスターのミラー項目です。

Form Builder 4.5でのミラー項目の初期化規則は、次の点でForm Builder 5.0での規則と異なります。

•	（マスターのミラー項目を含めて）互いにミラー化し合う項目のグループ内では、表示可能な初期値を指定する、グループ内の直前の項目（ブロック内での順序に関して）から初期値が取得されます。すなわち、それぞれの初期値は実行時に順番に適用され、その項目のウィジェットによって表示できる直前の項目は、それ以前のすべての初期値を上書きします。その項目の初期値がその時点で設定中であるときには、ON-SEQUENCE-NUMBERトリガーが（もしあれば）起動されます（初期値が順序番号であると仮定した場合）。

•	項目がその他の値を許可せず、その初期値に対応する要素を持たないポップリスト、Tlist、ラジオ・グループまたはチェックボックスである場合、実行時に初期値は無視されます。ミラー項目は調べられません。

ミラー項目の妥当性チェック

Form Builder 4.5でのミラー項目の妥当性チェック規則は、次の点でForm Builder 5.0での規則と異なります。

•	従属するミラー項目に対しては、「必須」、「RANGE_HIGH」および「RANGE_LOW」の各プロパティや、POST-CHANGEトリガーおよびWHEN-VALIDATE-ITEMトリガーは、従属するミラー項目から取得されます。

•	項目レベルの妥当性チェックの間、妥当性チェック規則は常に、その時点に妥当性チェックを受けている項目から取得されます。これは、プログラムによって設定される項目の妥当性チェック規則が、エンド・ユーザーが最初にナビゲートする項目の種類によって決まることを意味します。これは、その項目をミラーする項目、あるいはその項目自体である可能性があります。

•	レコード・レベルの妥当性チェックの間、ミラー項目のグループの内部において、Form Builderはブロック内の先頭の項目の妥当性をチェックします。ブロック内でそれよりも前に位置する別の項目によってミラー化されるテキスト項目またはコンボ・ボックスに不正なデータが入力されると、このことによって妥当性チェック上の問題が生じる可能性があります。

日付書式および文字列書式間の変換

データ型DATEまたはDATETIMEの項目を内部文字列（ユーザーからは見えない文字列）に変換する、あるいはその逆方向の変換を行うために、Form Builderはそれらの変換を行う日付書式マスクを選択します。

Form Builder 5.0では、ビルトインの日付書式マスクを使用してそれらの変換を行います。これには、PL/SQLによって実行される変換は含まれません。

Form Builder 4.5ランタイム互換性モードでは、次のようなケースに対して入力、出力またはビルトインの日付書式マスクが使用されます（入力、出力またはビルトインの日付書式マスクの詳細は、「日付の書式マスクについて」を参照してください）。

•	「RANGE_HIGH」および「RANGE_LOW」の各プロパティに対して、データ型DATEまたはDATETIMEの項目上でGET_ITEM_PROPERTYビルトインを実行するとき。

•	「DATABASE_VALUE」プロパティに対して、データ型DATEまたはDATETIMEの項目上でGET_ITEM_PROPERTYビルトインを実行するとき。Form Builder 4.5ランタイム互換性モードでは、Form Builder 4.5.7での動作が再現されます（それ以前のリリースでは、Form Builder 5.0の動作を示します）。

•	値リスト列の戻り項目の値を設定するときに、値リスト列のデータ型がCHARで、戻り項目のデータ型がDATEまたはDATETIMEである場合、あるいはその逆の場合。Form Builder 4.5ランタイム互換性モードでは、Form Builder 4.5.7での動作が再現されます（それ以前のリリースでは、Form Builder 5.0の動作を示します）。

•	データ型DATEまたはDATETIMEの項目の初期値を設定しているときに、初期値が（コロン表記を使用して）データ型CHARの変数から取得される場合。Form Builder 4.5ランタイム互換性モードでは、Form Builder 4.5.7での動作が再現されます（それ以前のリリースでは、Form Builder 5.0の動作を示します）。

•	データ型CHARの項目の初期値を設定しているときに、初期値が$$DATE$$、$$DATETIME$$、$$DBDATEまたは$$DBDATETIME$$で指定される場合。Form Builder 4.5ランタイム互換性モードでは、Form Builder 4.5.7での動作が再現されます（それ以前のリリースでは、Form Builder 5.0の動作を示します）。

•	他のすべてのケースに対しては、ビルトインの日付書式マスクが使用されます。さまざまな日付書式マスクの詳細は、オンライン・ヘルプの「書式マスク」の項を参照してください。

項目の「必須」プロパティの暗示的な設定

Form Builder 4.5ランタイム互換性モードでは、SET_ITEM_PROPERTYビルトインで項目の「変更可能」プロパティを「PROPERTY_FALSE」に設定することによって項目が使用不可にされる場合、その項目の「必須」プロパティは暗黙のうちに「いいえ」に設定されます。

ポップリストおよびTlistのNULL値

Form Builder 4.5ランタイム互換性モードでは、次のすべての条件に該当する場合、プログラムによってポップリストまたはTlistにNULL値を割り当てようとしても失敗します。

•	「必須」プロパティが「はい」に設定されています。

•	明示的に指定されたNULL値の要素が項目に含まれていません。

•	項目がその他の値を許可していません。

これらの条件下では、Form Builderによって次のエラーが発行されます。FRM-40212:フィールドの値が無効です。

そのようなポップリストまたはTlistに割り当てられる予定の列において、フェッチされた行にNULL値が含まれる場合、フェッチされた行は拒絶されます（ブロック内に現れません）。

Form Builder 4.5および5.0の両方のランタイム互換性モードにおいて、明示的に指定されたNULL値の要素がリスト項目に含まれておらず、その項目がNULL以外の値を許可しない場合でも、任意のリスト項目内に常にNULL値を表示できます。Tlistでは、要素を一切選択しないことによってNULL値が表示されます。ポップリストでは、暗示的なNULL値がポップリストに一時的に追加されます。

NULL値およびPOST-CHANGEトリガーの起動

Form Builder 4.5ランタイム互換性モードでは、問合せによって項目内にフェッチされたNULL値に対してPOST-CHANGEトリガーが起動されることはありません。しかし、プログラムによって項目に割り当てられた、あるいはエンド・ユーザーの手で項目に入力されたNULL値に対しては、POST-CHANGEトリガーが起動されます。唯一の例外は、項目がテキスト項目であるときです。オラクル社では、新規アプリケーションに対してPOST-CHANGEトリガーを使用することをお薦めしません。


オブジェクトに関する制約

関連項目

次の表では、ユーザーが作成するForm Builderのオブジェクトおよびそれらのオブジェクトに関連する他の要素に対する制約を示します。

注意:

フォームでユーザーが作成するオブジェクトの数がForm Builder自体で制限されない場合でも、変更可能なメモリーの量は制限される要素になります。

要素	制約/注意
フォーム当たりのブロック数	実質的に制限なし
キャンバス/ウィンドウ	実質的に制限なし
キャンバスの幅	実質的に制限なし
列名の長さ	30文字
ボイラープレート・テキスト	実質的に制限なし
データベース・フィールドの参照	実質的に制限なし
マスター当たりのディテール・ブロック数	実質的に制限なし
グローバル変数の長さ	255文字
識別子（ブロック名、フィールド名、パラメータ・リスト名など）	30文字
項目の最大長	2,048文字（VARCHR2型の値の場合）
ブロック当たりの項目数	実質的に制限なし
結合条件	255文字
メニュー・ネストのレベル	8～10。使用しているオペレーティング・システムによって異なります（プルダウン・メニューを使用する場合は4レベルのメニュー・ネストに制限するようにしてください）。
値リスト	実質的に制限なし
メニュー項目	実質的に制限なし
メニュー	実質的に制限なし
ユーザー命名可視属性	255個のユーザー命名可視属性
PL/SQL文字列数	実質的に制限なし
WHERE句およびORDER BY句	合計32,000文字
レコード・グループの列の長さ	255文字
レコード, グループ	255列
置換パラメータ	実質的に制限なし
ブロック当たりのテキスト項目の範囲のチェック数	実質的に制限なし
トリガー	実質的に制限なし
ユーザー定義ローカル変数名の長さ	30文字


カーソルに関する制約

関連項目

データベース・カーソルは、OracleがSQLコマンドに割り当てるメモリーです。データベース・カーソルは、データのポストおよび問合せで暗黙的に使用されるSQLコマンドおよびトリガー内で明示的に使用されるSQLコマンドに割り当てられます。Form Builderでは、すべての暗黙的なSQLコマンド、およびV2トリガー内の明示的なSQLコマンドに対するカーソルの割当てを制御します。

次の表は、データベース・カーソルに適用される制約を示しています。

要素	制約/注意
オープン状態のカーソル（最大値）	INIT.ORAファイル内にあるOPEN_CURSORSパラメータの値。
オープン状態のカーソル（最小値）	• Oracleとの接続毎に5つ。
	• OracleまたはSQL*Connectに対して実行しているときは、ランタイム・セッション毎に4つ。
	• ブロック毎に5つ（SELECT、UPDATE、INSERT、DELETE、問合せ用に1つずつ）。リストにある最初の4つのカーソルは、必要に応じてオープンされますが、OPTIMIZETP=YESモードで実行すると抑止されます。この制約は標準の環境下で適用されますが、「作業環境」ダイアログの「ランタイム」タブの設定値を変更するか、コマンド・ライン・スイッチを使用するとカーソル数を変更できます。問合せ用の1つのカーソルは必要に応じて各ブロック用に常にオープンされ、OPTIMIZETP=NOモードで実行されるときでも共有されません。
オープン状態のカーソル（最小値）	• 問合せで作成されるレコード・グループ毎に1つ。
	• データベースの日付または時刻のデフォルト値（$$DBDATE$$）が項目用に参照される場合には、1つのカーソルが使用されます。
	• 1つのSQL文について1つ。トリガーの中でも、またプロシージャやファンクションの中であっても構いません。この制約は通常の環境下で適用されますが、「作業環境」ダイアログの「ランタイム」タブの設定値を変更するか、コマンド・ライン・スイッチを使用することによりカーソル数を変更できます。V2スタイルのトリガー・カーソル使用は、OPTIMIZESQLコマンド・ライン・パラメータを使用することで調整できます。


「データベース・ライブラリ」ダイアログ・ボックス

「データベース・ライブラリ」ダイアログ・ボックスは、現在データベースに格納されているライブラリを表示します。

ライブラリ	接続しているデータベースで使用可能なライブラリのリスト。アクセス権限があるライブラリのみがリストに表示されます。選択するライブラリの名前をクリックします。


接続しているデータベースで使用可能なライブラリのリストです。アクセス権限があるライブラリのみがリストに表示されます。選択するライブラリの名前をクリックします。


「新規プログラム単位」ダイアログ・ボックス

「新規プログラム単位」ダイアログ・ボックスは、作成するプログラム単位の名前とタイプを指定します。

名前	プログラム単位の名前を入力します。
タイプ	作成するプログラム単位のタイプを指定します。次のタイプを作成できます。
プロシージャ	指定されたアクション・シーケンスを実行するPL/SQLサブプログラム。
ファンクション	アクションの指定されたシーケンスを実行して値を返すPL/SQLサブプログラム。
パッケージ仕様部	他のプログラム単位によって参照できるデータ型およびサブプログラム。
パッケージ本体	パッケージのインプリメンテーション。固有のサブプログラムまたはデータ型が含まれる場合もあります。パッケージが宣言のみによって構成される場合はオプションで使用します。
型仕様部	オブジェクト型またはコレクション・タイプについて、名前、変数（属性）およびメンバー・サブプログラム（メソッド）を宣言します。
型本体	オブジェクト型の型仕様部で定義されたメンバー・メソッド（ファンクションとプロシージャ）のインプリメンテーション。オブジェクト型で指定された各メソッドについて、対応するメソッド本体が存在する必要があります。
注意: タイプ仕様部およびタイプ本体は、Oracle8に接続しているときにのみ使用できます。


プログラム単位の名前を入力します。


作成するプログラム単位のタイプを指定します。


「オープン・ライブラリ」ダイアログ・ボックス

「オープン・ライブラリ」ダイアログ・ボックスは、ファイル・システムまたはデータベースから既存のライブラリをオープンし、インタプリタのOPENコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

ライブラリ	オープンするライブラリの名前（および位置）を入力します。
参照	「元」フィールドで「ファイル・システム」または「両方」が選択されていると、オペレーティング・システム・ファイルの選択ダイアログ・ボックスが表示されます。「元」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスが表示されます。
元	ライブラリが、ファイル・システムとデータベースのどちらに格納されているかを示します。


オープンするライブラリの名前（および位置）を入力します。


「元」フィールドで「ファイル・システム」または「両方」が選択されていると、オペレーティング・システム・ファイルのダイアログ・ボックスが表示されます。「元」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスが表示されます。


ライブラリが、ファイル・システムとデータベースのどちらに格納されているかを示します。


「連結ライブラリ」ダイアログ・ボックス

「連結ライブラリ」ダイアログ・ボックスは、現行セッションにライブラリを連結します。

ライブラリ	連結するライブラリの名前（および位置）を入力します。
参照	「元」フィールドで「ファイル・システム」または「両方」が選択されていると、オペレーティング・システム・ファイルの選択ダイアログ・ボックスが表示されます。「元」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスが表示されます。
元	ライブラリが、ファイル・システムとデータベースのどちらに格納されているかを示します。
連結	選択を確認してライブラリを連結し、ダイアログ・ボックスをクローズします。


連結するライブラリの名前（および位置）を入力します。


「元」フィールドで「ファイル・システム」または「両方」が選択されていると、オペレーティング・システム・ファイルのダイアログ・ボックスが表示されます。「元」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスが表示されます。


ライブラリが、ファイル・システムとデータベースのどちらに格納されているかを示します。


選択を確認してライブラリを連結し、ダイアログ・ボックスをクローズします。


「ログ・インタプリタ」ダイアログ・ボックス

「ログ・インタプリタ」ダイアログ・ボックスは、ログの実行を管理します。

ファイル	ロギング・セッションを記録するファイルの名前を入力します。
参照	オペレーティング・システムの「ファイル」ダイアログ・ボックスが表示されます。このダイアログ・ボックスで、参照を行い、位置または既存ファイルの名前を選択できます。
追加	これを選択すると、APPENDオプションがアクティブになり、現行のログ・セッションが、「ファイル」テキスト・ボックスで指定した既存のログ・ファイルの終わりに追加されます。選択しないと、指定されたファイル内の現行のログ情報はすべて、新しいロギング・セッションにより上書きされます。
使用不可	これを選択すると、DISABLEDオプションがアクティブになり、指定したファイルへのロギングが、再び使用可能にされるまで中断されます。
ログ表示	これを選択すると、「ログ・インタプリタ」ダイアログ・ボックスがアクセプトされる際に「PL/SQLインタプリタ・ログ」ブラウザが表示されます。「インタプリタ・ログ」ブラウザは、「表示」 [image] 「インタプリタ・ログ」を選択しても表示できます。


ロギング・セッションを記録するファイルの名前を入力します。


オペレーティング・システムの「ファイル」ダイアログ・ボックスが表示されます。このダイアログ・ボックスで、参照を行い、位置または既存ファイルの名前を選択できます。


これを選択すると、APPENDオプションがアクティブになり、現行のログ・セッションが、「ファイル」テキスト・ボックスで指定した既存のログ・ファイルの終わりに追加されます。選択しないと、指定されたファイル内の現行のログ情報はすべて、新しいロギング・セッションにより上書きされます。


これを選択すると、DISABLEDオプションがアクティブになり、指定したファイルへのロギングが、再び使用可能にされるまで中断されます。


これを選択すると、「ログ・インタプリタ」ダイアログ・ボックスがアクセプトされる際に「PL/SQLインタプリタ・ログ」ブラウザが表示されます。「インタプリタ・ログ」ブラウザは、「表示」-->「インタプリタ・ログ」を選択しても表示できます。


「PL/SQLインタプリタ・ログ」ブラウザ

「PL/SQLインタプリタ・ログ」ブラウザは、ロギング・セッションで記録されたメッセージを表示します。

使用不可/使用可能	現行のロギング・セッションのアクティブ状態を切り替えます。
オフ	現行のロギング・セッションを終了し、ブラウザをクローズします。
「メッセージ」リスト・ボックス	インタプリタ・ペイン内で入出力レコードを表示する読込み専用のスクロール可能な領域。リスト・ボックスに表示されるテキストを選択およびコピー、検索することができます。


現行のロギング・セッションのアクティブ状態を切り替えます。


現行のロギング・セッションを終了し、ブラウザをクローズします。


インタプリタ・ペイン内で入出力レコードを表示する読込み専用のスクロール可能な領域。リスト・ボックスに表示されるテキストを選択およびコピー、検索することができます。


「接続」ダイアログ・ボックス

「接続」ダイアログ・ボックスは、データベース・インスタンスへの接続を確立します。

ユーザー名	データベースのユーザーIDを入力します。このテキスト・ボックスには、接続文字列をすべて入力できますが、ユーザーのパスワードがエコー表示されます。
パスワード	データベースのパスワードを入力します。パスワードのセキュリティ保護のため、このフィールドでは、エコー表示されません。
データベース	接続を希望するデータベースのデータベース接続文字列を入力します。通常は、次の形式で入力します。
	network_protocol:network_node[:database_name]
	各フィールドはコロン(:)で区切ります。データベースの正しい接続文字列の詳細は、使用しているデータベース管理者に問い合せてください。 ODBCデータ・ソースに接続している場合、構文は次のようになることに注意してください。
	username/password@ODBC:datasource[:dbname] dbnameを指定しないと、現行のODBC接続用データベースが使用されます。
接続	入力した情報を確認し、接続を試行します。データベースへの接続が完了すると、ダイアログ・ボックスはクローズします。データベースへの接続に失敗すると、エラーが発行されます。


データベースのユーザーIDを入力します。このテキスト・ボックスには、接続文字列をすべて入力できますが、ユーザーのパスワードがエコー表示されます。


データベースのパスワードを入力します。パスワードのセキュリティ保護のため、このフィールドでは、エコー表示されません。


接続を希望するデータベースのデータベース接続文字列を入力します。


入力した情報を確認し、接続を試行します。データベースへの接続が完了すると、ダイアログ・ボックスはクローズします。データベースへの接続に失敗すると、エラーが発行されます。


「アクセス権限リスト」ダイアログ・ボックス

「アクセス権限リスト」ダイアログ・ボックスは、現在選択されているライブラリまたはデータベース・サーバー上のストアド・プログラム単位へのアクセス権限の表示と変更が行えます。他のユーザーに対するアクセス権限の付与または取消しを行うためには、ライブラリに対するGRANTアクセスを必要とします。

ユーザー・リスト・ボックス	選択したライブラリまたはストアド・プログラム単位に対して、現在アクセス権限を持つユーザーをリストします。「ユーザー」テキスト・ボックスに入れるには、対象となるユーザー名をクリックします。
ユーザー	選択したライブラリまたはストアド・プログラム単位へのアクセス権限を付与または取り消す対象ユーザー名を入力します。このユーザー名は、現行のデータベースで有効なユーザー名を入力する必要があります。ユーザー名がすでに「ユーザー」リスト・ボックスに表示されている場合は、ユーザー名をクリックします。
追加	ライブラリまたはストアド・プログラム単位にGRANTアクセス権限を付与されているユーザーのリストに、ユーザー名を追加します。
削除	ライブラリまたはストアド・プログラム単位にGRANTアクセス権限を付与されているユーザーのリストから、ユーザー名を削除します。


選択したライブラリに対して、現在アクセス権限を持つユーザーをリストします。「ユーザー」テキスト・ボックスに入れるには、対象となるユーザー名をクリックします。


選択したライブラリへのアクセス権限を付与または取り消す対象ユーザー名を入力します。このユーザー名は、現行のデータベースで有効なユーザー名を入力する必要があります。ユーザー名がすでに「ユーザー」リスト・ボックスに表示されている場合は、ユーザー名をクリックします。


ライブラリに対しGRANTアクセス権限を付与されているユーザーのリストに、ユーザー名を追加します。


ライブラリに対しGRANTアクセス権限を付与されているユーザーのリストから、ユーザー名を削除します。


「ライブラリ保存」ダイアログ・ボックス

「ライブラリ保存」ダイアログ・ボックスは、ライブラリをファイル・システムまたはデータベースに保存し、インタプリタのSAVEコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

ライブラリ	保存するライブラリの名前（および位置）を入力します。
参照	「先」フィールドで「ファイル・システム」が選択されていると、オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。「先」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスを表示します。
先	ライブラリを、ファイル・システムとデータベースのどちらに保存するかを示します。


保存するライブラリの名前（および位置）を入力します。


「先」フィールドで「ファイル・システム」が選択されていると、オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。「先」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスを表示します。


ライブラリを、ファイル・システムとデータベースのどちらに保存するかを示します。


「検索と置換」ダイアログ・ボックス

「検索と置換」ダイアログ・ボックスは、プログラム単位エディタまたはストアド・プログラム単位エディタに現在表示されているプログラム単位ソース内の文字列または正規表現の検索と置換に使用します。

検索文字列	検索文字列を入力します。この文字列を正規表現として扱う場合は、「正規表現」チェックボックスをクリックします。
置換文字列	検索結果文字列と置換する文字列を入力します。
正規表現	これがチェックされると、検索文字列を文字列ではなく正規表現として扱うかどうかを指定します。
大/小文字区別	検索文字列の英文字の大文字と小文字を区別して検索するかどうかを示します。このチェックボックスをチェックしない場合、英文字の大小の区別なく、検索文字列に一致するすべての文字列が検索されます。
次を検索	検索文字列の検索を、現在のカーソル位置から開始します。
置換	最新の検索結果文字列を、「置換文字列」テキスト・ボックスで指定した文字列に変更します。その時点で検索結果文字列が選択されていない場合は、検索文字列の次の文字列を検索して置換します。
すべて置換	すべての検索結果文字列を置換文字列に置換します（カーソル位置から検索可能な領域の最後まで）。


検索文字列を入力します。この文字列を正規表現として扱う場合は、「正規表現」チェックボックスをクリックします。


検索結果文字列と置換する文字列を入力します。


検索文字列の英文字の大文字と小文字を区別して検索するかどうかを示します。このチェックボックスをチェックしない場合、英文字の大小の区別なく、検索文字列に一致するすべての文字列が検索されます。


これがチェックされると、検索文字列を文字列ではなく正規表現として扱うかどうかを指定します。


検索文字列の検索を、現在のカーソル位置から開始します。


最新の検索結果文字列を、「置換文字列」テキスト・ボックスで指定した文字列に変更します。その時点で検索結果文字列が選択されていない場合は、検索文字列の次の文字列を検索して置換します。


すべての検索結果文字列を置換文字列に置換します（カーソル位置から検索可能な領域の最後まで）。


「PL/SQLブレークポイント」ダイアログ・ボックス

「PL/SQLブレークポイント」ダイアログ・ボックスは、BREAKコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。これによって、ブレーク・ポイントの作成または変更や、トリガーのブレークができます。

ブレークポイント	ブレーク・ポイントを識別します。 フォームは、「ブレーク・ポイント: 新規作成」または 「ブレーク・ポイント: 番号」です。ラベルの値は、新規のブレーク・ポイントを指定する場合は「新規作成」、既存のブレーク・ポイントを変更する場合は番号です。
使用可能	ブレーク・ポイントが使用可能か使用不可かを示します。
プログラム単位	ブレーク・ポイントが作成されるプログラム単位、既存のブレーク・ポイントの位置または新規ブレーク・ポイントの作成場所を識別します。
行	プログラム単位内のブレーク・ポイントのソース位置を識別します。
トリガー	必要に応じて、ブレーク・ポイントがヒットされたときに起動するPL/SQL文を入力します。BEGINおよびENDの各キーワードはトリガーでは必要ありません。 たとえば、DEBUG.INTERPRETを使用してインタプリタ・コマンドを実行できます。 DEBUG.INTERPRET('.SHOW LOCALS');


ブレーク・ポイントを識別します。フォームは、「ブレーク・ポイント: 新規作成」または 「ブレーク・ポイント: 番号」です。ラベルの値は、新規のブレーク・ポイントを指定する場合は「新規作成」、既存のブレーク・ポイントを変更する場合は番号です。


ブレーク・ポイントが使用可能か使用不可かを示します。


既存のブレーク・ポイントがあるプログラム単位または新規のブレーク・ポイントが作成されるプログラム単位を識別します。


プログラム単位内のブレーク・ポイントのソース位置を識別します。


ブレーク・ポイントがヒットされたときに起動するPL/SQL文を入力します。BEGINおよびENDの各キーワードは必要ありません。


「PL/SQLトリガー」ダイアログ・ボックス

「PL/SQLトリガー」ダイアログ・ボックスは、デバッグ・トリガーを作成し、TRIGGERコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

トリガー	デバッグ・トリガーを識別します。 フォームは、「トリガー: 新規作成」または ｢トリガー: 番号」です。新しいデバッグ・トリガーを指定するときのラベル値は「新規作成」であり、既存のデバッグ・トリガーを変更するときは番号です。
使用可能	デバッグ・トリガーが使用可能か使用不可かを示します。
場所	デバッグ・トリガーのソース位置を指定します。
	「プログラム単位」オプション（デフォルト）は、デバッグ・トリガーがプログラム単位内の特定のソース位置に置かれていることを示します。
	「デバッグ・エントリ」オプションは、トリガーがプログラム単位の実行停止と同時に起動することを示します。
	「ステートメント毎」オプションは、デバッグ・トリガーがプログラム単位内のすべての実行可能文の直前で起動することを示します。
プログラム単位	目的のプログラム単位を識別します。
行	プログラム単位内のデバッグ・トリガーのソース位置を識別します。
トリガー本体	デバッグ・トリガー本体に使用されるPL/SQL文を入力します。BEGINおよびENDの各キーワードは必要ありません。 デバッグ・トリガーは条件付きのブレーク・トリガーのように動作します。デバッグ・アクションが必要な場合について条件を指定する場合、その条件が真のときのみトリガーが起動します。   たとえば、変数が特定の値（100など）に等しい場合、DEBUG.BREAKをコールすることができます。 IF DEBUG.GETC('vnumber') = 100 THEN   RAISE DEBUG.BREAK; END IF;


デバッグ・トリガーを識別します。 フォームは、「トリガー: 新規作成」または｢トリガー: 番号」です。新しいデバッグ・トリガーを指定するときのラベル値は「新規作成」であり、既存のデバッグ・トリガーを変更するときは番号です。


デバッグ・トリガーが使用可能か使用不可かを示します。


デバッグ・トリガーのソース位置を指定します。


目的のプログラム単位を識別します。


プログラム単位内のデバッグ・トリガーのソース位置を識別します。


デバッグ・トリガー本体に使用されるPL/SQL文を入力します。


「PL/SQLステップ」ダイアログ・ボックス

「PL/SQLステップ」ダイアログ・ボックスではインタプリタのSTEPコマンドに対するグラフィカル・ユーザー・インタフェースが提供されており、デバッグ中に一時停止されたプログラム単位のコードを1行ずつ実行するオプションを設定できます。

モード	使用するステップ・オプションを指定します。
	「ステップ・イン（INTO）」は、実行を再開して、次の実行可能文まで続けます。
	「ステップ・オーバー（OVER）」は、実行を再開して、サブプログラムのコールをすべてスキップして、現行のプログラム単位内の次の実行可能文まで続けます。
	「ステップ・アウト（OUT）」は、ネストされたサブプログラムの実行を再開し、コール中のプログラム単位内の次の実行可能文の前で処理を停止します。
	「指定先へ（STEP TO）」は、実行を再開して、指定した位置に到達するまで続けます。
プログラム単位	「指定先へ（STEP TO）」コマンド・オプションのターゲット・プログラム単位本体を識別します。
行	「指定先へ（STEP TO）」コマンド・オプションのターゲット・プログラム単位本体内の位置を識別します。
カウント	STEPコマンドを繰り返す回数を指定します。カウントのデフォルト値は、1です。
適用	指定したオプションを受け入れ、それに従ってプログラム単位の実行を再開します。ステップ操作は通常1つずつ繰り返されるため、「ステップ」ダイアログ・ボックスは、ユーザーが明示的にクローズするまで、またはアクティブなデバッグ・レベルがあるかぎり、表示されたままです。


使用するステップ・オプションを指定します。


「指定先へ」コマンド・オプションのターゲット・プログラム単位本体を識別します。


｢指定先へ｣コマンド・オプションのターゲット・プログラム単位本体内の位置を識別します。


STEPコマンドを繰り返す回数を指定します。カウントのデフォルト値は、1です。


指定したオプションを受け入れ、それに従ってプログラム単位の実行を再開します。ステップ操作は通常1つずつ繰り返されるため、「ステップ」ダイアログ・ボックスは、ユーザーが明示的にクローズするまで、またはアクティブなデバッグ・レベルがあるかぎり、表示されたままです。


「プログラム単位のロード」ダイアログ・ボックス

「プログラム単位のロード」ダイアログ・ボックスは、ファイル・システム上に格納されたプログラム単位のインポートとコンパイルが可能であり、インタプリタのLOADコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

ファイル	プログラム単位ソース・テキストを含むファイルの名前（および位置）を入力します。
参照	オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。
確認の抑止	既存のプログラム単位を上書きする際などに、ロードおよびコンパイル時のすべての確認メッセージを抑止します。デフォルトは使用不可であり、確認メッセージは抑止されません。
ロード	選択を確認してプログラム単位をロードし、ダイアログ・ボックスをクローズします。


プログラム単位ソース・テキストを含むファイルの名前（および位置）を入力します。


オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。


既存のプログラム単位を上書きする際などに、ロードおよびコンパイル時のすべての確認メッセージを抑止します。デフォルトは使用不可であり、確認メッセージは抑止されません。


選択を確認してプログラム単位をロードし、ダイアログ・ボックスをクローズします。


「インタプリタ・デバッグ・スクリプト」ダイアログ・ボックス

「インタプリタ・デバッグ・スクリプト」ダイアログ・ボックスは、インタプリタ・コマンド、PL/SQLソースまたはSQL文の組合せが入ったスクリプトのインポートと実行が可能であり、INTERPRETコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

ファイル	解釈されるデバッグ・スクリプトを含むファイルの名前（および位置）を入力します。
参照	オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。
エコー	エコー・モードを使用可能または使用不可にします。デフォルトは使用不可です。 したがって、スクリプトがロードされたとき、スクリプトの各行はインタプリタ・コマンド・ラインにエコー表示されません。
サイレント	サイレント・モードを使用可能または使用不可にします。デフォルトは使用不可です。 したがって、スクリプトのロード中、状態メッセージは表示されます。
確認の抑止	既存のプログラム単位を上書きする際などに、操作時のすべての確認メッセージを抑止します。デフォルトは使用不可であり、確認メッセージは抑止されません。
インタプリタ	選択を確認してスクリプトを実行し、ダイアログ・ボックスをクローズします。


解釈されるデバッグ・スクリプトを含むファイルの名前（および位置）を入力します。


オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。


エコー・モードを使用可能または使用不可にします。デフォルトは使用不可です。 したがって、スクリプトがロードされたとき、スクリプトの各行はインタプリタ・コマンド・ラインにエコー表示されません。


サイレント・モードを使用可能または使用不可にします。デフォルトは使用不可です。 したがって、スクリプトのロード中、状態メッセージは表示されます。


既存のプログラム単位を上書きする際などに、操作時のすべての確認を抑止します。デフォルトは使用不可であり、確認メッセージは抑止されません。


選択を確認してスクリプトを実行し、ダイアログ・ボックスをクローズします。


「コンパイル」ダイアログ・ボックス

「コンパイル」ダイアログ・ボックスは、バッチ・コンパイル中にコンパイル・エラー・メッセージを表示します。 このダイアログ・ボックスで、コンパイルの中断と再開、およびエラー・ソースへのナビゲートが行えます。

ステータス行	プログラム単位のコンパイルの際、コンパイル中のプログラム単位の名前とタイプおよびコンパイルの終了したプログラム単位の割合などの情報を表示します。
	現在コンパイルされているプログラム単位の名前とタイプ。
	「割込み」をクリックした場合、[INTERRUPTED]を表示。
	コンパイルされたプログラム単位の割合。
コンパイル・エラー・リスト・ボックス	選択されたプログラム単位のコンパイル時のエラーを表示する、スクロール可能でマウス操作可能な領域。 コンパイル・エラー・リスト・ボックス内のエラーをクリックすると、プログラム単位エディタおよびエラーが特定されたプログラム単位が表示されます。 コンパイルの割込み状態のときに（「割込み」をクリックした結果）、コンパイル・エラー・リスト・ボックス内のエラーをクリックした場合、「今エラー処理に移ると、残りのコンパイル操作が停止します」という警告のメッセージが表示されます。
割込み	エラーが生成されすぎる場合などに、コンパイルを一時的に中止します。
再開	割込み後、コンパイルを再開します。
エラーへジャンプ	最初のエラーが位置しているプログラム単位ソースが含まれたプログラム単位エディタを表示します。 コンパイルの割込み状態のときに（「割込み」をクリックした結果）、コンパイル・エラー・リスト・ボックス内のエラーをクリックした場合、エラーのソースに移動するとバッチ・コンパイルが終了するという警告のメッセージが表示されます。 また、「PL/SQLコンパイル・メッセージ」ダイアログ・ボックスも表示されます。これは、選択されたプログラム単位のコンパイル時のエラーをすべて参照できる、スクロール可能でマウス操作可能なリスト・ボックスです。リスト・ボックス内でエラーをクリックすると、プログラム単位エディタおよびエラーが特定されたプログラム単位が表示されます。

エラーが検出されずにコンパイルが終了した場合、ステータス行に「コンパイルは正常終了しました」というメッセージが表示されます。コンパイル時にエラーが検出されて終了した場合は、「コンパイルは終了しましたが、エラーがあります」というメッセージが表示されます。

「PL/SQLコンパイル・メッセージ」ダイアログ・ボックスは、選択されたプログラム単位のコンパイル時のエラーをすべて参照できる、スクロール可能でマウス操作可能なリスト・ボックスです。リスト・ボックス内でエラーをクリックすると、プログラム単位エディタおよびエラーが特定されたプログラム単位が表示されます。


プログラム単位のコンパイルの際、コンパイル中のプログラム単位の名前とタイプおよびコンパイルの終了したプログラム単位の割合などの情報を表示します。


エラーが生成されすぎる場合などに、コンパイルを一時的に中止します。「割込み」をクリックすると、ステータス行に[INTERRUPTED]が表示されます。


割込み後、コンパイルを再開します。


「PL/SQLコンパイル・メッセージ」ブラウザを提示し、最初のエラーの位置でプログラム単位ソースが含まれたプログラム単位エディタを表示します。


正規表現

正規表現は、次の特殊なワイルドカード文字のいずれかを含むことができる文字列です。

.	任意の1文字を検索します。たとえば、.heでは、theとsheの両方が検索されます。
( )	デフォルトの優先順位が望ましくない場合、演算子（たとえば、+）の優先順位を強制するために使用します。たとえば、連結文字（theなど）は、他の+などの演算子より優先されます。したがって、the+Aは(the)+Aと等価です。また、theeeeeeAを検索する際、カッコを使ってth(e+)Aのようにすると、+が連結文字より優先されます。
[ ]	大カッコ内の任意の1文字を検索します。大カッコは論理OR演算子です。たとえば、t[hr]eでは、otherのtheおよびtrendのtreが検索されます。
|	2つの正規表現の間に使用します。どちらかの正規表現に一致するものが検索されます。
\	円マークの後の特殊文字を検索します。たとえば、\*は*が検索されます。円マークは、エスケープ文字です。円マークの次の特殊文字は、特殊文字として扱われません。 次に、エスケープ文字の特殊な使用方法を示します。
	\nは、改行文字を検索します。
	\tは、タブ文字を検索します。
	\bは、ブランク文字を検索します。
	\wは、\n、\t、\bまたは\0を検索します。
*	正規表現の0個以上のインスタンスを検索します。たとえば、(the)*Aでは、 AおよびtheA、thetheAが検索されます。
+	正規表現の1つ以上のインスタンスを検索します。たとえば、(the)+Aでは、theAおよびthetheAの両方が検索されますが、(the)*Aの場合とは異なりAは検索されません。
これらの文字が大カッコに囲まれている場合、特殊な意味を持ちます。

~	最初の文字に使用すると、大カッコ内の文字または範囲にない文字を検索します。たとえば、t[~hr]eでは、toeは検索されますがtheは検索されません。
-	文字の組の間にある場合、その範囲のすべての文字を検索します。たとえば、[A-E]では、文字AおよびB、C、D、Eが検索されます。文字範囲の組は、次のどちらでもかまいません。
	• アルファベット順にみて、最初の文字が2番目の文字より前にある（または同一の文字である）、同じケースのアルファベット。
	• 最初の数字が2番目の数字以下（たとえば、[4-9]または[0-3]）である数字。
	大カッコ内でエスケープ文字を使用することもできます。
ルール: 正規表現の特殊文字の優先順序は、( )、[ ]、連結文字（たとえば、abc）、*、+、~、 、|、.です。

次に、優先順位がわかるようにいくつかの例を示します。

•	Start|Finishは、(Start)|(Finish)と等価です。

•	Start*は、(Start)*と等価です。

•	Start|Finish*は、(Start)|((Finish)*)と等価です。


「PL/SQL表要素選択」ダイアログ・ボックス

「PL/SQL表要素選択」ダイアログ・ボックスには選択された表内の行に対する索引が入っています。 このダイアログ・ボックスを使用し、オブジェクト・ナビゲータで確認したい行を最大に拡大して選択できます。

レコード索引リストボックス	表内のすべての行の索引のリストが入った、スクロール可能なマウス専用の領域。
すべて選択	表内の要素をすべて選択します。
すべて選択解除	表内の要素をすべて選択解除します。
デフォルトでは、すべての索引が選択されます。[Ctrl]キーを押しながらリスト内の選択した項目をクリックして個々の選択を解除します。


「プログラム単位内の検索と置換」ダイアログ・ボックス

「プログラム単位内の検索と置換」ダイアログ・ボックスでは、複数のプログラム単位に渡って、検索と置換を実行できます。

検索文字列	検索文字列を入力します。   文字列を正規表現として扱う場合は、「正規表現を使う」チェックボックスをチェックします。
正規表現	検索条件に使用できる正規表現のリストを表示します。表現をクリックすると、「検索文字列」ボックスに挿入されます。
置換文字列	検索文字列を置換するための文字列を入力します。
正規表現を使う	検索条件に正規表現を使用する場合は、このボックスをチェックします。 検索条件に正規表現を使用しない場合は、このボックスのチェックを外します。
大/小文字を区別	検索文字列の英文字の大文字と小文字を区別して検索する場合は、このボックスをチェックします。 英文字の大小の区別なく、検索文字列に一致するすべての文字列を検索する場合は、このボックスのチェックを外します。
検索する場所	検索または検索/置換を実行する場所を指定します。 スタンドアロンのProcedure Builderでは、「/」はオブジェクト・ナビゲータの1番上のプログラム単位ノードを表します。現行のセッションでオープンしているすべてのPL/SQLライブラリが、「/」の下にリストされます。   すべてのノードがデフォルトで選択されます。特定のノードのみを検索したい場合は、そのノードをクリックします。
すべて検索	指定した検索文字列に一致するすべての文字列を検索します。置換は行われません。
すべて置換	検索文字列に一致するすべての文字列を、指定の置換文字列に置換します。一括置換を行う場合は、操作の確認を求めるメッセージ・ボックスが表示されます。
クローズ	ダイアログ・ボックスをクローズします。
ヘルプ	ヘルプ・トピックを表示します。
「結果」リスト・ボックス	検索結果文字列が表示されます。検索結果文字列の場所は、ノード、プログラム単位の名前、ソースの行数と列数で示されます。 リスト・ボックスの上にあるステータス・バーには、検索または置換された文字列の数が表示されます。 検索結果文字列を編集または置換するために選択するには、その文字列をクリックします。複数の検索結果文字列を選択できます。
置換	「結果」リスト・ボックスで選択した検索結果文字列のみを対象に、検索文字列を置換文字列に置換します。
編集	選択した検索結果文字列のソースをプログラム単位エディタでオープンします。


プログラム単位エディタのインタフェース

関連項目

プログラム単位エディタに含まれるボタンおよびドロップダウン・リスト・ボックスは次のとおりです。

コンパイル	現行のプログラム単位をコンパイルします。コンパイルの結果生成されたエラー・メッセージは、スクロール可能なコンパイル・メッセージ・ペインに表示されます。
適用	エディタが最初にオープンされてから、あるいは最後の適用操作または変更の破棄の操作が行われてから、エディタのプログラム単位に加えられた変更を保存します。プログラム単位は再コンパイルされません。エディタはクローズしません。元に戻すスタックまたは再実行スタックは消去されます。
変更の破棄	最後の適用操作または変更の破棄操作を行ったときの状態に、プログラム単位を戻します。適用操作または変更の破棄操作が行われなかった場合、プログラム単位は元の状態に戻ります。
作成	「新規プログラム単位」ダイアログ・ボックスを表示します。このダイアログ・ボックスで、作成するプログラム単位のタイプと名前を指定できます。
削除	現行のプログラム単位を削除します。操作の確認を求めるメッセージ・ボックスが表示されます。
クローズ	プログラム単位エディタをクローズします。
ヘルプ	このヘルプ・トピックが表示されます。
名前	現行のプログラム単位の名前を表示します。現行セッションにあるその他の既存プログラム単位のドロップダウン・リストを表示するには、フィールドの右にある矢印をクリックします。ソース・ペインにプログラム単位を表示するには、このリストで表示するプログラム単位をクリックします。

この他に、エディタは次の要素で構成されています。

ソース・ペイン	PL/SQLプログラム単位ソース・テキストを入力および編集する領域。 分割バーを使用すると、現行のプログラム単位について、異なるビューを4つまで作成できます。各ビューは、個別にスクロールできます。   ソース・ペイン内に水平なビューを作成するには、垂直スクロール・バーの最上部にある分割バーにカーソルを置き、ダブルクリックします。これによってソース・ペインが2つの均等なビューに水平に分割されます。また、分割バーをクリックし、希望のビュー・サイズになるまでドラッグして調整することもできます。  垂直なビューを作成するには、水平スクロール・バーの左端にある分割バーにカーソルを置き、ダブルクリックします。これによってソース・ペインが2つの均等なビューに垂直に分割されます。また、分割バーをクリックし、希望のビュー・サイズになるまでドラッグして調整することもできます。 ビューのサイズを変更するには、ビューを分割している分割バーをクリックし、ドラッグします。 水平または垂直なビューを削除するには、ビューを分割している分割バーをダブルクリックするか、ペインの端までドラッグします。 4つのビューを一度にすべて削除するには、境界バーが交差する部分にカーソルを置いてダブルクリックするか、交差する部分をペインの任意の隅までドラッグします。 コード行を選択するには、左マージンにカーソルを置いて、クリックします。
コンパイル・メッセージ・ペイン	コンパイルの結果生成されたエラー・メッセージがあれば表示します。エラー・メッセージをクリックすると強調表示され、問題のソース文までソース・ペインをスクロールし、エラーの位置にテキスト・カーソルが置かれます。 デフォルトでは、コンパイル時にコンパイル・エラー・メッセージが生成された場合にだけ、コンパイル・メッセージ・ペインが表示されます。 コンパイル・メッセージ・ペインを必要なときに手動で表示するには、カーソルの形状が十字線になるまで、カーソルをエディタ・ウィンドウの右下隅に移動します。次に、マウスを1回クリックし、カーソルを上にドラッグします。これによって分割バーが上に移動し、その下にコンパイル・メッセージ・ペインが表示されます。
分割バー （ペインの分割）	ソース・ペインとコンパイル・メッセージ・ペインを分割します。これによって、ペインの相対サイズを変更できます。ペインのサイズを変更するには、分割バーをクリックして、ドラッグします。 コンパイル・メッセージ・ペインが表示されない場合は、分割バーがエディタ・ウィンドウの底部にあります。
ステータス・バー	エディタの1番下に、プログラム単位の現行の状態に関する情報を表示します。


「ソース」ペインに表示されるプログラム単位をコンパイルします。コンパイルの結果生成されたエラー・メッセージは、スクロール可能なコンパイル・メッセージ・ペインに表示されます。


エディタが最初にオープンされてから、あるいは最後の適用操作または変更の破棄操作が行われてから、エディタでプログラム単位に加えられた変更を保存します。プログラム単位は再コンパイルされません。エディタはクローズしません。


最後の適用操作または変更の破棄操作を行ったときの状態に、プログラム単位を戻します。適用操作または変更の破棄操作が行われなかった場合、プログラム単位は元の状態に戻ります。


「新規プログラム単位」ダイアログ・ボックスを表示します。このダイアログ・ボックスで、作成するプログラム単位のタイプと名前を指定できます。


表示されているプログラム単位を削除します。


エディタをクローズしようとします。変更後、変更内容が適用されていない場合、メッセージ・ボックスが表示され、変更内容を適用または破棄するか、あるいは操作を取り消すように求められます。変更内容がすべて適用または破棄されると、プログラム単位エディタはクローズします。


現在エディタに表示されている、プログラム単位のタイプ（トリガー、プロシージャなど）を指定します。


プログラムがどのオブジェクトに関連付けられているかを指定します。


現行のプログラム単位の名前を表示します。その他の既存プログラム単位のドロップダウン・リストを表示するには、フィールドの右にある矢印をクリックします。エディタにプログラム単位を表示するには、このリストで表示するプログラム単位をクリックします。


PL/SQLプログラム単位のソース・テキストの入力と編集を行います。


コンパイル中に発見された構文エラーを表示します。プログラム単位内のエラー元の位置に進むには、エラーをクリックします。


プログラム単位エディタの2つのペイン（ソース・ペインとコンパイル・メッセージ・ペイン）領域の相対量を変更できます。デフォルトでは、コンパイル・メッセージ・ペインは、コンパイル中にエラー・メッセージが生成された場合にのみ表示されることに注意してください。


ステータス・バーの右側に次のメッセージが表示されます。

変更されていません。	プログラム単位が最初に表示または最後に適用されてから加えられた変更はありません。
変更されました。	プログラム単位が最初に表示または最後に適用されてから1つ以上の変更が加えられています。

ステータス・バーの右側に次のメッセージが表示されます。

コンパイルされていません。	現在表示されているプログラム単位のソース・テキストは、コンパイルされていません。
コンパイルは成功しました。	現在表示されているプログラム単位のソース・テキストは、エラーなくコンパイルされました。
コンパイル･エラーがあります。	現在表示されているプログラム単位のソース・テキストは、コンパイル中にエラーが発生しました。エラーは、コンパイル・メッセージ・ペインに表示されます。


編集機能

関連項目

次の編集機能は、プログラム単位エディタおよびストアド・プログラム単位エディタでのみサポートされます。

自動インデントおよびインデント解除	エディタでコードを入力すると、PL/SQL構文の規則に従って行が自動的にインデントまたはインデント解除されます。
カラーによる構文のハイライト	キーワード、コメント、文字列および:=や||などの記号は、別のカラーで表示されます。
列と行の選択	テキスト列やソース・コードの行を選択できます。 列を選択するには、[ALT]キーを押してから列ををクリックし、水平にドラッグします。 行を選択するには、ソース・ペインで行の左端マージンをクリックします。
ドラッグ・アンド・ドロップによるテキストの操作	選択されたテキストは、ドラッグ・アンド・ドロップによってコピーまたは移動できます。 テキストをコピーするには、[Ctrl]キーを押しながら、選択したテキストをドラッグします。 テキストを移動するには、選択したテキストをドラッグします。
行のインデントおよびインデント解除	「編集」メニューの「インデント」コマンドおよび「インデント解除」コマンドを使用すると、選択したソース行をインデントまたはインデント解除できます。 [Tab]および[Shift]+[Tab]キーを押しても、選択した行をインデントまたはインデント解除できます。
複数の分割ビュー	現行のプログラム単位の別個のビューを最大4つ作成できます。 水平ビューを作成するには、垂直スクロール・バーの一番上にある分割バーにカーソルを置きます。次に、分割バーをクリックし、下にドラッグします。 垂直ビューを作成するには、水平スクロール・バーの左端にある分割バーにカーソルを置きます。次に、分割バーをクリックし、右方向にドラッグします。 水平ビューまたは垂直ビューを削除するには、ビューを分割する分割バーをダブルクリックします。
印刷	現行のプログラム単位を印刷するには、「ファイル」 [image] 「印刷」を選択します。
無制限の元に戻す/再実行	「編集」メニューの「元に戻す」コマンドおよび「再実行」コマンドを使用すると、最後に保存したときの状態まで、変更を元に戻したり、再実行できます。

注意: これらの機能は、Microsoft Windowsのみで使用できます。UNIXでは、次の操作のみを実行できます。

•	現行のプログラム単位の印刷

•	[TAB]および[Shift]+[TAB]キーを使用した、選択行のインデントとインデント解除

•	ドラッグ・アンド・ドロップによる選択テキストの移動


エディタでのマウスの使用

関連項目

Microsoft Windowsでプログラム単位エディタ（およびストアド・プログラム単位エディタ）を使用するときは、次のマウス操作がサポートされています。

操作	マウス操作
文字の範囲を選択する	選択する範囲内の最初の文字をクリックし、最後の文字までカーソルをドラッグします。(UNIXでもサポートされています) または 選択する範囲内の最初の文字をクリックし、[Shift]キーを押しながら最後の文字をクリックします。
カーソルの下の単語を選択する	単語をダブルクリックします。(UNIXでもサポートされています) または [Ctrl]キーを押しながら、選択する単語をクリックします。
単語の範囲を選択する	[Ctrl]キーを押しながら、選択する範囲の最初の単語をクリックし、最後の単語までカーソルをドラッグします。
行を選択する	選択する行の左マージンにカーソルを置きます。カーソルが矢印に変わったときにクリックします。
複数の行を選択する	選択する最初の行の左マージンにカーソルを置きます。カーソルが矢印に変わったときにクリックし、選択する最後の行までカーソルをドラッグします。
テキスト列を選択する	[Alt]キーを押し、選択する範囲の最初の列をクリックし、最後の列までカーソルをドラッグします。
選択されたテキストを移動する	まずテキストを選択します。次に、選択したテキストをクリックし、新しい位置にドラッグします。(UNIXでもサポートされています)
選択されたテキストをコピーする	まずテキストを選択します。次に、[Ctrl]キーを押しながら、コピーを配置する位置まで、選択したテキストをドラッグし、マウスを離します。
ウィンドウを2つの水平ビューに分割する	垂直スクロール・バーの一番上にある分割バーをダブルクリックします。 または 垂直スクロール・バーの一番上にある分割バーをクリックし、ドラッグします。
ウィンドウを2つの垂直ビューに分割する	水平スクロール・バーの左端にある分割バーをダブルクリックします。 または 水平スクロール・バーの左端にある分割バーをクリックし、ドラッグします。
分割ビューの相対サイズを調整する	ビューを分割している分割バーをクリックし、ドラッグします。
分割ビューを削除する	ビューを分割している分割バーをダブルクリックします。 または 分割バーをクリックし、ウィンドウの端までドラッグします。 4つのビューを一度に削除するには、分割バーが交わる点をダブルクリックするか、またはその点をウィンドウの任意の角までドラッグします。


エディタでのキーボードの使用

関連項目

Microsoft WindowsまたはUNIXでプログラム単位エディタ（およびストアド・プログラム単位エディタ）を使用するときは、次のキーボード操作がサポートされています。

操作	キー入力
カーソルを左に1文字移動する	[←]
カーソルを左に移動しながら文字を選択する	[Shift]+[←]
カーソルを右に1文字移動する	[→]
カーソルを右に移動しながら文字を選択する	[Shift]+[→]
選択された文字または単語をコピーする	[Ctrl]+[C]
選択された文字または単語をカットする	[Ctrl]+[X]
クリップボードからペーストする	[Ctrl]+[V]
現行のカーソル位置の右側にある文字を削除する、または選択された文字または単語を削除する	[Del]
現行のカーソル位置の左側にある文字を削除する	[Back Space]
カーソルをプログラム単位の末尾に移動する	[Ctrl]+[End]	(Windowsのみ)
カーソルをプログラム単位の先頭に移動する	[Ctrl]+[Home]	(Windowsのみ)
現行のカーソル位置から、プログラム単位の末尾までのソース行を選択する	[Ctrl]+[Shift]+[End]	(Windowsのみ)
現行のカーソル位置から、プログラム単位の先頭までのソース行を選択する	[Ctrl]+[Shift]+[Home]	(Windowsのみ)
カーソルを現行の行の末尾に移動する	[End]	(Windowsのみ)
カーソルを現行の行の先頭に移動する	[Home]	(Windowsのみ)
現行のカーソル位置から、現行の行の末尾までの文字を選択する	[Shift]+[End]	(Windowsのみ)
現行のカーソル位置から、現行の行の先頭までの文字を選択する	[Shift]+[Home]	(Windowsのみ)
選択された行をインデントするか、または現行のカーソル位置の右側にある文字をインデントする	[Tab]
選択された行をインデント解除する	[Shift]+[Tab]
カーソルを下に1行移動する	[↓]
カーソルを下に移動しながら行を選択する	[Shift]+[↓]
カーソルを上に1行移動する	[↑]
カーソルを上に移動しながら行を選択する	[Shift]+[↑]
ソース・ペインに表示されている行数単位でプログラム単位を下にスクロールする	[Page Down]
ソース・ペインに表示されている行数単位でプログラム単位を下にスクロールしながら行を選択する	[Shift]+[Page Down]
ソース・ペインに表示されている行数単位でプログラム単位を上にスクロールする	[Page Up]
ソース・ペインに表示されている行数単位でプログラム単位を上にスクロールしながら行を選択する	[Shift]+[Page Up]
最後の操作を元に戻す	[Ctrl]+[Z]	(Windowsのみ)
最後に元に戻した操作を再実行する	[Ctrl]+[Y]	(Windowsのみ)


フォーム設計の目標について

アプリケーションを設計する前に、使いやすさに関して次の点を考慮してください。

生産性 作成するアプリケーションは、エンド・ユーザーがそれまで使用していたシステムよりも高い生産性を提供する必要があります。情報は、単純で、理解しやすい形式で表示する必要があります。

学習の容易さ 作成するアプリケーションは、学習が容易で、直感的に使用できるものにしてください。または首尾一貫して、親しみやすく、動作が予測できるものにしてください。専門家のための迅速かつ強力な機能と、初心者のための明確でわかりやすい機能を備えている必要があります。

ユーザーの経験 作成するアプリケーションは、ユーザーに利用すると思わせるものにしてください。作業を迅速に完了させるために必要な情報とツールをユーザーに提供することにより、タイムリかつ有効なフィードバックができるようにする必要があります。また、取り返しのつかない結果になることを恐れずに、体験学習ができるアプリケーションにする必要があります。

同時に、"究極のUI"を達成することを目指して、それを作成して維持するのに要する時間や資源と、基本的な業務要件を実現するのに必要な資源の割当てとの間には妥協が必要です。最善のUIを備えた製品であっても、完成が遅すぎたり業務要件を満たしていない場合には、要件を満たしているとは言えません。


要件分析の実行

適切なユーザーからのフィードバックに基づいて製品のユーザー・インタフェースを設計することが重要です。たとえば仕訳記入画面は、それを定期的に使用することになる総勘定元帳係からのコメントに基づいて設計する必要があります。これは単純なコンセプトですが、しばしば見すごされ、アプリケーション開発者が行った‘テスト’のみを基にＵＩが設計されることがよくあります。UIが適切かどうかをコメントする資格があるのは、その製品を実際に使用するユーザーのみです。

必ず、広範囲なユーザーで試してください。単一の顧客サイトのユーザーからのフィードバックのみでは、そのサイトの作業に偏ってしまいます。できる限り、実際の'ハンズオン'テストに基づいてフィードバックを得てください。


作業フローの分析

製品がサポートするすべての作業について、その作業の実行に必要なステップに基づいてフローチャートを作成する必要があります。作業の最適化のためには、作業過程として全局面を見渡すことが必要です。適切なUIを設計するためには、作業フローを文書化し、次に挙げる点について分析します。

•	その作業を完了するために必要な関連情報は何ですか。ユーザーが無視する必要のある情報の量はどの程度ですか。

•	その画面用のデータの使用頻度とボリュームはどの程度ですか。

•	どのウィジェットが最も適切ですか。その画面は、データ入力速度の速いユーザーが使用するものですか。

•	その作業と画面について、ユーザーにどの程度のトレーニングを期待しますか。

•	ユーザーが特定のステップでミスをしたり、あるステップを迂回しようとした場合、どうなりますか。作業のステップは順を追って実行する必要があるのか、あるいは並行して実行できますか。

•	途中、ユーザーはどのような決定をする必要がありますか。その決定が例外的なケースのみの場合はどうなりますか。

•	ユーザーはその他のどのツールに精通している可能性がありますか。そのツールに基づいて、ユーザーが製品に期待することは何ですか。


移植性について

 例	     関連項目

移植性とは、多様な環境において均一性を追求する、ということです。理想的には、移植性とは、UNIXなどの1つのプラットフォーム上で開発されたアプリケーションを、Microsoft Windowsなどの他のプラットフォーム上で変更を加えることなく実行できることを意味します。

現実の世界では、プラットフォームやウィンドウ・システムごとに、"ルック&フィール"の実装が異なるので、あるユーザー・インタフェースの特性は別のユーザー・インタフェースでは異なってきます。たとえば、「ヘルプ」メニューの配置と表示は、Microsoft Windows、MacintoshおよびMotif上では異なります。


移植性のための設計

  関連項目

設計フェーズの早い段階で、すべてのプラットフォームをサポートすることから生じる制限と翻訳要件について分析する必要があります。

アプリケーションが複数の環境に配備される場合、アプリケーションはそれらの環境すべての制約に適合しなくてはなりません。単一の環境のみに配備される場合、アプリケーションはその環境の制約のみに適合することが必要です。さらに、すべてのプラットフォーム上で実行するように設計された製品にも、特定のプラットフォーム上でのみ起動される追加ロジックをもたせることができます。アプリケーションが本来実行されるように設計されたすべてのプラットフォーム上で、予想どおりに確実に実行されるようにすることは、設計者の責任です。


移植性の例について

•	プラットフォームの移植性: 同じアプリケーションを複数のプラットフォーム間で使用できます。

例 UNIX上で開発し、Microsoft WindowsおよびMacintosh上で使用します。

•	デバイスの移植性（画面のサイズと解像度のバリエーションおよびモノクロとカラーの違いを含みます）。同じプラットフォーム上の異なるデバイスで開発し使用できます。

例 Microsoft Windows上で開発し、Microsoft Windowsの大画面高解像度およびMicrosoft Windowsの小画面低解像度の両方で使用します

•	UIの移植性。GUIデバイスと文字モード・デバイスで同じアプリケーションを使用できます。

例 Microsoft Windows上で開発し、Microsoft WindowsおよびVT220上で使用します。


移植プロセスについて

  関連項目

移植性のあるアプリケーションを作成するための一般的なプロセスは、次のとおりです。

1	アプリケーション内およびプラットフォーム間で同じ"ルック＆フィール"が確実に得られるよう、アプリケーションの基準を作成します。

2	ベース・プラットフォーム上でアプリケーションを作成します。

3	ターゲット・プラットフォーム上でコピー、再コンパイル、実行し、最適な外観を実現するために調整が必要な部分を調べます。

アプリケーションを移植すると、ターゲット・プラットフォーム上で直接アプリケーションを実行できるようになります。Form Builderが作成されたToolkitレベルで、すべてのウィジェットがターゲット・プラットフォームの外観と操作性を持って表示されます。

ただし、プラットフォーム間の違いにより、元のソース・コードに若干の変更を加えて、元のプラットフォームとターゲット・プラットフォームの両方で要件が満たされるようにする必要がある場合もあります。

4	Form Builderでベース・プラットフォーム・アプリケーションを微調整します。


プラットフォーム固有の機能

製品の基本的な業務要件がすべてのプラットフォーム上で満たされる場合には、複数のプラットフォーム上で実行されるフォームにプラットフォーム固有の機能をコーディングできます。たとえば、HR製品で、管理階層を維持するためのすべてのプラットフォーム上で実行可能なテキスト・エディタを構築し、特定のプラットフォーム上で実行されるグラフィック・エディタでこれを補強できます。

ただし、特定のプラットフォーム上である機能が使用できる場合でも、場合によってその機能は使用には適さないこともあります。たとえば、集中して行うデータ入力用に設計された画面では、画面を見ないと操作できないウィジェットの使用は適切でありません。


プラットフォーム固有の特性

サポートされるすべてのUIの間には、ウィジェットの配置やサイズなど基本的な非互換性が存在します。このような矛盾が存在し、簡単に解決できない場合には、これらの規格はMicrosoft Windowsに推奨されるモデルに従います。

ウィジェットの多くの表示特性は、すべてのプラットフォームでの適切な外観を保証する被参照プロパティ・クラスのスキーマにより説明できます。ただし、一部の動作特性をもたらす標準コードを作成するのは、開発者の責任です。たとえば、Macintoshでは、ユーザーはテキスト項目以外のウィジェットにナビゲートすることはできません。


画面特性

一般に、最大推奨ウィンドウサイズは、7.8"（幅）x 5.0"（高さ）です。この最大サイズは、文字モードをサポートするための要件によるものです。作成する製品またはフォームを文字モードで実行する必要がない場合は、より大きいサイズの画面が利用でき、それにより、より大きいウィンドウ・サイズを使用できます。

ビットマップ・モニターでさまざまな画面解像度をサポートするには、物理座標ではなく論理座標に基づいた座標システムを使用してフォームを作成する必要があります。このため、画面はすべてインチ単位でレイアウトしてください。

最後に、モノクロの画面および色盲のユーザーをサポートするために、カラー・コーディングの使用は補強の目的に限る必要があります。たとえば、財務総計がマイナスの場合には赤で表すこともできますが、（値の前にマイナス記号を付けるなど）色がついていなくてもわかるように示す必要があります。


文字モードの問題

文字モードではいくつかの制限があります。

•	フォントはモノスペースになるため、平均するとプロポーショナル・フォントに比べてずっと多くのスペースが必要になります。ボイラープレートとテキスト・ウィジェットは1つのセルに1文字にできるように画面設計する必要があります。

•	大部分のオブジェクトは、ボイラープレート（プロンプトと線）およびウィジェット（テキスト項目、チェックボックスなど）を含め、文字セル格子にぴったりはまるようにレイアウトする必要があります。

•	各ウィジェットは、フォーカスがない場合も含めて、キーボードから操作できる必要があります。

•	画面はすべて、80 x 24文字の文字セルのグリッドに合わせてください。

•	スクロールを必要とするものは使用が非常に困難です。

•	アイコン・ボタンは隠す必要があります。アイコン・ボタンによって提供される機能は文字モードでは必要とされないか、代わりの起動方法（「Special」メニューなど）が必要です。

•	フォントやカラーのバリエーションを使用したデータの表現は、情報を提示する二次的な方法としてのみ使用できます。

文字モードで実行する必要のない製品または画面は、前述の制約を受けません。ただし、これらの制約の多くが満たされる場合には、GUIフォームの方が開発しやすく、使用も便利なことが多いと言えます。たとえば、文字モードで実行されるものであるかどうかに関係なく、完全にキーボードから操作可能な画面を設計します。


Microsoft Windowsのリソースの問題

Microsoft Windowsでの実行時にシステム・リソースの使用を管理するために、少し規格から外れて作成するウィジェットの数を減らす必要があることがあります。

重大なリソースの問題を引き起こす可能性のある大きなフォームについては、リソースの使用を減らすために次のガイドラインおよび提案も使用できます。

•	特定のコマンドを、フォーム上のボタンとしてではなく、「Special」メニュー上の項目として使用できるようにします。

•	水平スクロール領域を、1度に列のサブセットのみが表示される代替領域に変更します。

•	1つのウィンドウで複数の代替領域を使用するか、ウィンドウ・フローを改善することにより、ウィンドウの数を減らします。

•	オーバフロー領域または組合せブロックを使用することにより、複数行の特定の情報（主キーおよび記述子フィールド）と重要度の低い情報を1行表示します。


翻訳

製品がすべての国で適切な言語で実行されるようにするためには、製品の使用中にユーザーが入力するデータを除いて、ユーザーに提示されるプロンプト、タイトル、メッセージ、データがすべて翻訳可能であることが必要です。この大部分は、Oracle Translation Managerによって処理されますが、メッセージはMessage Dictionaryによって処理されます。アプリケーションのデバッグのために開発者が必要とする（ユーザーに提示されてはならない）クリティカル・エラーを除いて、テキストはすべて、ユーザーの母語でユーザーに提示してください。

翻訳対象には、英語からその他の言語への翻訳時に30%拡張される場合のための十分なスペースが必要です。このスペースは、ウィジェットとその配置に応じて、左、右、左右両方のいずれかに必要です。なお、この30%の拡張ルールは、フォームを文字モードで実行する必要がない場合を除き、インチではなく文字セルの数に適用されます。さらに、翻訳される長さがあらかじめわかっている場合を除いて、プロンプトにはすべて、翻訳時に拡張するために最低でも合計で1インチのスペースが必要です。

数値データと日付も、現行言語に適した書式でユーザーに提示してください。


ユーザーの情報受入れの理解

物理的なデータベースの表ではなく、データの論理的な関係に基づいてウィンドウをレイアウトする必要があります。たとえば、「販売およびマーケティング製品」においてユーザーは'Account'をそのアカウントの固有データとして受け入れ、同時にまた、アカウントの'Contacts'と'Executives'もそのように受け入れます。これらの3つのエンティティは個々の物理表に格納されていますが、これらをすべて単一のウィンドウ・セットに配置することにより、ユーザーは引き続きこれらのエンティティを1つの論理オブジェクトとして認知します。

注意: Form Builderでは、新規マスター・レコードが選択され、詳細ブロックで変更されているときに、変更を保存するようにユーザーに依頼します。論理オブジェクトとトランザクションのそれぞれのブロックレベルおよびレコードレベルのプロパティを示すことで、論理オブジェクトとトランザクションの統一は壊れますが、これは回避できないものと判断されました。


サマリーとディテールの選択

ウィンドウに情報を配置するときには、あるエンティティについて多数のレコードを同時に見たいときと、個々のレコードに関する詳細についてすべて同時に見たいときがあり、この2つの間で常に妥協することになります。要約された（サマリー）表示には、エンティティの多数のレコードを表示するという利点がありますが、各レコードに関する詳細な（ディテール）情報は犠牲になります。サマリーとディテールの最善の妥協点を判断するには、慎重な分析が必要です。多くの場合、2つのビューを混成することによって最善の結果が得られます。


雑然とした情報の回避

情報のオーバロード、つまり、ユーザーに提示される情報が多すぎる、というようなことはありません。しかし、情報が正しく編成されていないと、すぐに雑然とした状態になってしまいます。多数の属性を持つエンティティを単にフィールドの'海'として表すことは、目的の情報の断片を見つけるのにスクリーン全体をくまなく探すことをユーザーに強制します。その代わりに、データを慎重に編成しグループ化することにより、ユーザーはより簡単かつ自然に情報をナビゲートできるようになります。


情報の可視性の理解

作業フローの分析により、個々の時点でユーザーがどの情報にアクセスできる必要があるかを明らかにする必要があります。たとえば、ユーザーが仕訳帳を入力するために帳簿情報を見る必要がある場合、帳簿情報を常に見えるようにしておく必要があるのか、要求に応じて見ることができればよいのかを決定する必要があります。これが次には、各エンティティをどのくらい表示する必要があるか、ウィンドウはいくつ必要か、といったことに影響します。


一般的なレイアウトのルール

  関連項目

すべての画面に次のルールが適用されます。例外については、本書の中で言及します。

•	上から下への作業順序に基づいて画面レイアウトの方向を決定します。ブロック、領域および項目は、優先順位により、左から右へ、次に上から下へと配置されます。

•	スクリーン・スペースを浪費しないでください。ウィンドウは、必要な大きさにします。情報のグループ化には空白領域を使用します。

•	大部分のウィジェットは高さ0.25インチで、幅は0.1インチの倍数です。2次元のウィジェット（複数のテキスト項目、TLIST）の高さは0.25インチの倍数です。テキスト・ボタンの高さは、プラットフォームによって異なります。

•	シングル・レコード・ブロックでは、可能であれば項目を左揃えにします。マルチ・レコード・ブロックでは、項目は水平に並べ、1番上に揃えます。

•	タイトルおよびプロンプトは、それが記述される要素の上または左に配置します。シングル・レコード・ブロックのプロンプトは常にフィールドの左にあります。マルチ・レコード・ブロックのプロンプトはフィールドの上にあり、同様にそれが示すフィールド内のデータに揃えられます。表形式のレイアウト、プロンプトを必要としないフィールド、連結したプロンプト、複数行のプロンプトには例外が存在します。

•	キャンバスおよびウィンドウ枠上の項目の間には、少なくとも1文字分のスペースを残しておきます。また、上下に1行を空けておくことも望ましい措置ですが、必須ではありません。ブロックおよび領域を示すために使用される線および四角形には、例外が存在します。

•	ユーザーにとって意味がある場合に、類似したものと、異なるものとを分けて示します。つまり、画面の使いやすさを向上させる場合以外は、項目をグループ化するための領域の作成やボイラープレートの使用は避けます。

•	データを目立たせ、そのデータにアクセスするための制御が直観的にわかるようにすることは望ましい措置ですが、目立ちすぎないようにします。

•	すべてのウィンドウで、同じ属性には同じウィジェットを使用します。


フォームの作成について

  関連項目

それでは、フォームを作成してアプリケーションを完成させ、オペレータが実行できるようにするにはどうすればよいでしょうか。基本的な流れを次に示します。

1	モジュールを作成します。

2	ブロックと項目を作成します。

3	ユーザー・インタフェースの標準をオブジェクトに適用します。

4	レイアウトを微調整します。

5	プロパティを設定します。

6	コードを追加します。

7	アプリケーションをテストします。

操作	使用するForm Builderツール
モジュールを作成します。	オブジェクト・ナビゲータ
ブロックと項目を作成します。	データ・ブロック・ウィザード
規格を適用します。	オブジェクト・ライブラリ
レイアウトを微調整します。	レイアウト・ウィザードまたはレイアウト・エディタ
プロパティを設定します。	プロパティ・パレット
コードを追加します。	PL/SQLエディタ
フォームをテストします。	Forms Runtimeデバッガ


フォーム上のブロックについて

  関連項目

ブロックとは、テキスト項目やリスト、ボタンなどの関連づけられたオブジェクトをグループとして保持するための論理的な入れ物です。

ブロックは物理表現を持っていません。ブロックに収納されている項目のみがアプリケーション・インタフェースに表示できます。その他のオブジェクトと同様に、ブロックにもプロパティがあり、作成、コピー、修正することができます。

ブロックにより、関連する項目同士を1つの機能単位にグループ化してレコードを格納、表示、操作することができます。データベース内の表が関連する列と行から構成されているのと同じように、ブロックにはデータを表示する関連した項目が含まれています。

フォームに定義できるブロックの数に実質的な制限はありません。ブロックは論理的なグループ化にすぎません。ブロック内の項目は別々のキャンバスに置くこともでき、別々のウィンドウに表示することもできます。


ブロック・タイプについて

  関連項目

ブロックには、データと制御の2つのタイプがあります。

データ・ブロック	データ・ブロックとは、データベース内のデータ（表の列）に関係付けられているブロックです。

デフォルトでは、データ・ブロックとデータベースの間の関係付けによって、オペレータがデータベース内の行の自動的な問合せ、更新、挿入、削除の操作を行えるようになっています。

データ・ブロックは、データベースの表やビュー、プロシージャ、トランザクション・トリガーをもとに作成することができます。

制御ブロック	制御ブロックとは、データベースに関係付けられていないブロックであり、制御ブロック内の項目はデータベース内の表の列に関係付けられていません。

すべてのブロックは、シングル・レコード・ブロックまたはマルチ・レコード・ブロックのいずれかです。

•	シングル・レコード・ブロックでは、1度に1つのレコードが表示されます。

•	マルチ・レコード・ブロックでは、1度に複数のレコードが表示されます。

さらに、データ・ブロックはマスター・ブロックまたはディテール・ブロックとすることもできます。

•	マスター・ブロックには、ディテール・ブロックに表示されたディテール・レコードに関係付けられているマスター・レコードが表示されます。

•	ディテール・ブロックでは、マスター・ブロックに表示されたマスター・レコードに関係付けられているディテール・レコードが表示されます。


ブロック・データ・ソース

  関連項目

データ・ブロックは、次のデータ・ソースのいずれかをもとに作成することができます。

•	表

•	ビュー

•	FROM句（問合せデータ・ソースのみ）

•	プロシージャ

•	トランザクション・トリガー


ブロック・データ・ソースを選択するためのガイドライン

  関連項目

ブロック・データ・ソースを決定するときは、次の要件を考慮します。

•	そのブロックがレコードの問合せにのみ使用されますか。

•	INSERT、UPDATEおよびDELETE （DML）を実行するために使用されますか。

•	問合せとDMLの両方を実行するために使用されますか。

最も一般的に使用されるブロック・データ・ソースは表です。特別に要件がない場合には、ブロック・データ・ソースとして表を選択するのが最善です。

また、各データ・ソース・タイプの機能上の制限についても考慮します。

データ・ソース	問合せ	DML（INSERT 、UPDATE および DELETE）	配列処理可能	例による問合せ可能
表	可	可	可	可
ビュー	可	可（一部の結合ビューではDMLは許可されない）	可	可
FROM句	可	不可	可（問い合わされたレコードのみ）	不可
プロシージャ	可	不可（プロシージャが参照カーソル変数を使用する場合）	不可（プロシージャがレコードの表を使用する場合）	不可
トランザクション・トリガー	可	可	不可（トリガーがレコード表を使用する場合）	不可

注意: データ・ブロックに別個の問合せおよびDMLデータ・ソースを指定できます。


ブロック・データ・ソースとしての表の使用について

  関連項目

最も一般的に使用されるブロック・データ・ソースは表です。特別に要件がない場合には、ブロック・データ・ソースとして表を選択するのが最善です。

表にもとづいてデータ・ブロックを作成した場合、エンド・ユーザーは次のことを行えます。

•	レコードの問合せ

•	レコードのINSERT、UPDATE、DELETE

•	例による問合せ

表をもとにしたデータ・ブロックでは、配列処理を通してネットワークの通信量を減らすことができます。

「問合せ配列サイズ」プロパティによって問い合わされたレコードの配列処理が可能になり、「DML配列の大きさ」プロパティによってDML操作で使用されるレコードの配列処理が可能になります。


ブロック・データ・ソースとしてのトランザクション・トリガーの使用について

  関連項目

トランザクション・トリガーを使用してデータ・ブロックにデータを提供することができます。トランザクション・トリガーは、通常Form BuilderをOracle以外のデータ・ソースに対して実行する場合に使用されます。トランザクション・トリガーを使用すると、Form Builderのデフォルトの機能が置換されます。

トランザクション・トリガーのブロック・データ・ソースは、問合せとDMLの両方に使用できます。ブロック・データ・ソースがトランザクション・トリガーにもとづいている場合、配列処理はサポートされません。


ブロック・データ・ソースとしてのストアド・プロシージャの使用について

  関連項目

より高度なオプションに、ブロック・データ・ソースとしてストアド・プロシージャを使用するというオプションがあります。次のような場合に、ストアド・プロシージャをもとにデータ・ブロックを作成します。

•	制御とセキュリティを強化する場合

•	複数の表の問合せと更新をする場合

•	複雑な計算を実行する場合

•	サーバー側で妥当性チェックとDMLを実行する場合

•	サブプログラム内に機能をカプセル化する場合

•	配列処理を通してネットワーク通信量を減らす場合

ストアド・プロシージャでは、参照カーソルまたはレコード表のいずれかを使用して、データがデータ・ブロックに戻されます。


参照カーソルについて

  関連項目

参照カーソルとは、サーバー側のカーソル変数を指すポインタです。それはちょうど"C"のポインタに似ていて、メモリー内のある場所を指すアドレスです。ストアド・プロシージャでは、ブロック・データ・ソースとして使用するためにSELECT文によってオープンされたカーソルに対する参照が戻されます。

参照カーソルを使用するストアド・プロシージャは、問合せブロック・データ・ソースとしてのみ使用できます。DMLブロック・データ・ソースとして使用することはできません。SQL文内の指定方法のみに依存し、PL/SQLでの指定方法には依存しない問合せには、参照カーソルを使用すると便利です。

参照カーソルを使用するかレコード表を使用するかを決定する際には、次のことを考慮してください。

•	参照カーソルを使用するストアド・プロシージャは、問合せブロック・データ・ソースとしてのみ使用できます。

•	レコード表を使用するストアド・プロシージャは、問合せとDMLの両方のブロック・データ・ソースとして使用できます。


レコード表について

  関連項目

レコード表とは、レコードの配列に似たPL/SQLの構造体です。ストアド・プロシージャでは、配列が構成され、その結果生成されたレコードの集合がブロック・データ・ソースとして使用するために戻されます。

PL/SQLとSQLに依存する問合せには、レコード表を使用するのが理想的です。

レコード表の使用は、ネットワーク通信量の削減という点で非常に有効です。これは、レコード表を使用すると、ストアド・プロシージャの実行に（クライアントからサーバーへ）1往復、戻されたレコードすべてについて1往復で済むためです。

データ・ブロックがレコード表を戻すストアド・プロシージャにもとづいている場合には配列処理を選択することはできません。かわりに、問合せおよびDML操作では単一の配列が使用されます。配列のサイズは、操作全体で処理されるレコード数に依存します。たとえば、300件のレコードの問合せでは、300レコードを保持する単一の配列が戻されます。

配列処理を使用できないため、余分なレコードも返される可能性があります。また、すべてのレコードが同時にメモリー内に存在することになるため、大量のメモリーが必要になる可能性があります。レコード表を使用する場合は、アプリケーションを設計する際にあらかじめメモリー要件を考慮します。ストアド・プロシージャ内の配列サイズを制御することによって、メモリーの使用を制限することができます。

参照カーソルを使用するかレコード表を使用するかを決定する際には、次のことを考慮してください。

•	参照カーソルを使用するストアド・プロシージャは、問合せブロック・データ・ソースとしてのみ使用できます。

•	レコード表を使用するストアド・プロシージャは、問合せとDMLの両方のブロック・データ・ソースとして使用できます。


ブロック・データ・ソースとしてのFROM句の使用について

 関連項目

データ・ブロックのデータ・ソースとして、FROM句を使用できます。FROM句とはOracle8 Serverの機能であり、SELECT文のFROM句にSELECT文をネストすることです。FROM句は問合せブロック・データ・ソースとして有効ですが、DMLブロック・データ・ソースとしては有効ではありません。FROM句から戻される値は、元の問合せからのレコードのサブセットです。

FROM句は、サーバー上でビューを作成せずに結合、探索、計算を実行するために使用されます。また、FROM句を使用してビューのプロトタイプを作り、パフォーマンスを向上させることもできます。

ブロック・データ・ソースとしてのFROM句の使用は、更新可能な結合ビューのブロック・データ・ソースとしての使用と似ています。ただし、DBAの存在によってビューを定義する必要がないため、FROM句によってさらに制御されます。FROM句での結果はクライアント側からの更新可能な結合ビューの場合と同じですが、サーバーには定義されたビューは存在しないことに注意してください。

ネットワーク通信量を減らすことによってパフォーマンスを向上させるため、配列処理がサポートされています。「問合せ配列サイズ」プロパティを設定して、配列処理をしようできるようにします。


表からのデータ・ブロックの作成

  次のステップ	    関連項目

表からデータ・ブロックを作成するには:

「ツール」 [image] 「データ・ブロック・ウィザード」を選択し、データ・ブロックの作成過程をガイドするウィザードを起動します。

または

1	オブジェクト・ナビゲータで「データ・ブロック」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	「新規データ・ブロック」ダイアログ・ボックスで、「新規データ・ブロックを手動で作る」を選択し、「OK」をクリックします。

4	新規に挿入された「ブロック・オブジェクト」アイコン [image] をダブルクリックして、「プロパティ・パレット」を表示します。

5	「データベース」ノードの下で:

•	「問合せデータ・ソース・タイプ」プロパティを「表」に設定します。

•	「問合せデータ・ソース名」テキスト・ボックスにデータベースの表の名前を入力します。

6	「拡張データベース」ノードの下で:

•	「DMLデータ宛先タイプ」プロパティを「表」に設定します。

•	「DML データ宛先名」テキスト・ボックスにデータ・ソースの名前を入力します。

7	「一般」ノードの下で「名前」プロパティをクリックして、名前を入力するか、またはデフォルト名を受け入れます。

Oracle命名規則に準じていて、かつフォーム内のブロック間で他と重複しない任意の名前を使用できます。ブロック名は内部記述子であり、実行時には表示されません。


トランザクション・トリガーからのデータ・ブロックの作成

  関連項目

トランザクション・トリガーからデータ・ブロックを作成する方法:

「ツール」 [image] 「データ・ブロック・ウィザード」を選択し、データ・ブロックの作成過程をガイドするウィザードを起動します。

または

1	オブジェクト・ナビゲータで「データ・ブロック」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	「新規データ・ブロック」ダイアログ・ボックスで、「新規データ・ブロックを手動で作る」を選択し、「OK」をクリックします。

4	新規に挿入された「ブロック・オブジェクト」アイコン [image] をダブルクリックして、「プロパティ・パレット」を表示します。

5	「データベース」ノードの下で、「問合せデータ・ソース・タイプ」プロパティを「トランザクション・トリガー」に設定します。

6	適切なトランザクション・トリガーを定義します。

7	「拡張データベース」ノードの下で、「DMLデータ宛先タイプ」プロパティを「トランザクション・トリガー」に設定します。

8	適切なトランザクション・トリガーを定義します。

9	「一般」ノードの下で「名前」プロパティをクリックして、名前を入力するか、またはデフォルト名を受け入れます。

Oracle命名規則に準じていて、かつフォーム内のブロック間で他と重複しない任意の名前を使用できます。ブロック名は内部記述子であり、実行時には表示されません。


参照カーソルを使用するプロシージャからのデータ・ブロックの作成

 例	   制限事項	    関連項目

参照カーソルを使用するプロシージャからデータ・ブロックを作成する方法:

「ツール」 [image] 「データ・ブロック・ウィザード」を選択し、データ・ブロックの作成過程をガイドするウィザードを起動します。

または

1	オブジェクト・ナビゲータで「データ・ブロック」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	「新規データ・ブロック」ダイアログ・ボックスで、「新規データ・ブロックを手動で作る」を選択し、「OK」をクリックします。

4	新規に挿入された「ブロック・オブジェクト」アイコン [image] をダブルクリックして、「プロパティ・パレット」を表示します。

5	「データベース」ノードの下で:

•	「問合せデータ・ソース・タイプ」プロパティを「プロシージャ」に設定します。

•	「問合せデータ・ソース名」テキスト・ボックスにプロシージャの名前を入力します。

•	「問合せデータ・ソース名」テキスト・ボックスにプロシージャの名前を入力します。

•	「問合せデータ・ソース列」プロパティをダブルクリックし、「問合せデータ・ソース列」ダイアログ・ボックスで、参照カーソルから戻される結果集合の「列名」、「タイプ」、「長さ」、「精度」および「スケール」を適宜、入力します。

•	「問合せデータ・ソースの引数」プロパティをダブルクリックし、「問合せデータ・ソースの引数」ダイアログ・ボックスで、プロシージャとの間でやり取りされる「引数名」、「型」、「モード」および「値」を適宜、入力します。

6	「一般」ノードの下で「名前」プロパティをクリックして、名前を入力するか、またはデフォルト名を受け入れます。

Oracle命名規則に準じていて、かつフォーム内のブロック間で他と重複しない任意の名前を使用できます。ブロック名は内部記述子であり、実行時には表示されません。


参照カーソルを使用するプロシージャからのデータ・ブロックの作成時の制限事項

•	ブロックの問合せデータ・ソースがカーソル変数を戻すストアド・プロシージャであり、ブロックがリレーションのディテール・ブロックである場合には、「リレーション」の「レコード削除時の動作」プロパティで「孤立」のみがサポートされます。「非孤立」および「カスケード」をサポートすることはできません。これは、適切なSQL文を組み立てることができないからです（カーソルは、発行される1つのSELECT文の結果として生成されるレコードの1つのアクティブ・セットです）。「非孤立」削除および「カスケード」削除を行うためには、ON-DELETEトリガーまたはPRE-DELETEトリガーにチェックを指定します。

•	ストアド・プロシージャをデータ・ソースとして使用すると、「問合せ件数」は使用不可になります。実行時に問合せ件数をカウントしようとすると、エラー・メッセージが表示されます。かわりに、ON-COUNTトリガーを使用して件数をカウントできます。

•	ストアド・プロシージャに対して「WHERE句」または「ORDER BY句」を設定することはできません。


参照カーソルを使用するプロシージャからのデータ・ブロックの作成例

/*

This is an example of a stored procedure that returns a ref cursor as a block datasource.  A package is used to logically group the related data types and procedures.
*/
PACKAGE cv_datasource IS
TYPE emprec is RECORD (empno  emp.empno%TYPE,
         ename  emp.ename%TYPE,
         job    emp.job%TYPE,
         mgr    emp.mgr%TYPE,
         sal    emp.sal%TYPE,
         comm   emp.comm%TYPE,
         deptno emp.deptno%TYPE);
TYPE empcur is REF CURSOR RETURN emprec;
PROCEDURE empquery(resultset  IN OUT empcur,
         p_deptno  IN NUMBER);
END;

PACKAGE BODY cv_datasource IS
    PROCEDURE empquery(resultset IN OUT empcur,
            p_deptno  IN NUMBER) IS;
    BEGIN
      OPEN resultset FOR
      SELECT empno, ename, job, mgr, sal, comm, deptno
      FROM emp
      WHERE deptno = p_deptno
      ORDER BY empno;
    END;
END;


レコード表を使用するプロシージャからのデータ・ブロックの作成

 制限事項	    関連項目

レコードの表を使用するプロシージャからデータ・ブロックを作成する方法:

「ツール」 [image] 「データ・ブロック・ウィザード」を選択し、データ・ブロックの作成過程をガイドするウィザードを起動します。

または

1	オブジェクト・ナビゲータで「データ・ブロック」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	「新規データ・ブロック」ダイアログ・ボックスで、「新規データ・ブロックを手動で作る」を選択し、「OK」をクリックします。

4	新規に挿入された「ブロック・オブジェクト」アイコン [image] をダブルクリックして、「プロパティ・パレット」を表示します。

5	「データベース」ノードの下で:

•	「問合せデータ・ソース・タイプ」プロパティを「プロシージャ」に設定します。

•	「問合せプロシージャ名」テキストボックスにデータベース・プロシージャの名前を入力します。

•	「問合せデータ・ソース列」プロパティをダブルクリックします。「問合せデータ・ソース列」ダイアログ・ボックスで、レコード表から戻される結果集合の「列名」、「タイプ」、「長さ」、「精度」および「スケール」を適宜、入力します。

•	「問合せデータ・ソースの引数」プロパティをダブルクリックします。「問合せデータ・ソースの引数」ダイアログ・ボックスで、プロシージャとの間でやり取りされる「引数名」、「型」、「モード」および「値」を適宜、入力します。

6	「拡張データベース」ノードの下で:

•	「DML データ宛先タイプ」プロパティを「プロシージャ」に設定します。

•	プロシージャからINSERTを実行する場合は、「挿入プロシージャ名」テキスト・ボックスにプロシージャの名前を入力し、「挿入プロシージャの結果セット列」プロパティをダブルクリックして、結果集合の情報（「列名」、「タイプ」、「長さ」、「精度」および「スケール」）を入力します。次に、「挿入プロシージャの引数」プロパティをダブルクリックして、引数の情報（「引数名」、「型」、「タイプ名」、「モード」および「値」）を入力します。

•	プロシージャからUPDATEを実行する場合は、「更新プロシージャ名」テキスト・ボックスにプロシージャの名前を入力し、「更新プロシージャの結果セット列」プロパティをダブルクリックして、結果集合の情報（「列名」、「タイプ」、「長さ」、「精度」および「スケール」）を入力します。次に、「更新プロシージャの引数」プロパティをダブルクリックして、引数の情報（「引数名」、「型」、「タイプ名」、「モード」および「値」）を入力します。

•	プロシージャからDELETEを実行する場合は、「削除プロシージャ名」テキスト・ボックスにプロシージャの名前を入力し、「削除プロシージャの結果セット列」プロパティをダブルクリックして、結果集合の情報（「列名」、「タイプ」、「長さ」、「精度」および「スケール」）を入力します。次に、「削除プロシージャの引数」プロパティをダブルクリックして、引数の情報（「引数名」、「型」、「タイプ名」、「モード」および「値」）を入力します。

•	プロシージャからLOCKを実行する場合は、「ロック・プロシージャ名」テキスト・ボックスにプロシージャの名前を入力し、「ロック・プロシージャの結果セット列」プロパティをダブルクリックして、結果集合の情報（「列名」、「タイプ」、「長さ」、「精度」および「スケール」）を入力します。次に、「ロック・プロシージャの引数」プロパティをダブルクリックして、引数の情報（「引数名」、「型」、「タイプ名」、「モード」および「値」）を入力します。

7	「一般」ノードの下で「名前」プロパティをクリックして、名前を入力するか、またはデフォルト名を受け入れます。

Oracle命名規則に準じていて、かつフォーム内のブロック間で他と重複しない任意の名前を使用できます。ブロック名は内部記述子であり、実行時には表示されません。


レコード表を使用するプロシージャからのデータ・ブロックの作成時の制限事項

•	UPDATEを実行するストアド・プロシージャにもとづくブロックでは、プロシージャとブロックの両方で常に同じ列を参照します。フォームでデータベース項目として使用していないプロシージャまたはファンクションから値を戻さないでください。プロシージャまたはファンクションによって戻される列の数がブロック内で使用される列の数より多い場合、使用されない列にはNULL値が戻されます。

•	ブロック・データ・ソースとしてのプロシージャまたはファンクションでは、「変更列のみ更新」プロパティはサポートされないので、プロシージャまたはファンクションは常にすべての列値を戻す必要があります（「変更列のみ更新」プロパティに「はい」を設定すると、値が変更された列のみがUPDATE文に組み込まれるようになります）。プロシージャまたはファンクションに渡されたNULL値がブロック内の使用されない列であるのか、使用される列についての意図的なNULL値であるのかを判別することはできません。すべての列値を戻す必要のあるプロシージャまたはファンクションがない場合は、UPDATE文で列をNULL値に設定することはできません。

•	ストアド・プロシージャをデータ・ソースとして使用すると、「問合せ件数」は使用不可になります。実行時に問合せ件数をカウントしようとすると、エラー・メッセージが表示されます。かわりに、ON-COUNTトリガーを使用して件数をカウントできます。

•	ストアド・プロシージャに対して「WHERE句」または「ORDER BY句」を設定することはできません。


FROM句からのデータ・ブロックの作成

  関連項目

FROM句からデータ・ブロックを作成する方法:

「ツール」 [image] 「データ・ブロック・ウィザード」を選択し、データ・ブロックの作成過程をガイドするウィザードを起動します。

または

1	オブジェクト・ナビゲータで「データ・ブロック」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	「新規データ・ブロック」ダイアログ・ボックスで、「新規データ・ブロックを手動で作る」を選択し、「OK」をクリックします。

4	新規に挿入された「ブロック・オブジェクト」アイコン [image] をダブルクリックして、「プロパティ・パレット」を表示します。

5	「データベース」ノードの下で:

•	「問合せデータ・ソース・タイプ」プロパティを「FROM句問合せ」に設定します。

•	「問合せデータ・ソース名」テキスト・ボックスにSELECT文（副問合せ）を入力します。

6	「一般」ノードの下で「名前」プロパティをクリックして、名前を入力するか、またはデフォルト名を受け入れます。

Oracle命名規則に準じていて、かつフォーム内のブロック間で他と重複しない任意の名前を使用できます。ブロック名は内部記述子であり、実行時には表示されません。


制御ブロックの作成

  次のステップ	    関連項目

制御ブロックを作成する方法:

1	オブジェクト・ナビゲータで「データ・ブロック」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	「新規データ・ブロック」ダイアログ・ボックスで、「新規データ・ブロックを手動で作る」を選択し、「OK」をクリックします。

4	新規に挿入された「ブロック・オブジェクト」アイコン [image] をダブルクリックして、「プロパティ・パレット」を表示します。

5	「一般」ノードの下で「名前」プロパティをクリックして、名前を入力するか、またはデフォルト名を受け入れます。

Oracle命名規則に準じていて、かつフォーム内のブロック間で他と重複しない任意の名前を使用できます。ブロック名は内部記述子であり、実行時には表示されません。


マルチ・レコード・ブロックについて

  関連項目

マルチ・レコード・ブロックでは、各ブロック項目の複数のインスタンスが表示されます。

「表示レコード数」プロパティが3に設定されていると、Form Builderは、ブロック内の各項目の3つのインスタンスを表示します。ブロックは、レコードごとに1つのインスタンスを表示できます。「表示項目数」プロパティを設定することにより、表示する項目インスタンスの数を少なくすることもできます。


マルチ・レコード・ブロックの作成

  関連項目

マルチ・レコード・ブロックを作成する方法:

1	オブジェクト・ナビゲータで「データ・ブロック」ノードをクリックします。

2	設定する「ブロック」オブジェクト・アイコン [image] をダブルクリックして、プロパティ・パレットを表示します。

3	「レコード」ノードの下で、「表示レコード数」プロパティを希望するレコード数に設定します。

注意: デフォルトは1です。「表示レコード数」を1より大きく設定すると、ブロックはマルチ・レコード・ブロックになります。


ブロックの削除

ブロックを削除する方法:

1	オブジェクト・ナビゲータで、希望のブロック・オブジェクト・アイコンをクリックします。

2	「ナビゲータ」 [image] 「削除」を選択します。

ブロックを削除すると、そのブロックに含まれている項目も削除され、ブロックまたはその項目に付加されたトリガーもすべて削除されます。そのブロックがリレーションにおけるマスター・ブロックまたはディテール・ブロックである場合、そのリレーションも削除されます。


スクロール・バーについて

  関連項目

スクロール・バーは、ブロック内の項目とは異なり、フォーム内の任意のキャンバスの任意の場所に配置することができます。

レイアウト・エディタでは、スクロール・バーの移動やサイズ変更が可能で、カラー属性とパターン属性を設定することもできます。ただし、レイアウト・エディタでスクロール・バーのカット、コピー、削除または複製を行うことはできません。


ブロック・スクロール・バーの削除

スクロール・バーを削除する方法:

1	レイアウト・エディタでスクロール・バーをダブルクリックし、プロパティ・パレットを表示します。

2	「スクロール・バー表示」ブロック・プロパティを「いいえ」に設定します。


実行時のスクロール・バーとの対話

スクロール・バーの中でのスクロール・ボックスの位置は、ユーザーに、ブロックの現行レコード・セット内における現行レコードの相対位置を示します。

ただし、問合せの場合には、スクロール・ボックスはそれまでにフェッチされたレコードの結果集合内の現行レコードの位置を示すことに注意してください。これには、問合せ内容に合致するすべてのレコードが含まれる場合も、そうでない場合もあります。

たとえば、100件のレコードが問合せ内容に合致するが、1度にフェッチされるのは10件のみの場合、スクロール・ボックスをスクロール・バーの1番後へ移動すると、100番目ではなく10番目のレコードが表示されます。スクロール・バーを再び下げると、次の10件のレコードがフェッチされます。

注意: ALL_RECORDSパラメータを指定してEXECUTE_QUERYビルトイン・パッケージをコールすることにより、ブロックのデフォルト配列フェッチ構造を上書きできます。ただし、レコードの集合が大きくなる可能性が高い場合には、これはお薦めできません。


ブロック・スクロール・バーの作成

  関連項目

ブロック・スクロール・バーを作成する方法:

1	オブジェクト・ナビゲータで、希望のブロックのブロック・オブジェクト・アイコン [image] をダブルクリックして、プロパティ・パレットを表示します。

2	「スクロール・バー」ノードで、次の操作を行います。

•	「スクロール・バー表示」ブロック・プロパティを「はい」に設定します。

•	「スクロール・バー・キャンバス」プロパティを設定して、スクロール・バーを表示するキャンバスを指定します。


データベースへの接続

データベースに接続する方法:

1	「ファイル」 [image] 「接続」を選択します。

2	「接続」ダイアログ・ボックスで、次の操作を行います。

•	ログインする「ユーザー名」、「パスワード」、「データベース」を入力します。

•	「接続」をクリックします。

データベースへの接続が成功すると、ステータス・バーには接続ランプ: <Con>が表示されます。


項目について

  関連項目

項目は、ユーザーに情報を表示してユーザーがアプリケーションと対話できるようにするためのインタフェース・オブジェクトです。

フォーム内の各項目（テキスト項目、イメージ項目、ラジオ・グループなど）はブロックに属しています。

Form Builderは、アプリケーションのインタフェースを作成するための多くのタイプのインタフェース項目をサポートしています。

ActiveXコントロール	ユーザー・インタフェースの作成と拡張を簡単にするカスタム・コントロール。

Bean領域	この項目にコントロールを提供するJavaBeanのID。

チャート項目	Graphics Builderで生成したチャートやその他の図表を表示できる領域。ユーザーは、チャート項目にナビゲートしたりチャート項目を操作したりすることはできません。

チェックボックス 	trueまたはfalseを視覚的に表示できる項目。チェックボックスをクリックすると、現在と反対の状態に切り替わります。

表示項目	読取り専用のテキスト・ボックス。プログラムによる値のフェッチまたは割当てが必要です。ユーザーは、表示項目にナビゲートしたり、中に入っているテキストを編集したりすることはできません。

階層ツリー項目	拡張可能なノードを使用して、グループ化されたデータを標準ナビゲータのフォームで表示する領域。

イメージ項目	データベースからフェッチされたイメージや、ファイル・システムから読み取られたイメージを表示できる領域。

リスト項目 	選択肢を表示するリスト。ドロップダウン・リスト、リスト・ボックスまたはコンボ・ボックスとして表示できます。

OLEコンテナ 	OLEサーバー・アプリケーションから作成されたOLEオブジェクトを格納し、表示するための領域。

プッシュ・ボタン	コマンドを発行するためのボタン。中にテキスト・ラベルまたはアイコン図形を表示できます。

ラジオ・グループ 	ラジオ・ボタンのグループ。常にそのうちの1つのみが選択できます。

サウンド項目	サウンドの読込み、記録、編集、再生および保存を行うことができる項目。

テキスト項目	1行または複数行からなるテキストボックス。さまざまなデータ型、書式マスクおよび編集機能が使用できます。

ユーザー領域	ユーザー定義の項目を格納し、表示するための領域。

VBX制御	Microsoft Windows 3.1でのみ使用する項目。


データ項目と制御項目について

  関連項目

データ項目は、データベース内の表の列に対応している項目です。データ項目（テキスト項目など）を操作することによって、ユーザーは自動的にデータベース内にあるデータに影響を与えることができます。

制御項目は、データベースと関係付けられていない項目です。オペレータが制御項目を操作しても、適切なSQL文が指定されていない限り、データベース内のデータに影響はありません。一般に、制御項目を使用すると、オペレータはある画面から別の画面へのナビゲートといった共通アプリケーション機能を実行できるようになりますが、データベース・データの変更はできません。

制御項目を使用して、次のことも実行できます。

•	データ項目およびデータベースの表の中の値から計算された合計、平均、ランキングなどの集計情報を表示できます。

•	アプリケーションで必要とされるがデータベースには格納されていない、ユーザーからの入力を受け入れます。

•	"参照値"、すなわち異なる表から派生したデータベース値を表示します。

ブロックを作成するときは、次のことを考慮してください。

•	データ・ブロックには、データ項目と制御項目の両方を含めることができます。

たとえば、データ・ブロックに、問い合わされたデータベース値を表示する4つのデータ項目と、計算した値を表示するための、データベース内のどの列にも対応しない5番目の項目を含めることができます。5番目の項目は、計算を行うトリガー・コードにより値が設定される制御項目です。

•	制御ブロックにはデータ項目を含めることはできません。

制御ブロックはデータベースと関係付けられていないので、制御ブロック内の項目はどれもデータ項目とすることはできません。（トリガー・コード内にSQL文を作成することによって、制御項目にデータベース値を設定できます。

•	ボタンおよびチャート項目は常に制御項目です。

ボタンとチャート項目は値を格納しないため、これらの項目をデータベース内の列と関連付けることはできません。これらの項目は常に制御項目です。

•	ローカル変数とグローバル変数と同様に、コード内の制御項目の値を参照できます。


項目の作成について

  関連項目

データ・ブロックまたは制御ブロックを作成すると、いつでもそのブロック内の項目を作成できます。オブジェクト・ナビゲータで希望するブロックの下に挿入するか、レイアウト・エディタで希望するキャンバスに描画して、項目を作成します。

ブロックは項目の論理的な入れ物であり、物理的なものではないことに注意してください。ブロック内の項目はどのようなレイアウトで配置してもよく、希望する任意のキャンバスに表示できます。

項目を作成する前に、その項目をどのブロックに入れるのか、およびその項目をデータ項目にするのか制御項目にするのかを決める必要があります。

データ・ブロック内の項目の作成

データ・ブロック内で項目を作成すると、Form Builderではその項目はデータ項目であるとみなされ、その「データベース項目」プロパティは「はい」に設定されます。データ項目は、データベースに発行されるSELECT、UPDATEおよびINSERT文に自動的に組み込まれます。

新しい項目がデータ・ブロック内の制御項目である場合は、その項目の「データベース項目」プロパティを明示的に「いいえ」に設定する必要があります。

制御ブロック内の項目の作成

制御ブロック内で項目を作成すると、その項目の「データベース項目」プロパティがどのように設定されているかにかかわらず、その項目は常に制御項目です（制御ブロックはデータベースの表と関係付けられていないので、制御ブロック内の項目はどれもデータ項目とすることはできません）。


データ項目の作成

  次のステップ	    関連項目

データ項目を作成する方法:

「ツール」 [image] 「データ・ブロック・ウィザード」を選択して、データ項目の作成過程をガイドするウィザードを起動します。

または

1	オブジェクト・ナビゲータで、希望する「データ・ブロック」ノードの横にあるプラスのアイコン [image] をクリックします。

「データ・ブロック」ノードが拡張され、サブノードが表示されます。

2	「項目」ノードの横にあるプラスのアイコン [image] をクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しく作成された項目の横のオブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

5	「一般」ノードのもとで、次の操作を行います。

•	「名前」プロパティを、希望するデータベースの列の名前に設定します。

•	「項目タイプ」プロパティを、希望の項目タイプに設定します。

デフォルトの項目タイプはテキスト項目です。デフォルトは、「項目タイプ」プロパティを必要な項目タイプ（チェックボックス、ラジオ・グループ、リスト項目など）に設定することによって、変更できます。

6	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、フォーム内の各インタフェース項目をキャンバスに割り当てる必要があります。


制御項目の作成

  次のステップ	    関連項目

制御項目を作成する方法:

1	オブジェクト・ナビゲータで、希望する「データ・ブロック」ノードの横にあるプラスのアイコン [image] をクリックします。

「データ・ブロック」ノードが拡張され、サブノードが表示されます。

2	「項目」ノードの横にあるプラスのアイコン [image] をクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しく作成された項目の横のオブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

5	「データベース」ノードの下で:

•	「データベース項目」プロパティを「いいえ」に設定します。

注意: データ・ブロック内で項目を作成すると、Form Builderではその項目はデータ項目であるとみなされ、「データベース項目」プロパティは「はい」に設定されます。データ項目は、データベースに発行されるSELECT、UPDATEおよびINSERT文に自動的に組み込まれます。作成中の項目がデータ・ブロック内の制御項目である場合は、その項目の「データベース項目」プロパティを明示的に「いいえ」に設定する必要があります。

•	「一般」ノードの下で「項目タイプ」プロパティを、希望の項目タイプに設定します。

デフォルトの項目タイプはテキスト項目です。デフォルトは、「項目タイプ」プロパティを必要な項目タイプ（チェックボックス、ラジオ・グループ、リスト項目など）に設定することによって、変更できます。

6	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、フォーム内の各インタフェース項目をキャンバスに割り当てる必要があります。


レイアウト・エディタのブロック・コンテキストについて

  関連項目

レイアウト・エディタのウィンドウにはそれぞれ、現行ブロックを識別して、項目を操作するためのブロック・コンテキストがあります。現行ブロックの名前はレイアウト・エディタのウィンドウのタイトル・バーにカッコで囲んで表示されます。

ブロック・コンテキストは、項目の操作に次のような影響を与えます。

•	レイアウト・エディタで作成した項目は、自動的に現行ブロックに割り当てられます。

•	「ブロックの設定」コマンドを発行したときに選択した項目は、新しいブロックに再度割り当てられます。


レイアウト・エディタのブロック・コンテキストの設定

  関連項目

レイアウト・エディタの中でブロック・コンテキストを変更する方法:

1	レイアウト・エディタで、上部にある「ブロック」ドロップダウン・リスト・ボックスからブロックを選択します。

2	ドロップダウン・リスト・ボックスをクリックすると、すべてのブロックのリストが表示されます。


キャンバスへの項目の割当てについて

  関連項目

キャンバスは、実行時にウィンドウに表示されます。項目が割り当てられているキャンバスによって、その項目が表示されるウィンドウが決まります。レイアウト・エディタで作図して項目を作成すると、その項目は自動的にレイアウト・エディタの現行キャンバスに割り当てられます。実行時に項目を表示するには、項目の「キャンバス」プロパティを設定して、フォーム内の各インタフェース項目をキャンバスに割り当てます。

項目の「キャンバス」プロパティが指定されないままになっている場合、その項目はNULLキャンバス項目と呼ばれます。NULLキャンバス項目は実行時には表示されず、設計時にレイアウト・エディタに表示されることもありません。:block_name.item_name構文を使用してPL/SQLコードでNULLキャンバス項目の値を割り当てて参照することにより、NULLキャンバス項目をプログラム内で変数として使用できます。

項目をNULLキャンバス項目にするには、その「キャンバス」プロパティをブランクにします。


項目のキャンバス割当ての変更

項目のキャンバス割当てを変更する方法:

•	プロパティ・パレットでは、項目の「キャンバス」プロパティで割り当てるキャンバスの名前を設定する。指定するキャンバスは、現行フォームにすでに定義されている必要があります。

- または -

•	レイアウト・エディタで、希望する項目をカットし、別のレイアウト・エディタ上のキャンバスにペーストします。

- または -

•	オブジェクト・ナビゲータで、「ナビゲータ」 [image] 「ビジュアル表示」を選択し、ビジュアル表示にフォーム階層を表示します。ビジュアル表示では、項目は割り当てられている先のキャンバスの下に表示され、ブロックは表示されません。変更する項目をクリックし、マウスを使用して項目を別のキャンバスにドラッグします。


別のタイプへの項目の変換

  次のステップ	    関連項目

項目を別の項目タイプへ変換する方法:

1	オブジェクト・ナビゲータまたはレイアウト・エディタで、変換する項目をダブルクリックして「プロパティ・パレット」を表示します。

2	「一般」ノードの下で、「項目タイプ」プロパティを希望する項目タイプに設定します。

項目を新しい項目タイプに変換すると、新しい項目のプロパティは次のように設定されます。

•	新しい項目タイプのみに適用されるプロパティは、その項目タイプのデフォルトの設定に設定されます。

•	元の項目タイプと新しい項目タイプの両方に共通なプロパティは、現行の設定のままになります。

たとえば、テキスト項目をチェックボックスに変換すると、「ラベル」プロパティ（チェック・ボックス項目のみに適用される）はデフォルトの設定に設定され、「データ型」プロパティ（テキスト項目とチェック・ボックスの両方に適用される）はその現行の設定のままになります。


ブロック内に表示する項目インスタンス数について

  関連項目

「表示項目数」プロパティを設定して、マルチ・レコード・ブロック内に表示する項目インスタンスの数を指定できます。たとえば、「表示レコード数」プロパティが3に設定されたマルチ・レコード・ブロックは、4つのマルチ・レコード・テキスト項目と1つのシングル・レコード・イメージ項目を含みます。また、マルチ・レコード・データ・ブロック内に1つのボタンを作成することもできます。


ブロック内に表示される項目数の指定

  関連項目

ブロック内に表示する項目インスタンスの数を指定する方法:

1	オブジェクト・ナビゲータまたはレイアウト・エディタで、希望する項目をダブルクリックし、「プロパティ・パレット」を表示します。

2	「レコード」ノードの下で、「表示項目数」プロパティを、ブロック内に表示する項目インスタンスの数に設定します。

•	ブロックの「表示レコード数」プロパティによって指示されているレコード数を表示するには、「表示項目数」を0（デフォルト）に設定します。

•	レコードの表示を少なくするには、「表示項目数」プロパティを、ブロックの「表示レコード数」プロパティの設定値よりも小さく設定します。ただし、0より大きくします。

「表示項目数」をブロックの「表示レコード数」プロパティの設定値よりも大きくすることはできません。


マルチ・レコード・ブロックの項目間のスペースの変更

  関連項目

項目間のスペースを変更する方法:

1	レイアウト・エディタで、希望する項目を選択します。

特別な間隔ハンドルが、項目のバウンディング・ボックスの最上部と最下部の中間に表示されます。

2	間隔ハンドルの1つをクリックして、上または下へドラッグします。

「表示」メニューの「格子指定」が有効になっている場合、各項目間のスペースの量は、少なくとも、現行格子に定義されたスナップ・ポイント間の距離と同じにしてください。

文字セル定規単位で作業している場合、項目インスタンス間のスペースの量は、少なくとも、1つのセルの高さと同じにする必要があります。したがって、5レコードの項目のレコード間のスペースを増やすには、適切な間隔ハンドルを少なくとも4文字セル分（項目間の各スペースごとに1セル）上または下へドラッグする必要があります。


項目の削除

項目を削除する方法:

1	オブジェクト・ナビゲータで、希望する項目をクリックします。

2	「ナビゲータ」 [image] 「削除」を選択します。

項目を削除すると、その項目に付加されているトリガーもすべて削除されます。


デフォルトのナビゲーション順序について

  関連項目

オペレータが項目に移動する順序を制御することにより、アプリケーションを介してナビゲーション・パスを制御できます。オペレータは、ナビゲーション・キーを押したりマウスを使用することでナビゲートします。アプリケーション設計者として、トリガーやビルトイン・プログラムからGO_ITEMとGO_BLOCKをコールすることで、プログラムによってナビゲーションを開始することもできます。

Form Builderが項目にナビゲートし入力を待っているとき、その項目は"入力フォーカス"を持つと言われます。つまり、その項目はオペレータのキーボード入力を受け入れる準備ができています。入力フォーカスを持つことができるのは、常にアプリケーションの1つの項目のみです。

フォーム内のブロックおよびブロック内の項目の順序によって、デフォルトのナビゲーション順序（タブ順序とも呼ばれます）が決まります。

ブロックと項目は、オブジェクト・ナビゲータで表示される順序に従ってフォーム内で順序付けられます。個々のブロックおよび項目には暗黙的な順序番号（1、2、3、など）があります。

フォームの起動時には、入力フォーカスは順序で指定された最初のブロックの最初の項目に設定されます。オペレータが「次の項目へ」ボタン（大部分のシステムでは[Tab]キー）を押すと、入力フォーカスは同じブロック内の次の項目へ移動します。ブロックの最後の項目で「次の項目へ」ボタンを押すと、フォーカスは最初の項目へ戻ります。逆に、ナビゲート可能な最初の項目で「前の項目へ」ボタンを押すと、入力フォーカスはナビゲート可能な最後の項目へ移動します。「次のブロックへ」ボタンを押すと、入力フォーカスはブロック2の最初の項目へ移動します。


デフォルトのナビゲーション順序の指定

  関連項目

デフォルトのナビゲーション順序を定義する方法:

1	オブジェクト・ナビゲータで、フォーム内のすべてのブロックを、希望するナビゲーション順序に従って配置します。

ブロックを移動するには、「データ・ブロック」ノードの下でそのブロックをクリックして、希望する位置へドラッグします。

2	各ブロックの項目をすべて、希望するナビゲーション順序に従って配置します。

項目を移動するには、「項目」ノードの下でその項目をクリックして、希望する位置へドラッグします。

注意: フォーム内のブロックの順序によって、デフォルトのコミット順序、つまり、Form Builderで保存/コミット操作時に各ブロックの妥当性チェックを行う順序も決まります。


ストアド・プログラム単位エディタのインタフェース

  関連項目

ストアド・プログラム単位エディタに含まれるボタンおよびドロップダウン・リスト・ボックスは次のとおりです。

作成	「新規プログラム単位」ダイアログ・ボックスを表示します。このダイアログ・ボックスで、作成するストアド・プログラム単位のタイプと名前を指定できます。
保存	現行のストアド・プログラム単位をコンパイルします。コンパイルの結果生成されたエラー・メッセージは、スクロール可能なコンパイル・メッセージ・ペインに表示されます。元に戻すスタックまたは再実行スタックは消去されます。
変更の破棄	最後の保存操作または変更の破棄操作を行ったときの状態に、ストアド・プログラム単位を戻します。保存操作または変更の破棄操作が行われなかった場合、プログラム単位は元の状態に戻ります。
削除	データベースから、現行のストアド・プログラム単位を削除します。操作の確認を求めるメッセージ・ボックスが表示されます。
クローズ	ストアド・プログラム単位エディタをクローズします。
ヘルプ	このヘルプ・トピックが表示されます。
所有者	現行のプログラム単位の所有者の、データベース・ユーザーIDを表示します。このボックスの右向きの矢印キーをクリックし、アクセス権限のある、ユーザー名のドロップダウン・リストを表示します。所有者リストには、自分がアクセス権限を持っているストアド・プログラムの所有ユーザーの名前のみが表示されます。
名前	現行のストアド・プログラム単位の名前を表示します。「所有者」フィールドに示されたユーザーIDによって所有されるストアド・プログラム単位のドロップダウン・リストを表示するには、このボックスの右にある矢印をクリックします。「名前」リストには、アクセス権限を付与されたストアド・プログラム単位の名前のみが表示されます。

この他に、エディタは次の要素で構成されています。

ソース・ペイン	PL/SQLプログラム単位ソース・テキストを入力および編集する領域。   分割バーを使用すると、現行のプログラム単位について、異なるビューを4つまで作成できます。各ビューは、個別にスクロールできます。   ソース・ペイン内に水平なビューを作成するには、垂直スクロール・バーの最上部にある分割バーにカーソルを置き、ダブルクリックします。これによってソース・ペインが2つの均等なビューに水平に分割されます。また、分割バーをクリックし、希望のビュー・サイズになるまでドラッグして調整することもできます。  垂直なビューを作成するには、水平スクロール・バーの左端にある分割バーにカーソルを置き、ダブルクリックします。これによってソース・ペインが2つの均等なビューに垂直に分割されます。また、分割バーをクリックし、希望のビュー・サイズになるまでドラッグして調整することもできます。 ビューのサイズを変更するには、ビューを分割している分割バーをクリックし、ドラッグします。 水平または垂直なビューを削除するには、ビューを分割している分割バーをダブルクリックするか、ペインの端までドラッグします。 4つのビューを一度にすべて削除するには、境界バーが交差する部分にカーソルを置いてダブルクリックするか、交差する部分をペインの任意の隅までドラッグします。 コード行を選択するには、左マージンにカーソルを置いて、クリックします。
コンパイル・メッセージ・ペイン	コンパイルの結果生成されたエラー・メッセージがあれば表示します。エラー・メッセージをクリックすると強調表示され、問題のソース文までソース・ペインをスクロールし、エラーの位置にテキスト・カーソルが置かれます。 デフォルトでは、コンパイル時にコンパイル・エラー・メッセージが生成された場合にのみ、コンパイル・メッセージ・ペインが表示されます。 コンパイル・メッセージ・ペインを必要なときに手動で表示するには、カーソルの形状が十字線になるまで、カーソルをエディタ・ウィンドウの右下隅に移動します。次に、マウスを1回クリックし、カーソルを上にドラッグします。これによって分割バーが上に移動し、その下にコンパイル・メッセージ・ペインが表示されます。
分割バー	ソース・ペインとコンパイル・メッセージ・ペインを分割します。これによって、ペインの相対サイズを変更できます。ペインのサイズを変更するには、分割バーをクリックして、ドラッグします。 コンパイル・メッセージ・ペインが表示されない場合は、分割バーがエディタ・ウィンドウの底部にあります。
ステータス・バー	エディタの一番下に、ストアド・プログラム単位の現行の状態に関する情報を表示します。


「新規プログラム単位」ダイアログ・ボックスを表示します。このダイアログ・ボックスで、作成するプログラム単位のタイプと名前を指定できます。


ソース・ペインに表示されるストアド・プログラム単位をコンパイルします。コンパイルの結果生成されたエラー・メッセージは、スクロール可能なコンパイル・メッセージ・ペインに表示されます。


最後の保存操作または変更の破棄操作を行ったときの状態に、ストアド・プログラム単位を戻します。保存操作または変更の破棄操作が行われなかった場合、プログラム単位は元の状態に戻ります。


現行のストアド・プログラム単位を削除します。削除する場合には、確認を行います。


現行のプログラム単位の所有者の、データベース・ユーザーIDを表示します。このフィールドの右向きの矢印キーをクリックし、アクセス権限のある、ユーザー名のドロップダウン・リストを表示します。


現行のストアド・プログラム単位の名前を表示します。「所有者」フィールドに示されたユーザーIDによって所有されるストアド・プログラム単位のドロップダウン・リストを表示するには、このフィールドの右にある矢印をクリックします。「名前」リストには、アクセス権限を付与されたストアド・プログラム単位の名前のみが表示されます。


PL/SQLストアド・プログラム単位のソース・テキストを、入力および編集するために使用されます。


コンパイル中に発見された構文エラーを表示します。プログラム単位内のエラー元の位置へナビゲートするには、エラーをクリックします。


ストアド・プログラム単位エディタの2つのペイン領域の相対量を変更できます。デフォルトでは、コンパイル・メッセージ・ペインは、コンパイル中にエラー・メッセージが生成された場合にのみ表示されることに注意してください。


構文パレットのインタフェース

構文パレットを使用すると、PL/SQL言語要素やビルトイン・パッケージの構成体を表示したりコピーできます。選択した構文は、プログラム単位エディタまたはストアド・プログラム単位エディタにのみコピーできます。

構文パレットには、次のページがあります。

PL/SQLページ	コピーするPL/SQL言語要素を表示および選択できます。PL/SQL言語要素は、制御フロー、カーソル、例外などのカテゴリの一覧にグループ化されています。
ビルトイン・ページ	ビルトイン・パッケージからPL/SQL構成体（ファンクションまたはプロシージャ）を表示および選択できます。ビルトインの一覧は、EXEC_SQL、DEBUG、DDEのようなパッケージ名でグループ化されています。

各ページには次のコンポーネントがあります。

ドロップダウン・リスト	PL/SQLカテゴリ名またはビルトイン・パッケージ名が表示されます。   右側の矢印をクリックすると、PL/SQLカテゴリまたはビルトイン・パッケージを選択できます。
リスト領域	選択されたPL/SQLカテゴリ内の個々の言語要素、または選択されたビルトイン・パッケージ内の構成体が表示されます。デフォルトで、リスト内の最初の項目がハイライト表示（選択）されます。 言語要素または構成体をクリックすると、それらが選択され、表示領域に完全な構文が表示されます。
表示領域	選択されたPL/SQL言語要素または構成体の完全な構文が表示されます。予約語は大文字で表示されます。 エディタに構文を挿入した後、コメント内にない小文字の項目を適切な値に置き換えます。コメント内の小文字の項目は任意です。
挿入	クリックすると、リスト領域で選択された項目が、アクティブ・エディタ・ウィンドウの現行のカーソル位置にコピーされます。
クローズ	クリックすると、構文パレットがクローズします。
ヘルプ	このヘルプ・トピックが表示されます。


構文パレットの表示

構文パレットを表示するには:

「プログラム」 [image] 「構文パレット」を選択します。


構文パレットのクローズ

構文パレットをクローズするには:

「クローズ」ボタンをクリックします。


エディタへの構文の挿入

関連項目

構文をエディタに挿入するには:

1	プログラム単位エディタまたはストアド・プログラム単位エディタが現行の（最後に選択された）ウィンドウであることを確認します。

2	エディタ内で、構文を挿入する位置にカーソルを置きます。

3	構文パレットで、「PL/SQL」タブまたは「ビルトイン」タブをクリックします。

4	ドロップダウン・リストで、PL/SQLカテゴリまたはビルトイン・パッケージを選択します。

カテゴリまたはパッケージをクリックすると、選択できるPL/SQL言語要素またはPL/SQL構成体が下のリスト領域に表示されます。

5	リスト領域でPL/SQL言語要素または構成体を選択します。

PL/SQL言語要素または構成体をクリックすると、リスト領域の下の表示領域に構文が表示されます。

6	「挿入」をクリックして、選択された構文をコピーします。

選択したプレースホルダのあるPL/SQL構文は、アクティブ・エディタの現行のカーソル位置に挿入されます。予約語は大文字で表示されます。

コメント内にない小文字のプレースホルダを、すべて適切な値と置換します。コメント内の項目は任意です。


PL/SQLカテゴリの一覧

ブロック

コメント

制御フロー

カーソル

データ型

例外

ファンクション

ループ

オブジェクト・タイプ

パッケージ

PL/SQL表

プロシージャ

問合せ

レコード

SQLカーソル

表/ビュー

トランザクション

ユーザー・タイプ

変数


ビルトインの一覧

EXEC_SQL

TOOL_SQL

ORA_FFI

ORA_DE

ORA_PROF

ORA_NLS

TOOL_RES

TOOL_ENV

TEXT_IO

TOOL_ERR

STPROC

LIST

OLE2

DDE

DEBUG

PLITBLM

STANDARD


問合せ用フォームの設計について

  関連項目

特定のデータベース表に対応するデータ・ブロックによって、ユーザー側でコードを追加しなくても、レコードの問合せ、更新、挿入および削除が自動的にサポートされます。ブロックおよびその項目のプロパティを設定すると、問合せの制御および修正、さらには阻止まで思いどおりに行えます。

フォームは、オペレータが「Enter Query」を押すか、ENTER_QUERYビルトイン・プロシージャを実行することによって、問合せ入力モードに置くことができます。その問合せがEXECUTE_QUERY操作により実行されるか、オペレータが「Cancel」を押すまで、Form Builderは問合せ入力モードのままになります。

そのフォームが問合せ入力モードにある間、オペレータは、現ブロックに項目の値を設定し、その問合せの基準を指定します。オペレータは、パターン一致、関係演算子および「Query Where」ダイアログ・ボックスを使用して、レコード例を定義できます。

ENTER_QUERYおよびEXECUTE_QUERY操作は、オペレータにより開始されたかプログラムによって開始されたかにかかわらず、常にブロック・レベルで発生します。フォームが問合せ入力モードに入ると、その問合せが実行されるか、オペレータが問合せ入力モードを取り消すまで、Form Builderではそのオペレータまたはアプリケーションが異なるブロックにナビゲートされません。

ブロックが問合せ可能にするかどうかを指定するには、「問合せ可」ブロック・プロパティを設定します。"問合せ専用"ブロックを作るには、「問合せ可」を「はい」に、「削除可」、「挿入可」、「更新可」を「いいえ」に設定します。

各データ・ブロックと対応付けられたデフォルトのSELECT文があります。実行時、Form Builderでは、プログラムまたはオペレータによって、そのブロックに対して問合せが行われると、このSELECT文が実行されます。

ブロックのデフォルトのSELECT文の構文は、そのブロックのデータ項目の名前から派生します。データ項目とは、「データベース・ブロック」プロパティを「はい」に設定したデータ・ブロック内の項目です。データ項目の名前は、ブロックの基礎表の列の名前に一致していなくてはなりません。たとえば、「Sample」フォームにおいて、オペレータがORD_BLKブロック内で問合せを実行すると、Form Builderでは次のデフォルトの問合せが使用されます。

SELECT id, customer_id, date_ordered, payment_type, order_filled,	   sales_rep_id 	FROM   S_ORD

Customer_NameおよびSales_Rep_Name項目は、ORD_BLKブロック内にもありますが、それらは、異なる表内の列から導出される値を含む制御項目です。これらの項目では「データベース・ブロック」プロパティが「いいえ」に設定されているため、Form BuilderではそれらがデフォルトのSELECT文内に組み込まれません。

デフォルトの問合せにより、ブロック内に対応する項目のある各データベース列から値が戻されます。デフォルトでは、この問合せは無制限であり、特定の順序に従わずに、実表からすべての行が取り出されます。

オペレータは、データ項目に値を入力すると、問合せによって取り出される行を制限できます。Form Builderでは、次にこれらの値を使用して、デフォルトのSELECT文のWHERE句が組み立てられます。

たとえば、オペレータがORD_BLKブロックにナビゲートし、「Enter Query」を押し、IDテキスト項目に55を入力し、次に問合せを実行すると、Form Builderでは次のSELECT文が発行されます。

SELECT id, customer_id, date_ordered, payment_type, order_filled,	   sales_rep_id 	FROM   S_ORD	WHERE  id = '55'

また、設計時または実行時のいずれかに、「WHERE句」ブロック・プロパティと「ORDER BY句」ブロック・プロパティを設定すると、WHERE句およびORDER BY句を指定できます。たとえば、ORD_BLKブロックの「ORDER BY句」プロパティを"id DESC"に設定してあったとすれば、前の例のSELECT文は次のように発行されているはずです。

SELECT  id, customer_id, date_ordered, payment_type, order_filled,	    sales_rep_id 	FROM  S_ORD	WHERE id = '55'	ORDER BY id DESC

Form Builderにより問合せが実行されると、問合せ基準と一致するデータベース内の行が検索され、次にそのブロックが要求する行数がフェッチされます。「フェッチされるレコードの最大数」ブロック・プロパティを設定することで、FormBuilderで1度にフェッチできるレコード数を制御できます。


ブロックのWHERE句およびORDER BY句の定義について

  関連項目

「WHERE句」ブロック・プロパティと「ORDER BY句」ブロック・プロパティを使用すると、データ・ブロックに対応付けられたデフォルトのSELECT文によってそのデータ・ブロックに戻されるレコードを制限および並べ替えできます。

WHERE句およびORDER BY句は、SET_BLOCK_PROPERTYビルトイン・プロシージャを実行すると、実行時にプログラムにより変更できます。

また、オペレータがそのフォームを問合せ入力モードにして、データ項目に追加の問合せ条件を指定すると、デフォルトWHERE句をさらに制限できることも覚えておいてください。

プロパティ・パレット内のブロックにはデフォルトのWHERE句およびORDER BY句を設定できます。プロパティ・パレットでテキスト・エディタを起動するには、希望するプロパティをダブルクリックします。

ヒント: データベース内で表および列の名前を検索するには、「ツール」 [image] 「表/列」を選択して「表/列」ブラウザを起動します。

有効なSQL WHERE句およびORDER BY句であれば、デフォルトの「WHERE句」およびデフォルトの「ORDER BY句」プロパティに入力できます。Form Builderには、その他にもいくつか特定の考慮事項が必要です。

•	「WHERE句」プロパティと「ORDER BY句」プロパティに「ORDER BY」や「WHERE」という文字を記述する必要はありません。これらは、Form Builderではユーザーが入力するテキストに暗示的に追加されます。したがって、次の句

ORDER BY last_name

は、次のように「ORDER BY句」プロパティに入力します。

last_name

また、有効な「WHERE句」プロパティの入力例は次のとおりです。

account_balance > 5000

•	デフォルトのWHERE/ORDER BY句内でLONG型のデータベース列は参照できません。


「問合せ入力」モード用の項目の定義について

  関連項目

次のタイプの項目は問合せ入力モードで問合せできます。

•	チェックボックス

•	リスト項目

•	ラジオ・グループ

•	テキスト項目

•	OLEコンテナのカスタム項目

その他のすべての項目は、フォームが問合せ入力モードにあるときにはナビゲート不能であり、それらの値はレコード例に組み込めません。

オペレータまたはアプリケーションが問合せを実行すると、Form Builderがデータベースに送るSELECT文は、ブロックの「WHERE句」および「ORDER BY句」プロパティで定義されたWHERE句、ORDER BY句さらにオペレータが指定した追加の問合せ基準を組み込みます。フォームが問合せ入力モードにある場合、オペレータは各項目に例値を入力して、次のようにその問合せをさらに制限できます。

テキスト項目	問合せにテキスト項目を組み込む場合、その項目に値を入力します。その問合せからその項目を除外するには、その項目をブランクのままにしておきます。
チェックボックス	問合せに現チェックボックスを組み込んだり、または除外したりする場合、その項目をマウスで[shift]を押しながらクリックして、「問合せ可能」と「問合せ不能」を切り替えます。このチェックボックスが問合せ可能になっていれば、その値は問合せに組み込まれます。
ラジオ・グループ	問合せにラジオ・グループ値を組み込む場合、ラジオ・グループ内のいずれかのボタンをクリックします。その問合せからラジオ・グループを除外するには、オペレータは現在選択しているラジオ・ボタンをクリックし、そのグループ内のラジオ・ボタンがどれも選択されていないようにします。
リスト項目	問合せにリスト項目値を組み込むには、リスト項目値を選択します。そのリスト項目をその問合せから除外するには、そのリスト内のブランク（空）の要素を選択します。
「問合せ可」プロパティ  チェックボックス、リスト項目、ラジオ・グループまたはテキスト項目の「問合せ可」プロパティを設定し、オペレータが問合せ入力モードでその項目にナビゲートできるかどうかを指定します。

フォームが問合せ入力モードにあると、Form Builderでは、「問合せ可」プロパティが「いいえ」に設定された項目にナビゲートすることはできません。それらの項目が標準モードではナビゲート可能である場合も同様です。

「問合せ長」プロパティ  「問合せ長」プロパティでは、フォームが問合せ入力モードにある場合に、オペレータがテキスト項目に入力できる文字数が指定されます。「問合せ長」プロパティの設定は、少なくともテキスト項目の「最大長」プロパティと同じバイト数でなくてはなりません。

この「問合せ長」プロパティはテキスト項目にのみ適用されます。

「問合せ長」を「最大長」より大きく設定すると、オペレータは例による問合せを使用するとき、関係演算子を入力できます。たとえば、最大長が6のSALARYテキスト項目においては、オペレータは次のような問合せ値を入力する場合があります。

<=52200

または

#BETWEEN 30000 and 40000

「SALARY」項目の「問合せ長」プロパティを26に設定すると、「Query Where」ダイアログ・ボックスを起動せずに、これらの問合せをテキスト項目に直接入力できます。

「小/大文字区別なしの問合せ」プロパティ  「小/大文字区別なしの問合せ」プロパティはテキスト項目にのみ適用されます。これは、FormBuilderが問合せ処理時に大文字と小文字を同じように扱うかどうかを指定します。


問合せのためのチェックボックス、ラジオ・グループおよびリスト項目の定義について

  関連項目

チェックボックス、ラジオ・ボタンおよびリスト項目には、特定の選択状態またはリスト要素に対応付けられた事前定義済みの値があります。たとえば、セキュリティ許可というラベルのチェックボックスがチェックされていると、実際に保存される値は文字列"TOP_SECRET"になることがあります。

チェックボックス、ラジオ・グループまたはリスト項目を定義するとき、フェッチされたまたは割り当てられた"他の値"を受け入れるかどうかを指定します。"他の値"とは、特定の選択状態（チェックされているかいないか）、グループ内のラジオ・ボタン、またはリスト内のリスト要素に関連づけた値のいずれにも一致しない値です。

Form Builderによる他の値の処理方法を指定するには、適切な項目プロパティを設定します。チェックボックスであれば、「ほかの値のチェックボックス・マッピング」プロパティを設定し、ラジオ・グループおよびリスト項目であれば、「ほかの値のマッピング」プロパティを設定します。たとえば、チェックボックスの場合なら、チェックボックスにフェッチされる他の値がチェックありの値と解釈されるよう指定するには「ほかの値のチェックボックス・マッピング」プロパティを「チェックあり」に設定するとよいでしょう。

チェックボックス、ラジオ・グループまたはリスト項目の「ほかの値のマッピング」プロパティを「許可なし」に設定して、その項目が他の値を受け入れないように指定すると、オペレータは対応するデータベース列内に他の値を含むレコードを取り出せません。

たとえば、他の値を受け入れないチェックボックスがブロックに含まれていると、オペレータは「チェック時の値」または「未チェック時の値」プロパティの値のいずれかに完全に一致する列値を含むレコードのみ取り出せます。その列の他の値が入っている行は、ブロックの問合せ基準に一致しないので、ブロックには表示されません。

データベース項目としてチェックボックス、ラジオ・グループまたはリスト項目を作成するときは、オペレータが問合せ入力モードで例による問合せを使用したときに項目の値がレコード例でどのように解釈されるかについても考慮する必要があります。CLEARANCEというデータベース列に対応するセキュリティ許可というチェックボックスが、次のように定義されているとします。

プロパティ	設定
チェック時の値	TOP_SECRET
未チェック時の値	なし
他の値のチェックボックス・マッピング	許可なし

フォームのオペレータがこのチェックボックスを問合せに組み込むと、ブロックのデフォルトのSELECT文の述語WHERE句は、次のように構築されます。

チェックボックス状態	その結果得られるWHERE句
チェックあり	(CLEARANCE = TOP_SECRET)
チェックなし	(CLEARANCE = NONE)

Form Builderでは、「ほかの値のチェックボックス・マッピング」プロパティを「チェックあり」に設定して、その項目がここに示す他の値（チェックありとして表示）を受け入れるようにすることもできます。

プロパティ	設定
チェック時の値	TOP_SECRET
未チェック時の値	なし
ほかの値のチェックボックス・マッピング	チェックあり(その他の値もOK)

次に、フォームのオペレータがこのチェックボックスを問合せに組み込むために選択すると、ブロックのデフォルトのSELECT文の述語WHERE句は、次のように構築されます。

チェックボックス状態	その結果得られるWHERE句
チェックあり	(CLEARANCE <> NONE)
チェックなし	(CLEARANCE = NONE)


プログラムによる問合せの実行について

  関連項目

問合せはプログラムによって開始される場合もあります。たとえば、オペレータが問合せを実行するために押すメニュー項目またはボタンを作成するには、適切なメニュー項目コマンドまたはWhen-Button-Pressedトリガーを作成します。

プログラムによってフォームを問合せ入力モードにするには、ENTER_QUERYビルトイン・プロシージャをコールします。オペレータは次に問合せ条件を指定した後、メニューまたはボタン・コマンドでその問合せを実行します。問合せを即時実行するには、ビルトイン・プロシージャEXECUTE_QUERYをコールします。

状況によって、そのフォームがすでに問合せ入力モードにあるかどうかで、ENTER_QUERYプロシージャまたはEXECUTE_QUERYプロシージャのいずれかを実行するトリガーを作成することが最善の場合もあります。この作業を行うには、SYSTEM.MODEシステム変数の値を読み取り、そのフォームが標準モードか問合せ入力モードかを判別します。

IF System.Mode = 'NORMAL' THEN	Enter_Query;ELSE	Execute_Query;

プログラムにより問合せを実行するには、問合せ対象ブロックは現ブロックである必要があります。必要に応じて、希望するブロックにナビゲートしてから、問合せを実行します。

IF System.Cursor_Block != 'ORD_BLK' THEN	Go_Block('ord_blk');	Execute_Query;END IF;


Pre-QueryトリガーとPost-Queryトリガーによる問合せの制御について

  関連項目

Pre-QueryトリガーおよびPost-Queryトリガーを使用すると、問合せ処理を制御できます。これらはフォーム・レベルまたはブロック・レベルで定義できます。通常は、これらのトリガーを特定ブロックに付加して、それらのブロックの問合せ機能を制御します。

Pre-Queryトリガーは、オペレータが問合せ入力モードで問合せ基準を入力することでレコード例を定義した後で、Form BuilderによりデータベースにSELECT文が発行される前に起動します。

Pre-Queryトリガー内部では、問合せ基準により定義されるレコード例は現レコードです。つまり、作成したトリガー・コードが、標準の:block_name.item_name構文を使用するレコード例内の項目の値を読み取り、設定できるということです。

Pre-Queryトリガーを使用して、無効である可能性のある問合せ条件を禁止できます。フォームが問合せ入力モードにあるとき、標準の妥当性チェックは停止され、妥当性チェック・トリガーは標準モードにあるときのように起動されません。このように、Pre-Queryトリガーを使用すると、オペレータが入力した値が有効な問合せ条件かどうか検査できます。

無効な問合せ条件が入力されたときは、Pre-QueryトリガーにFORM_TRIGGER_FAILUREのビルトイン項目の例外を呼び出して、その問合せを異常終了できます。

また、Pre-Queryトリガー内部からSET_BLOCK_PROPERTYをコールしてブロックのWHERE句およびORDER BY句を修正したり、さらに問合せが検索するレコードの制限または並べ替え指定ができます。

Post-Queryトリガーは、その問合せの実行後、Form Builderにより各レコードがフォームにフェッチされるときに起動します。Post-Queryトリガーはフォーム内に取り出される各レコードにつき1回起動します。これにより、ブロック内に表示される前に、フェッチされたレコード内の項目の値を読み取り、設定できます。

Post-Queryトリガーはまた、ブロックの基礎表以外の表から値が導かれる制御項目に値を設定するのにも便利です。


「問合せ入力」モードで起動するトリガーの定義について

  関連項目

「問合せ入力モードで起動」トリガー・プロパティを設定することにより、フォームが問合せ入力モードのときに特定のトリガーが起動するかどうかを指定できます。

オペレータが、値リスト（LOV）を表示するのに選択できるボタンについて考えてみます。このボタンに付加されるWhen-Button-Pressedトリガーのテキストは、次のようになります。

/*  When-Button-Pressed Trigger: */ DECLARE 	dummy_var BOOLEAN; BEGIN 	dummy_var := Show_LOV('Customers',10,20); END;

「問合せ入力モードで起動」プロパティが「はい」に設定されていると、オペレータは標準モードのみでなく問合せ入力モードでも値リストを起動できます。

次のトリガーは問合せ入力モードで有効です。

•	key - *

•	On-Error

•	On-Message

•	When- トリガー。ただし、以下を除きます。

•	When-Database-Record

•	When-Image-Activated

•	When-New-Block-Instance

•	When-New-Form-Instance

•	When-Create-Record

•	When-Remove-Record

•	When-Validate-Record

•	When-Validate-Item


問合せ入力モードで起動するトリガーの作成

  関連項目

問合せ入力モードで起動するトリガーを作成するには

1	オブジェクト・ナビゲータで、希望するトリガーを選択する。

2	プロパティ・パレットで、「問合せ入力モードで起動」プロパティを「はい」に設定する。

デフォルトでは、「問合せ入力モードで起動」プロパティは、問合せ入力モードで有効なトリガーについて「はい」に設定されます。


現行モードを判断するためのSYSTEM.MODEの使用について

  関連項目

「問合せ入力モードで起動」プロパティでトリガーの起動を「はい」に設定すると、問合せ入力モードでも標準モードでも起動します。フォームが標準モードにあるか問合せ入力モードにあるかによって、トリガーに異なる機能を実行させるには、SYSTEM.MODEシステム変数を使用して現モードを判別します。

たとえば、フォームが問合せ入力モードにあるときにあるアクションを実行し、標準モードにあるときには別のアクションを実行させたい場合があります。

/*  Trigger with Fire in Enter Query Mode property to Yes: */

IF :System.Mode = 'ENTER-QUERY' THEN 	-- execute these statements ELSE

-- execute these other statements

同様に、Form Builderが問合せ入力モードにある場合のみ起動するトリガーを作成できます。

/*  Trigger with Fire in Query Mode property to Yes:  */

IF :System.Mode = 'ENTER-QUERY' THEN 	-- execute these statements

END IF;

注意: SYSTEM.MODEシステム変数は、現ブロックのモードの状態を返します。これは、たとえば、When-Button-Pressedトリガーなど、制御ブロックに付加されたトリガー内でSYSTEM.MODEの状態を読み取るときには、SYSTEM.MODEが正確でないことを意味します。制御ブロックはデータベースの表に基づいていないため、問合せ入力モードにはできません。


問合せ入力モードで使用禁止のビルトインについて

  関連項目

次のビルトイン・サブプログラムは、Form Builderが問合せ入力モードのときに、トリガーからコールできます。

ABORT_QUERY	LAST_RECORD
BLOCK_MENU	LOCK_RECORD
CALL_INPUT	LOGON/LOGON_SCREEN/LOGOUT
CLEAR_BLOCK	NEW_FORM
CLEAR_FORM	NEXT_BLOCK
COMMIT_FORM	NEXT_RECORD
CREATE_QUERIED_RECORD	NEXT_SET
CREATE_RECORD	POST
DELETE_RECORD	PREVIOUS_BLOCK
DOWN	PREVIOUS_RECORD
DUPLICATE_RECORD	SCROLL_DOWN
FETCH_RECORDS	SCROLL_UP
FIRST_RECORD	SELECT_RECORDS
GO_BLOCK	UP
GO_RECORD	UPDATE_RECORD
INSERT_RECORD

注意: Form Builderでは、問合せ入力モードでは、他ブロックへのナビゲーションを行えないため、GO_ITEMはターゲット項目が現ブロックにある場合にのみ使用できます。


挿入、更新および削除の制御について

  関連項目

Form Builderでは、一連のプロパティおよびトリガーを提供しており、ユーザーはフォーム内の挿入および更新、削除を制御できます。

次のプロパティを設定すると、ブロックが挿入および更新、削除を行うかどうかを制御できます。

•	挿入可

•	更新可

•	削除可

項目レベルでは、次のプロパティを設定すると挿入および更新を管理できます。

•	挿入可

•	更新可

•	NULLのみ更新


挿入の制御について

  関連項目

「挿入可」ブロック・プロパティを設定すると、ブロックがその実表内に新規レコードの挿入をサポートするかどうかを指定できます。「挿入可」を「はい」（デフォルト）に設定すると、「挿入可」項目プロパティは、そのブロック内の個々の項目が挿入をサポートするかどうか判別します。

特に、この「挿入可」項目プロパティでは、オペレータが新規レコード内の項目の値を変更できるかどうかが決定されます（つまり、そのレコードのステータスがNEWまたはINSERTのとき）。

「挿入可」項目プロパティが「いいえ」に設定されており、その項目の「キーボードで移動可能」プロパティまたは「変更可能」プロパティ、あるいはその両方が「はい」に設定されている場合、その項目にナビゲートできますが、それが新規レコード内にあるときには、その値を変更できません。

ブロックが新規レコードの挿入をサポートしていると、Form Builderでは次のいずれかのイベントが発生したときに、そのブロック内に新規レコードが作成されます。

•	デフォルトのフォーム・メニューから「レコード」 [image] 「挿入」を選択する。

•	アプリケーションがCREATE_RECORDビルトイン・プロシージャを実行する。

•	フォーカスがブロック内の最後のレコードにあるとき、オペレータまたはアプリケーションが次のレコードにナビゲートする。

たとえば、フォーカスがブロック内の最後のレコードにあり、オペレータが「Next Record」を押した場合に、Form Builderではそのブロック内に新規レコードが作成されます。

また、セッション中に初めてブロックにナビゲートしたとき、ブロック内に新規レコードが作成されます。たとえば、フォーム起動時、Form Builderによりそのフォームの最初のブロック内の最初のナビゲート可能な項目にナビゲートしたとき、そのブロック内に新規レコードが作成されます。次の「Save/Commit」操作でデータベースにコミットされる必要のあるデータをオペレータが入力するとすぐに、レコードのステータスはNEWからINSERTに変わります。


新規レコード内の項目のデフォルト値について

各項目のデフォルト値は、「初期値」項目プロパティの値によって決まります。指定する値は項目のデータ型との互換性が必要です。たとえば、データ型がDATEのテキスト項目のデフォルト値は、有効な日付書式で表示できる値にしてください。

Form Builderでは、新規レコードの作成時に、項目にデフォルト値が割り当てられます。Form Builderでは、特に、その項目がステータスをNEWとマークしたレコードの一部である場合は、必ずそのデフォルト値が割り当てられます。

デフォルト値は次のいずれかです。

•	raw value (216, 'TOKYO')

•	$$DATE$$, $$DBDATE$$, $$DATETIME$$, $$DBDATETIME$$

•	フォーム項目値(:block_name.item_name)

•	グローバル変数(:GLOBAL.my_global)

•	フォーム・パラメータ(:PARAMETER.my_param)

•	順序(:SEQUENCE.my_seq.NEXTVAL)

チェックボックス、ラジオ・グループ、リスト項目にはデフォルト値を指定するのが一般的で、項目は希望の選択状態（チェックされているかいないかなど）で表示できます。これらの項目にデフォルト値を設定するとき、デフォルト値は、Form Builderが項目のブロックに新しいレコードを作成するまでは、割り当てられないことに注意してください。プログラムによって、たとえば、When-New-Form-Instanceトリガーでブロックにナビゲートすると、ブロック内に強制的に新規レコードを作成できます。

注意: 単にフィールドに値をコピーするときは、そのブロックにナビゲートする必要はないので、新規レコードは作成されず、またデフォルト値も表示されません。


項目ヒント・テキストについて

  関連項目

Form Builderは、実行時にコンソール・メッセージとして項目特定のヘルプ・テキストを表示できます。項目のヘルプ・テキスト、つまりヒントは、入力フォーカスがその項目にある場合のみ表示できます。現項目用に定義されたヒント・テキストを表示するには、HELPビルトイン・プロシージャを実行します。

ヒント・テキストは通常、その項目に有効データを入力する方法をオペレータに指示する場合などに使用します。たとえば、部品番号が入る項目のヒント・テキストならば、"6桁の部品番号を入力してください"となるでしょう。ヒント・テキストの表示は、項目の「ヒント」プロパティおよび「ヒントの自動表示」プロパティを設定することで制御できます。

ヒント・テキストの抑止  Form Builderに項目のヒント・テキストを表示させたくない場合は、「ヒント」プロパティをブランクにしておきます。「ヒント」プロパティがブランクの場合、「ヒントの自動表示」プロパティは実行されないので、設定は「はい」でも「いいえ」でも構いません。

注意: 「ヒント」および「ヒントの自動表示」プロパティは、キャンバスに割り当てられる項目にのみ適用されます（ヒント・テキストはNULLキャンバス項目には適用されません）。

データ項目用のデフォルトのヒント  「データ・ブロック」ウィザードでデータ・ブロックを作成すると、Form Builderではそのブロック内の各項目の「ヒント」および「ヒントの自動表示」プロパティが次のように設定されます。

ヒント	デフォルトのヒントは、<item_name>に値を入力してくださいです。item_nameは、データ・ブロック・ウィザードで作成されるデータ項目の名前です。

ヒントの自動表示	「いいえ」に設定されます（オペレータが項目の「Help」を押したときに、Form Builderによってヒントが表示されます）。


項目用テキスト・ヒントの作成

  関連項目

項目用のヒント・テキストを指定するには

1	オブジェクト・ナビゲータで、ヒント・テキストを追加する項目をダブルクリックし、プロパティ・パレットを表示します。

2	「ヘルプ」ノードで、希望のヒント・テキストを「ヒント」テキスト・ボックスに入力します。テキストを引用符で囲まないでください。

3	「ヒントの自動表示」プロパティを「はい」または「いいえ」に設定し、Form Builderがヒント・テキストを表示するタイミングを指定します。

•	入力フォーカスによって項目が入力されたときにForm Builderにヒント・テキストを表示させるには、「ヒントの自動表示」プロパティを「はい」に設定します。

•	入力フォーカスが項目にあるときにオペレータが「Help」を押すか、デフォルト・メニューからヘルプ項目を選択した場合に、Form Builderにヒント・テキストを表示させるには、「ヒントの自動表示」プロパティを「いいえ」に設定します。


更新の制御について

  関連項目

データベースから問合せされたレコードの更新をオペレータが制御できるようにするかどうかを指定するには、「更新可」ブロック・プロパティおよび「列セキュリティの強化」ブロック・プロパティを設定します。

「更新可」をブロック・レベルで「はい」に設定している場合、項目レベルで「更新可」および「NULLのみ更新」を指定すれば、オペレータが問合せ対象レコード内の特定項目を更新できるかどうかを指定できます。

これらの相互排他的なプロパティは、ステータスがQUERYであるレコードの一部となっている項目の更新条件を指定します。Form Builderは、レコードがフェッチまたはコミットされている場合、そのステータスをQUERYとマークします。つまり、レコードはデータベース内の行を反映します。

「列セキュリティの強化」プロパティを「はい」に設定することにより、現行オペレータがデータベースに項目の対応列のUPDATE権限を持っているかどうかに応じて、Form Builderに対し、実行時に自動的に「更新可」を設定します。

「列セキュリティの強化」を「はい」に設定した場合、現行オペレータはブロックの項目が対応する列に対して、列レベルのUPDATE権限を持っている必要があります。オペレータがUPDATE権限を持たない列に対応する項目について、フォーム起動時に、「更新可」プロパティを動的に「いいえ」に設定して、列の機密保護が実施されます。

「列セキュリティの強化」を「はい」に設定すると、Form Builderによりフォーム起動時にデータ・ディクショナリに定義された権限が読み込まれます。


データ入力中の項目値の妥当性チェックについて

  関連項目

Form Builderには、オペレータが入力または更新したレコード内のデータの妥当性チェックを容易にするデータ妥当性チェック・モデルがあります。一般的な妥当性チェック要件のほとんどは、次の項目レベル・プロパティを設定することで処理できます。

•	データ型

•	最大長

•	固定長

•	Required

•	最高許容値/最低許容値

アプリケーション固有の妥当性チェックを追加するには、その項目またはブロックにWhen-Validate-ItemトリガーまたはWhen-Validate-Recordトリガーを作成します。When-Validate-Itemトリガーは、Form Builderが独自の妥当性チェックを実行した直後、「Leave the Item」イベントの途中で起動します。When-Validate-Recordトリガーは、Form Builderによって、ターゲット・レコードにナビゲートする前に、現レコード内のすべての項目が有効とマークされているかどうかを確認する「Leave the Record」イベントの途中で起動します。

一般的な妥当性チェック要件は、データベース内の主キー列に対応する項目が確実に一意の値を持つようにすることです。Oracle8 Serverは、NOT NULL制約およびUNIQUE制約を施行して、これがカーネル・レベルで行われるようにします。しかし、通常は、ORACLEエラーがコミット時に表示されるまで待つより、データ入力中にそのようなエラーに関して即時フィードバックをオペレータに与える方がよいでしょう。

主キー値をオペレータが入力した直後に一意であることをチェックするには、SELECT文を発行するWhen-Validate-Itemトリガーを作成して、その値がブロックのデータ・ソースにすでに存在するかどうかをチェックします。

注意: また、「主キーの強化」ブロック・プロパティおよび「主キー」項目プロパティを設定しても、主キーを一意に適用できます。しかし、これらのプロパティを設定すると、Form Builderでは、コミット時に、そのブロックの各UPDATEまたはINSERTが処理されるまで、重複値がチェックされません。これらのプロパティを設定しても、これに相当するデータベース制約の使用に対して有利となる訳ではありません。その理由は、いずれのケースにおいても、主キー値の重複チェックについて、コミット時までその一意性を判断できないからです。


項目への他表の値の移入について

 例	     関連項目

ブロックのデータ・ソース以外の表から導出される値を持つデータブロック内の項目を作成しなくてはならないことが、しばしばあります。このような項目はルックアップ・フィールドとして知られています。なぜルックアップかというと、ブロックで問合せが実行されるとき、または現行レコードが変わるとき、必ずアプリケーションが項目の値を問い合せる、すなわち"探す"必要があるからです。

たとえば、サンプルの表では、S_ORD（注文）表にはCUSTOMER_ID列はありますが、顧客名はありません。関係スキーマにおいては、「名前」は注文の属性ではなく顧客の属性であり、正規化ルールでは、これがS_ORD表ではなくS_CUSTOMER表に表示されることが要求されます。CUSTOMER_ID列は、S_ORDとS_CUSTOMERの結合フィールドです。

しかし、S_ORD表に基づいてデータ・ブロックを作成すると、その顧客のIDのみでなく、各注文とともに顧客の名前を表示したくなるものです。そのような場合には、「Orders」ブロック内に制御項目を作成し、顧客IDが変わるときにプログラムから、制御項目に顧客名を代入して表示することができます。


他の表の値を持つ項目の移入について

  関連項目

他の表の値を持つ項目を移入するには

1	適切なデータ・ブロック内に希望するタイプの項目を作成します。

2	項目をダブル・クリックして「プロパティ・パレット」を表示します。

3	「データベース」ノードで、「データベース項目」プロパティを「いいえ」に設定して、その項目を制御項目にします。

4	「データ」ノードで、項目が表示するフェッチした値の型と互換性が必要な「データ型」、「最大長」および他のプロパティを設定します。

5	制御項目に値を表示するために必要なトリガーを作成します。


項目への他表の値の移入の例について

Post-Queryトリガーは、オペレータまたはアプリケーションが問合せを実行すると起動します。これはフェッチされた各レコードにつき一度起動するので、トリガー内で使用するコードによって、各レコード内の値を読み込み、設定できます。

ORD_BLKというデータ・ブロックのCUSTOMER_NAMEという制御項目に値を表示するためには、ORD_BLKブロックに付加された次のPost-Queryトリガーを作成します。

Post-Query Trigger for ORD_BLK block: 	SELECT name	INTO :ord_block.customer_name	FROM s_customer	WHERE s_customer.id = :ord_blk.customer_id;

The Post-QueryPost-Queryトリガーは、オペレータがこのブロック内の注文を問合せてきたときに顧客名を取り出しますが、オペレータがデータ入力中に顧客ID項目を入力または更新するとき、その顧客名を表示する必要があります。この作業を扱うには、その顧客ID項目に付加されたWhen-Validate-Itemトリガーを作成します。

When-Validate-Itemトリガーは、オペレータまたはアプリケーションがその項目の外にナビゲートする際に起動し、そのCustomer_Name項目に値を表示するSELECT文を発行する機会をユーザーに与えます。

When-Validate-Item Trigger for Customer ID item: BEGIN	SELECT name	INTO :ord_block.customer_name	FROM s_customer	WHERE 	s_customer.id = :ord_blk.customer_id;EXCEPTION	WHEN	NO_DATA_FOUND THEN	Message('Invalid Customer ID. Please enter again.');	RAISE Form_Trigger_Failure;END;


ナビゲーションの制御について

  関連項目

ブロック内の各項目およびフォーム内の各ブロックのデフォルトのナビゲーション順序は、オブジェクト・ナビゲータ内における項目やブロックの順序によって決まります。また、Form Builderではフォーム・レベル、ブロック・レベルおよび項目レベルでプロパティが設定できるため、ユーザーはナビゲーションを完全に制御できます。設計時または実行時にこれらのプロパティを設定すると、オペレータが項目へナビゲートできるか、またそれを許す場合の順序を制御できます。

ナビゲーションを制御するため次のプロパティを設定できます。

オブジェクト	ナビゲーションに影響するプロパティ
フォーム	最初のナビゲーション・データ・ブロック
データ・ブロック	ナビゲーション形式 次のナビゲーション・ブロック 前のナビゲーション・ブロック
項目	変更可能 マウス・ナビゲート キーボードで移動可能 次のナビゲーション項目 前のナビゲーション項目


デフォルトのナビゲーション順序の変更について

  関連項目

ブロック・レベルまたは項目レベルのデフォルトのナビゲーション順序は、「次のナビゲーション・ブロック」、「前のナビゲーション・ブロック」、「最初のナビゲーション・ブロック」、「次ナビゲーション項目」および「前ナビゲーション項目」プロパティを設定すると上書きできます。

「次のナビゲーション・データ・ブロック」プロパティと「前のナビゲーション・データ・ブロック」プロパティ「次のナビゲーション・ブロック」プロパティおよび「前のナビゲーション・ブロック」プロパティによって、オブジェクト・ナビゲータ内にリストされた各ブロックの順序が定義するデフォルトのナビゲーション順序が上書きされます。とくに、「次のナビゲーション・ブロック」プロパティでは、他のブロックを順序内の次のブロックとして指定できます。

たとえば3つのブロックを持つフォームの場合、ブロック1の「次のナビゲーション・ブロック」プロパティの設定で、デフォルトの次のブロックをブロック2からブロック3に変更することができます。そうすることにより、ブロック1...ブロック3...ブロック1というブロック・ナビゲーション順序を作り出すことができます。この例の場合、ブロック3の次のブロックはブロック1のままでありデフォルトのキーボード・ナビゲーション中ブロック2には決してナビゲートされません。

また、「次のブロックへ」操作および「前のブロックへ」操作を使用禁止にするには、、「次のナビゲーション・データ・ブロック」プロパティおよび「前のナビゲーション・データ・ブロック」プロパティを使用します。たとえば、ブロック2の「次のブロックへ」キーを禁止するには、ブロック2の「次のナビゲーション・データ・ブロック」プロパティをそれ自身（ブロック2）にします。

「次ナビゲーション項目」および「前ナビゲーション項目」プロパティは、「次のナビゲーション・データ・ブロック」プロパティおよび「前のナビゲーション・データ・ブロック」プロパティに類似していますが、ブロック・レベルではなく、項目レベルでナビゲーションを制御することが異なります。

「最初のナビゲーション・データ・ブロック」プロパティ  起動時にフォームを入力する際に、ナビゲーション順序の1番目のブロックを除くターゲット・ブロックを指定するには、「最初のナビゲーション・ブロック」フォーム・モジュール・プロパティを設定します。このプロパティは、プロパティ・パレットの中で、またはビルトイン・プロシージャSET_FORM_PROPERTYによりプログラムによって設定できます。


ブロックのナビゲーション形式の指定について

  関連項目

「ナビゲーション形式」ブロック・プロパティを設定すると、デフォルトのナビゲーション順序を変更できます。「ナビゲーション形式」では、「次の項目へ」操作または「前の項目へ」操作がそれぞれ、ブロック内の最後のナビゲート可能な項目または最初のナビゲート可能な項目からどのように処理されるかを指定します。

「ナビゲーション形式」には次の設定が有効です。

同一レコード	デフォルトのナビゲーション・スタイル。ブロックの最後の項目からの「次の項目へ」操作は、入力フォーカスを、同一レコード内の、ブロックの最初にナビゲート可能な項目へ移します。
レコード変更	ブロックの最後の項目からの「次の項目へ」操作は、入力フォーカスを、次のレコード内の、ブロックの最初にナビゲート可能な項目へ移します。現レコードがそのブロック内の最後のレコードであり、現在実行中の問合せがなければ、Form Builderにより新規レコードが作成されます。そのブロックに現在実行中の問合せがある（そのブロックに問合せ対象レコードが含まれている）場合は、Form Builderにより、必要に応じて追加レコードが取り出されます。
データ・ブロックの変更	ブロックの最後の項目から「次の項目へ」操作をすると、入力フォーカスは次のブロックの最初のナビゲート可能項目に移ります。同様に、ブロック内の最初の項目からの「前の項目へ」操作では、前のブロックの現レコード内の最後の項目に入力フォーカスを移動します。「次のナビゲーション・データ・ブロック」および「前のナビゲーション・データ・ブロック」プロパティは、ブロックの次または前のブロックの再定義に使用することに注意してください。
「ナビゲーション形式」ブロック・プロパティは、プロパティ・パレット内で設計時に設定でき、SET_BLOCK_PROPERTYビルトイン・プロシージャを使用して実行時にも設定できます。

デフォルトのナビゲーション形式は「同一レコード」です。一般に、このスタイルを使用するアプリケーションでは、どの項目がどのブロックに属するのかをフォーム・オペレータに明確に示すものにしてください。オペレータが他のブロック内の項目にナビゲートするのに「次のブロックへ」を押す必要がある場合、どの項目がどのブロックに属するか、オペレータには明確になっている必要があります。

ブロックのナビゲーション・パラダイムをユーザーに公開することが必ずしも望ましいとは限りません。そのような場合、「レコード変更」または「ブロック変更」ナビゲーション形式を使用して、希望するナビゲーション順序を実現できます。項目が2つ以上のブロックに属する場合も含めて、オペレータが[Tab]を押すだけでウィンドウ内のすべての項目にナビゲート可能にするという場合に、この「ブロック変更」の設定が役立ちます。

たとえば、一番下に一連のボタンがあるウィンドウを作成するとき、それらのボタン項目は、同一ウインドウ内の他の項目とは異なるブロックにある場合が多くあります。各ブロックに「ブロック変更」ナビゲーション形式を使用すると、「次のブロックへ」ナビゲーション制限が効果的に排除されます。

「レコード変更」ナビゲーション形式は、一度に数個のレコードを格納することのあるデータベース・ブロックには有効です。この設定を行うと、オペレータは、異なるキーやマウスを使用して次または前のレコードに明示的にナビゲートしなくても、複数のレコードを素早く移動できます。データ入力中、「レコード変更」ナビゲーション形式によりオペレータは、レコードの末尾に新しいレコードを挿入することが可能です。


項目のナビゲート可能化と変更可能化について

  関連項目

ナビゲート可能な項目とは、オペレータが、デフォルトのナビゲーション中にTABキーを使用してナビゲートできる項目、またはForm Builderにより、ナビゲーション用ビルトイン・プロシージャが実行されることによりナビゲートできる項目のことです。

たとえば、オペレータが「次の項目へ」を押すか、アプリケーションがビルトイン・プロシージャNEXT_ITEMを実行すると、Form Builderにより順序内のナビゲート不能項目を除いて、次のナビゲート可能項目に入力フォーカスが移動されます。

各項目の「キーボードで移動可能」と「変更可能」プロパティを設定すると、オペレータがその項目にナビゲートし、対話できるようにするかどうかを指定できます。「キーボードで移動可能」プロパティでは、Form Builderでデフォルトのナビゲーション中に項目内に入力フォーカスを配置するかどうかを判別します。これは、図表項目および表示項目以外のすべての項目に適用されます。「変更可能」プロパティでは、「キーボードで移動可能」プロパティが「いいえ」に設定された項目をオペレータがマウスで処理できるかどうかを判別します。

ほとんどのウィンドウ・マネージャでは、使用禁止項目は入力または選択不可であることを示すために低コントラストで表示されます。

「変更可能」プロパティが「はい」に設定されている場合、「キーボードで移動可能」プロパティは「はい」または「いいえ」のいずれかに設定できます。「変更可能」プロパティが「いいえ」の場合は、項目は常にナビゲート不能です。

次の表は、これらのプロパティの有効設定を示したものであり、また各設定値に対応するナビゲーション動作について説明しています。

キーボードで移動可能	変更可能	対応するナビゲーション動作
はい	はい	項目はナビゲート可能で、Form Builderにより、デフォルトのナビゲーション中その項目に入力フォーカスが移動できます。項目は通常表示されます。
いいえ	はい	項目はナビゲート不能です。デフォルトのナビゲーション中、FormBuilderでは、その項目がスキップされ、順序内の次のナビゲート可能項目に移動します。項目は通常表示され、オペレータはマウスでその項目にナビゲートでき、処理できます。
いいえ	いいえ	項目はナビゲート不能であり、入力またはマウス操作が不能であることを示すために低コントラストで表示されます。

注意: 「変更可能」プロパティを「いいえ」に設定するとオペレータが項目の値を更新することは防止できますが、その項目は使用不可能になり、グレーになります。項目を通常表示させるか、オペレータが項目の値を変更できないようにするには、挿入可項目プロパティまたは更新可項目プロパティ(あるいはその両方)を「いいえ」に設定します。これにより、オペレータはステータスが新規作成/挿入や問合せ/変更済みのレコードを変更できなくなります。


GUI項目のマウス・ナビゲート特性の設定について

 例	     関連項目

オペレータは、マウスでクリックすることにより、ボタンのアクティブ化、チェックボックスの切り替え、リスト項目内の要素選択またはラジオ・ボタンの選択ができます。これらの各項目については、「マウス・ナビゲート」プロパティを設定すると、項目内でマウス・クリックがあった場合にForm Builderにその項目に入力フォーカス設定させるかどうかを指定できます。「マウス・ナビゲート」プロパティは、GUIアプリケーションにのみ適用され、次の項目についてのみ有効です。

•	ボタン

•	チェックボックス

•	リスト項目

•	ラジオ・グループ

「マウス・ナビゲート」が「はい」（デフォルト）の場合、Form Builderによって標準ナビゲーションが実行され、オペレータがマウスでその項目をアクティブ化したときにその項目にフォーカスが移動されます。

「マウス・ナビゲート」が「いいえ」に設定されている場合は、FormBuilderでは、オペレータがマウスでその項目をアクティブ化したときにその項目に移動するためのナビゲーション（またその結果、妥当性チェック）が実行されません。


GUI項目のマウス・ナビゲート特性の設定例について

同一ウィンドウ内に表示されているAとBの2つのブロックがあるとします。ブロックAはテキスト項目を含み、ブロックBはボタンを含んでいます。入力フォーカスがブロックA内のテキス ト項目内にあるとき、オペレータはマウスでそれをクリックしてブロックB内のボタンをアクティブ化できます。オペレータがそのボタンをクリックすると、「When Button Pressed」イベントが発生し、Form Builderによりそのボタンに付加されたWhen-Button-Pressedトリガー内のコードが実行されます。

ボタンの「マウス・ナビゲート」プロパティは、ボタンでのマウス・クリックをForm Builderがどう処理するかを決定します。

「マウス・ナビゲート」が「はい」に設定されている場合Form Builderではボタンにナビゲートし、その途中で標準の妥当性チェックが実行されます。このため、次の内部ナビゲーションおよび妥当性チェック・イベントが潜在的に起こる場合があります。

•	項目を出る(ソース・テキスト項目)

•	項目の妥当性チェック

•	レコードを出る

•	レコードの妥当性チェック

•	ブロックを出る（ブロックA）

•	ブロックに入る（ブロックB）

•	レコードに入る（ボタンが存在している"レコード"）

•	項目に入る（ターゲット・ボタン）

「マウス・ナビゲート」が「いいえ」に設定されている場合Form Builderは、ボタンへの内部ナビゲーションを行わずに単にボタンのWhen-Button-Pressedトリガーを起動します。ナビゲーションはまったく発生しないため、このトリガーの実行後は、入力フォーカスはソース・テキスト項目内に残ります（もちろん、これはそのトリガー・コードが別の項目にナビゲートしない場合です）。

これらの標準ナビゲーション・イベントまたは妥当性チェック・イベント用に定義されたトリガーがある場合には、これらはそのボタンへの内部ナビゲーション中に適切なポイントで起動します。

たとえば、ソース項目に付加されたWhen-Validate-Itemトリガーがある場合、それは、オペレータがそのボタンを押したときに起動します（ボタンの「マウス・ナビゲート」プロパティが「いいえ」に設定されていると、ナビゲーションは起こらず、妥当性チェック・トリガーは起動しません）。

「マウス・ナビゲート」プロパティに関する注意

•	「マウス・ナビゲート」が「はい」になっている場合、そのボタン上のWhen-Button-Pressedトリガーは、そのボタンへのナビゲーションが成功した場合のみ起動します。妥当性チェックが失敗すると、ナビゲーションが失敗し、When-Button-Pressedトリガーは起動しません。これは、必要なフィールドに無効な値がある場合には、オペレータはそのボタンをアクティブ化できないということを意味します。

•	ウィンドウ・マネージャの中には、入力フォーカスが、ボタンまたはチェックボックスなどの項目内にあることをビジュアルに表現できないものがあります。これらのプラットフォーム上で「マウス・ナビゲート」を「はい」のままにしている場合、オペレータは、入力フォーカスの位置に関する視覚的なフィードバックを受けないことに注意してください。


コードを使ったナビゲートについて

オペレータがフォーム内でナビゲートするのに使用できるナビゲーション・キーは、それに対応するビルトイン・プロシージャがあり、ユーザーはこれをコールすれば、ナビゲーションをプログラムにより開始できます。次の表では、一般的なナビゲーション・キーおよびそれに対応するビルトインをいくつか記載しています。

ランフォーム・ファンクション・キー	対応するビルトイン・サブプログラム
「次の項目へ」 （[Tab]）	NEXT_ITEM
「前の項目へ」	PREVIOUS_ITEM
「次のブロックへ」	NEXT_BLOCK
「前のブロックへ」	PREVIOUS_BLOCK
「次のレコードへ」	NEXT_RECORD
「前のレコードへ」	PREVIOUS_RECORD
「次のキーへ」	NEXT_KEY

他のビルトイン・プロシージャを使用して指示されたターゲットに直接ナビゲートします。

•	GO_ITEMを使用して、指示された項目にナビゲートします。

•	GO_BLOCKを使用して指示されたブロック内の最初のナビゲート可能項目にナビゲートします。

•	GO_FORMを使用して他のオープン・フォーム内の現項目にナビゲートします。


バージョン制御について - PVCS

  関連項目

バージョン制御とは、アーカイブ内の同じファイルの複数のバージョンを管理、メンテナンスするプロセスです。

アーカイブはユーザー定義のディレクトリで、ファイルのテキスト版と、そのファイルに加えられたすべての変更と変更日時の記述を含む、各バージョンの情報が収められています。

アーカイブを使用すると、開発チームのメンバーは、安全かつ首尾一貫した方法でファイルの任意のバージョンを検索し、変更した後、戻すことができます。

Form Builderなどのコンポーネントは、汎用的なインタフェースを経由して、任意のソース制御プロバイダにソース制御の機能を提供します。プラグイン・モジュールは、現在INTERSOLV社のPVCS(Polytron Version Control System)やPure-Atria社のClearcase、その他将来リリースされる製品で利用可能です。

PVCSのインストールと使用方法の詳細は、PVCSのマニュアルを参照してください。

PVCSではファイル・ロックとアーカイブ・レポートもサポートしています。


構成ファイルについて

ソース制御インタフェースの最適なパフォーマンスを得るために設定する必要がある4つの環境変数があります。これらの環境変数は、Windows 3.1では、oracle.iniで設定され、Windows NTまたはWindows 95/98では、レジストリのSOFTWARE/ORACLEキーで設定されます。

DEV2000_SOURCECONTROLは、使用するソース制御システムを指定します。これは、"PVCS"に設定する必要があります。Form Builderなどのコンポーネントは、デフォルトでPVCSを使用するため、この変数を省略すると、このリリースでは大きな効果を得ることはできません。ただし、その他のソース制御システムのサポートを追加している場合は、この変数を設定することにより、そのソース制御システムの機能を期待どおり確実に利用することができます。

DEV2000_PROJECTは、Forms Developerリリース1.0および1.1からTVCCFG変数を置き換え、使用する必要があるPVCSプロジェクト構成(.CFG)ファイルを識別します。環境変数を使用してプロジェクト構成ファイルを指定しない場合は、セッションごとに、「ソース制御オプション」ダイアログ・ボックスからプロジェクト構成ファイルを選択する必要があります。

DEV2000_SCVIEWERは、ソース制御のログやレポート操作の違いの結果を表示するために使用するプログラムを制御します。結果の表示を無効にするには、この変数をnull(値なし)に設定します。

DEV2000_SCCONVERTは、ファイルをPVCSに対してチェックインする前にファイルをASCIIに変換するかどうかと、ファイルをチェックアウトする前にファイルをバイナリに戻すかどうかを制御します。以前のバージョンのForms DeveloperでのPVCSの使用からアップグレードしていて、この動作をそのまま残す場合以外は、このエントリをデフォルトのFALSEに設定しておく必要があります。

oracle.iniの例の一部を次に示します。

...

DEV2000_SOURCECONTROL=PVCS

DEV2000_PROJECT=C:\PROJECTS\MYPROJ\MYPROJ.CFG

DEV2000_SCVIEWER=NOTEPAD.EXE

DEV2000_SCCONVERT=FALSE

...


PVCSのインプリメントについて

一定のオブジェクト（フォーム、メニュー、レポート、図表、PL/SQLライブラリ）をチェックインすると、バイナリ・ファイルは等価のテキスト・ファイルに自動的に変換され、そのテキスト・ファイルがソース制御にチェックインされます。たとえば、MYFORM.FMBをチェックインした場合、MYFORM.FMBは自動的にMYFORM.FMBをMYFORM.FMT（テキスト形式のMYFORMファイル）に変換した後、MYFORM.FMTをソース制御にチェックインします。

同様に、アーカイブ・ファイルをチェックアウトする場合、Oracle Developerではテキスト形式のファイルを、デザイナ・インタフェースで読めるバイナリ形式に変換します。MYFORM.FMTをチェックアウトしたら、編集できるようにMYFORM.FMBに変換します。

アーカイブは、あるファイルの異なるバージョン間でより有意義な差分レポートを生成できるように、テキスト形式のファイルに対して行われます。PVCSではバイナリ・ファイルのアーカイブをサポートしていますが、バイナリ・ファイルのバージョン間の差分レポートの生成はできません。

このファイル変換の結果、PVCSの設定によっては、作業ディレクトリに余分なファイルが残ることがあります。プロジェクトが、ワーク・ファイルをチェックイン後に読取り専用ファイルにするよう構成されている場合、作業ディレクトリにはバイナリ・ファイルと読取り専用のテキスト形式のファイルの両方が残ります。ただし、プロジェクトが、ワーク・ファイルをチェックイン後削除するように構成されている場合は、作業ディレクトリにはバイナリ・ファイルのみが残ります。


ファイルのチェックインについて

  関連項目

ファイルを変更しアーカイブにチェックインするたびに、ファイルは新しいバージョンになります。あるファイル（拡張子がpllのPL/SQLライブラリ・ファイルなど）をチェックインすると、PVCSではバイナリからテキストへの変換を自動的に実行し、そのファイルを適切な拡張子（pldなど）を持つテキスト・ファイルとして、指定したディレクトリにアーカイブします。PVCSでは、このテキスト・ファイルを使用してアーカイブ・レポートを生成します。

バージョン・ラベルにより、バージョンはアプリケーションの完全バージョンを構成する代表的なバージョン群の１つとして識別されます。バージョン・ラベルを使用すると、特定のバージョンに関係付けられたすべてのファイルを、1つの名前を参照することで同時に操作できます。現行モジュールのバージョンをすでにアーカイブしている場合、Oracle Developerではアーカイブ・フィールドに適切な情報を自動的に挿入します。


ファイルのチェックアウトについて

  関連項目

アーカイブからファイルをチェックアウトすると、参照、編集または印刷をするためにファイルにアクセスできます。デフォルトでは、ロックされた特定のバージョンをチェックアウトできるのは一度に1人のユーザーのみです。

ファイルをチェックアウトする場合、ファイルはアーカイブされたテキスト版から適切な形式に自動的に変換します（たとえば、PL/SQLライブラリ・ファイルをpldから.pllへ変換）。アーカイブからチェックアウトしたファイルはワーク・ファイルと呼ばれます。ワーク・ファイルをチェックインするたびに、これが最新バージョンになります。


アーカイブ・レポートの作成について

  関連項目

PVCSによって、次のアーカイブ・アクティビティを要約するレポートを生成できます。

•	アーカイブの作成

•	アーカイブされたファイルの属性

•	継続的な改訂

•	ラベル名

•	最後の改訂で変更された行

•	ワーク・ファイルの説明


プロモーション・モデルについて

プロモーション・モデルとは、開発サイクルにおける重要段階の階層構造です。プロモーションを使用して、設計段階から最終的なリリースまでソース・コードの開発を制御します。各重要段階はプロモーション・グループによって表されます。プロモーション・グループの例として、Development（開発）およびQuality Assurance（品質保証）、Production（生産）があります。プロモーション・モデルは先進機能で、正式にソフトウェアの切替えを図っている現場での使用をお薦めします。

プロモーション・モデルには、1つ以上の最下位グループ、すなわち開発グループを設定することができます。プロモーション・モデルが実行されていると、開発グループに関係付けられたバージョンしか変更することはできません。上位グループに関係付けられたバージョンを編集するには、そのバージョンをチェックアウトし、チェックアウト時に1つの開発グループに再び関係付けてから、チェックインしなおして上位グループに再び昇格させる必要があります。

プロモーション・モデルに開発グループが1つしかない場合、一度にロックできるのは、アーカイブ内の1つのバージョンのみです。開発を並行して進めるためのプロモーション・モデルを設計するには、最低2つの開発グループを設定する必要があります。

開発グループの上には、テストや予備リリースの様々な段階のために、中間のプロモーション・グループをいくつでも定義できます。最上位レベルはProductionグループで、 通常、バージョンに最終的なリリースの準備ができたことを示します。

プロモーション・モデルを使用すると、次のことができます。

•	プロジェクトの状態の迅速な判断。1つのプロジェクト内で、プロジェクトに関するアーカイブ・レポートを実行して、どのモジュールが重要段階に達していないかを即座に判断することができます。

•	非開発レベルでのバージョンへのアクセスの制御。開発後のプロモーション・グループに関係付けられたバージョンを変更することはできないので、必ずすべてのバージョンを徹底的にテストするようにします。

•	独自のモデルのカスタム設計。各プロジェクトに最適のプロモーション構造体を、任意の数の重要段階を設定してカスタム設計することができます。


アーカイブ・ディレクトリの作成

  次のステップ	  関連項目

アーカイブ・ディレクトリを作成するには: 注意:

1	「ファイル」 [image] 「管理」 [image] 「ソース制御オプション」を選択して、「ソース制御: オプション」ダイアログを表示します。

2	「プロジェクト」タブがまだ選択されていない場合は選択します。

3	「アーカイブするディレクトリ」フィールドで、自分のアーカイブ・ディレクトリの名前と位置を指定します。

4	「追加」をクリックし、次に「クローズ」をクリックしてダイアログをクローズします。


レジストリでDEV2000_PROJECTパラメータを定義済みでない限り、アーカイブ・ディレクトリを追加することはできません。Microsoft Windowsでは、DEV2000_PROJECTパラメータを次のように定義します。

DEV2000_PROJECT=C:\PVCS\PROJECT1\PROJECT1.CFG

DEV2000_PROJECTパラメータの編集には、Windows 3.1の場合はOracle.iniファイルを使用し、Windows 95/98およびWindows NTの場合はレジストリを使用します。


ファイルのチェックイン

  次のステップ	  関連項目

ファイルをチェックインするには:

1	「ファイル」 [image] 「管理」 [image] 「チェックイン」を選択して、「ソース制御: チェックイン」ダイアログを表示します。

2	「ワーク・ファイル」テキスト・ボックスにアーカイブするファイルの名前を入力します。

3	「アーカイブするファイル」フィールドで、自分のアーカイブ・ディレクトリを指定します。

4	（オプション）  「バージョン・ラベル」、「プロモーション・グループ」、「記述」を指定します。

5	（オプション）  アーカイブ･ファイルのチェックイン後も、ファイルの書込み可能なコピーをローカルに残したい場合、「チェックイン後もロックを継続」チェックボックスをクリックします。ファイルの書込み可能なコピーがあれば、最初にファイルをチェックアウトしなくても、ファイルに後続の変更を加え、チェックインすることができます。

6	「OK」をクリックして、ファイルをチェックインします。

PVCSによってファイルがアーカイブされます。


ファイルのチェックアウト

  次のステップ	  関連項目

ファイルをチェックアウトするには:

1	「ファイル」 [image] 「管理」 [image] 「チェックアウト」を選択し、「ソース制御: チェックアウト」ダイアログを表示します。

2	「ソース・アーカイブ」フィールドでソース・アーカイブ・ディレクトリを指定します。

3	「ファイル名」テキスト・ボックスに、チェックアウトするファイルの名前を入力します。

4	「改訂バージョン」フィールドで、希望するファイルの改訂バージョンを選択します。

5	（オプション）  「配布先」フィールドにパスを入力して、希望する配布先を指定します。

6	（オプション）  チェックアウトするファイルをロックする場合、チェックアウトするバージョンに割り当てられる開発レベルのプロモーション・グループを選択する必要があります。

7	（オプション）  「チェックアウト時にファイルをロック」チェックボックスをクリックします。注意:

8	（オプション）  「チェックアウト時にファイルをオープン」チェックボックスをクリックします。このボックスをチェックすると、チェックアウトしたファイルは、PVCSからチェックアウトした後、デザイナでオープンされます。

9	「OK」をクリックして、ファイルをチェックアウトします。


アーカイブ・ファイルを変更する場合は、変更をチェックインするために、「チェックアウト時にファイルをロック」チェックボックスを使用可能にする必要があります。使用可能にしないと、ファイルの読込み専用版がチェックアウトされます。


アーカイブ・レポートの作成

  関連項目

アーカイブ・レポートを作成するには:

1	「ファイル」 [image] 「管理」 [image] 「ソース制御オプション」を選択します。

2	「レポート」タブをクリックして、「ソース制御: レポート・オプション」ページを表示します。

3	「アーカイブ」フィールドでアーカイブ・ディレクトリを指定します。

4	「ソース・ファイル」フィールドで、希望するアーカイブ・ファイルの名前を指定します。PVCSでは、このファイルとターゲット・ファイルの比較に基づいてレポートが生成されます。

5	「ターゲット・ファイル」フィールドで、ターゲット・ファイルの名前を指定します。注意

6	「改訂バージョン」フィールドで、希望するファイルの改訂バージョンを選択します。

7	「出力ファイル」フィールドでレポートの名前とディレクトリを指定し、「レポート実行」をクリックします。

PVCSによってレポートが作成されます。DEV2000_SCVIEWER環境変数またはレジストリのパラメータで表示プログラムが指定されている場合、出力を表示するためにこのプログラムがコールされます。指定されていない場合は、エディタを使用して、レポート・ファイルをオープンします。


同じアーカイブ内で2つの改訂バージョンを比較する場合、ステップ4で入力したアーカイブ・ファイルの名前を入力します。 異なるアーカイブ・ファイルを比較する場合、「ターゲット・ファイル」フィールドで異なるアーカイブ・ファイルを1つ指定します。


「ソース制御: チェックイン」ダイアログ

  関連項目

希望するファイルを指定したアーカイブにマージします。

「チェックイン」ダイアログには、次のオプションがあります。

ワーク･ファイル	チェックインするファイルの名前を指定します。「参照」を選択して、ファイルを選択することができるファイル・ダイアログを起動します。
アーカイブするファイル	現行のプロジェクトに使用可能なすべてのアーカイブのドロップダウン・リスト。リストからファイルをチェックインするアーカイブを選択します。
バージョン・ラベル	（オプション）ファイルのバージョン・ラベルを指定します。
プロモーション・グループ	PVCSプロジェクトにプロモーション・モデルが定義されている場合、このリストが使用可能になります。チェックインする改訂バージョンに割り当てられる、開発レベルのプロモーション・グループを選択します。
説明	この改訂バージョンに加えられた変更の記述を指定します。オプションですが、チェックアウト時に改訂バージョンを指定しやすくするため、変更の記述を入力することをお薦めします。
チェックイン後もロックを継続	アーカイブ・ファイルの書込み可能なコピーを、チェックイン後もローカルに残すかどうかを指定します。ファイルの書込み可能なコピーがあれば、最初にファイルをチェックアウトしなくても、ファイルに後続の変更を加え、チェックインすることができます。


「ソース制御: チェックアウト」ダイアログ

  関連項目

指定したファイルを、編集できるようにアーカイブから取り出します。

「チェックアウト」ダイアログには、次のオプションがあります。

ソース・アーカイブ	ファイルをチェックアウトするアーカイブのディレクトリ名を指定します。
ファイル名	ソース制御から取り出すファイルの名前を指定します。「参照」を選択して、ファイルを選択することができるファイル・ダイアログを起動します。
改訂バージョン	「ファイル名」フィールドで選択したファイルの、使用可能な改訂バージョンとバージョン・ラベルを表示します。
説明	「改訂バージョン」リストにある使用可能な改訂バージョンの記述をリストします。
配布先	（オプション） チェックアウトするファイルの配布先ディレクトリを指定します。
プロモーション・グループ	PVCSプロジェクトにプロモーション・モデルが定義されている場合、このリストが使用可能になります。チェックアウトするファイルにロックをかける場合、チェックアウトする改訂バージョンに割り当てられる開発レベルのプロモーション・グループを選択する必要があります。
チェックアウト時にファイルをロック	チェックアウトするファイルにロックのマークを付けるかどうかを指定します。ロックされたファイルは、他のユーザーによる更新から保護されます。
チェックアウト時にファイルをオープン	このボックスをチェックすると、チェックアウトしたファイルは、PVCSからチェックアウトした後、デザイナでオープンされます。


「ソース制御: オプション」ダイアログ

  関連項目

「オプション」ダイアログには、次の3つのタブがあります。

「ソース制御: プロジェクト・オプション」ページ

「ソース制御: ファイル・オプション」ページ

「ソース制御: レポート・オプション」ページ


「ソース制御: プロジェクト・オプション」ページ

  関連項目

プロジェクト構成ファイルで、アーカイブ・ディレクトリの追加および削除ができるようにします。

「プロジェクト・オプション」ページには、次の設定項目があります。

現行プロジェクト	現行のPVCSプロジェクト構成ファイルの名前。初期値はレジストリのDEV2000_PROJECTの値です。直接ファイル名を入力するか、または「参照」を選択して、使用しているオペレーティング・システムのファイル・ダイアログを表示することができます。
アーカイブするディレクトリ	現行のプロジェクトで使用可能なアーカイブ・ディレクトリのリストに追加する、新しいアーカイブ・ディレクトリを指定します。直接ディレクトリ名を入力するか、または「参照」を選択して、使用しているオペレーティング・システムのファイル・ダイアログを表示することができます。
アーカイブ・ディレクトリ・リスト	現行のプロジェクトで使用可能なアーカイブ・ディレクトリを表示します。
追加	「アーカイブするディレクトリ」テキスト・ボックスにアーカイブ・ディレクトリを入力してから、「追加」をクリックし、ディレクトリを現行のプロジェクトに追加します。追加されたディレクトリはリストに表示されます。
削除	リストからアーカイブ・ディレクトリを選択し、次に「削除」をクリックして、プロジェクトからディレクトリを削除します。


「ソース制御: ファイル・オプション」ページ

  関連項目

アーカイブのロックやアンロック、またはそのアーカイブでのアクティビティのログの生成ができるようにします。

「ファイル・オプション」ページには、次の設定項目があります。

アーカイブ	現行のプロジェクト構成ファイル内のすべてのアーカイブ・ディレクトリのドロップダウン・リスト。
ファイル名	アクセスするアーカイブ・ファイルを指定します。直接ファイル名を入力するか、または「参照」を使用してファイルを選択することができます。PVCSプロジェクトがワーク・ファイルのパスを無視するように構成されている場合、ワーク・ファイルまたはアーカイブ・ファイルのいずれかを指定できます。そのように構成されていない場合は、必ずアーカイブ・ファイルのみを指定してください。
改訂バージョン	このドロップダウン・リストでは、選択したファイルの使用可能な改訂バージョンとバージョン・ラベルがすべて表示され、ファイルが選択されていない場合には空項目が表示されます。特定の改訂バージョンを選択した場合、その改訂バージョンはロックまたはアンロックされます。改訂バージョンを選択しない場合、プロモーション・モデルが定義されているかどうかでロックの動作が決まります。プロモーション・モデルが定義されていない場合は、チップ・バージョンがロックされます。定義されている場合は、指定したプロモーション・グループに現在割り当てられている改訂バージョンがロックされます。改訂バージョンを選択せずにアンロックする動作では、必ずそのファイルにかけたすべてのロックが解除されます。
プロモーション・グループ	PVCSプロジェクトにプロモーション・モデルが定義されている場合に使用可能なリストで、プロモーション・モデル内のすべての開発レベルのプロモーション・グループを表示します。改訂バージョンをロックする場合、リストに表示されるプロモーション・グループはその改訂バージョンに割り当てられます。
ログ・ファイル名	ログ・ファイルの名前を指定します。
ログ・タイプ	チェックインまたはチェックアウトが発生した際、指定したログ・ファイルに入力される更新のタイプを指定します。
ロック	ソース制御から取り出さずに、「ファイル名」フィールドで指定したファイルをロックします。ロックされたファイルは、他のユーザーによる更新から保護されます。「改訂バージョン」リストから特定の改訂バージョンを選択すると、その改訂バージョンがロックされます。改訂バージョンを選択しなかった場合、チップ・バージョン（すなわち、指定したプロモーション・グループに現在割り当てられている改訂バージョン）がロックされます。PVCSプロジェクトにプロモーション・モデルが定義されている場合、指定したプロモーション・グループはロックされている改訂バージョンに割り当てられます。
アンロック	「ファイル名」フィールドで指定したファイルをアンロックし、他のユーザーがそのアーカイブ・ファイルに対してチェックアウトや変更を行えるようにします。「改訂バージョン」リストから特定の改訂バージョンを選択した場合、その改訂バージョンはアンロックされます。改訂バージョンを選択しなかった場合、そのファイルの改訂バージョンにかけたロックはすべて解除されます。
ログ生成	名前を指定してログ・ファイルを生成します。ログ・ファイルの項目のタイプは、「ログ・タイプ」オプションの設定によって決まります。DEV2000_SCVIEWER環境変数またはレジストリのパラメータで表示プログラムが指定されている場合、出力を表示するためにこのプログラムがコールされます。


「ソース制御: レポート・オプション」ページ

  関連項目

アーカイブ・レポートの定義と作成ができます。

「レポート・オプション」ページには、次の設定項目があります。

アーカイブ	現行のプロジェクト構成ファイル内のすべてのアーカイブ・ディレクトリのドロップダウン・リスト。
ソース・ファイル	差分レポートで最初に使用するファイルを指定します。直接ファイル名を入力するか、または隣りの「参照」ボタンを使用してファイルを選択することができます。PVCSプロジェクトがワーク・ファイルのパスを無視するように構成されている場合、ワーク・ファイルまたはアーカイブ・ファイルのいずれかを指定できます。そのように構成されていない場合は、必ずアーカイブ・ファイルのみを指定してください。
改訂バージョン	ソース・ファイルのすべての使用可能な改訂バージョンとバージョン・ラベルのドロップダウン・リスト。
ターゲット・ファイル	ターゲット・ファイルの名前を指定します。PVCSでは、ソース・ファイルとターゲット・ファイルの比較に基づいてレポートを生成します。
改訂バージョン	ターゲット・ファイルの使用可能なすべての改訂バージョンとバージョン・ラベルのドロップダウン・リスト。
出力ファイル	ファイルを他のファイルと比較する際、差分レポートが書き込まれる配布先ディレクトリおよびファイル名を指定します。
レポート実行	指定したオプションに従って、レポートを作成します。DEV2000_SCVIEWER環境変数またはレジストリのパラメータで表示プログラムが指定されている場合、出力を表示するためにこのプログラムがコールされます。


エラー・メッセージ

ソース制御インタフェース・ダイアログの使用中に、次のエラー・メッセージが表示されることがあります。

D2SCP-001:	ファイル・システムにファイルのアクセスを拒否されました。

原因:	アーカイブ・ファイルの読込み、またはワーク・ファイルの書込み、ログ出力またはレポート出力の書込みを行うファイル・システム・アクセス権限がありません。

処置:	これらのファイルに対するファイル・システム・アクセス権限が必要であると思われる場合は、システム管理者に連絡してください。

D2SCP-002:	バージョン・マネージャに対するアクセス権限が不十分です。

原因:	指定したアーカイブにアクセスするPVCS権限がありません。マスター･プロジェクトでアーカイブ・ディレクトリの変更ができないのに、「オプション」ダイアログの「プロジェクト・オプション」タブで変更しようとした場合にも、このエラーが表示されます。

処置:	そのアーカイブに対するアクセス権限が必要であると思われる場合は、PVCS管理者に連絡してください。

D2SCP-003:	すでにアーカイブが存在します。

原因:	これは内部エラーの発生を示し、表示されてはならないメッセージです。

処置:	操作を繰り返し試行した後もエラーが発生する場合は、サポート担当に連絡してください。

D2SCP-004:	指定したアーカイブが見つかりません

原因:	アーカイブ・ファイルが必要なときに、アーカイブではないファイル名を入力または選択しました。このエラーは通常、アーカイブ・ファイルではなくワーク・ファイル（たとえば、MYFORM.FMVではなくMYFORM.FMB）を選択したことが原因です。

処置:	「参照」ボタンを使用してアーカイブ・ファイルを選択します。

D2SCP-005:	無効なファイル名：ドライブまたはパスが存在しないか、ファイル名に無効な文字が使われています。

原因:	入力したファイル名が、オペレーティング・システムの有効なファイル名ではありません。

処置:	ファイル名の構文にエラーがないかチェックしてください。

D2SCP-006:	ファイルは別プロセスで使用中です。

原因:	アクセスしようとしたファイルは、他のPVCSユーザーが使用中です。

処置:	通常、少し時間を置いてから再び操作すれば、アクセスできます。

D2SCP-007:	変換に失敗しました。ワーク・ファイルが読込み専用であるか、サポートされていないタイプである可能性があります。

原因:	このエラーの原因として、次のことが考えられます。

A.	ワーク・ファイルが読込み専用である可能性があります。このエラーは、ファイルをロックせずにチェックアウトし、その後「オプション」ダイアログからロックした場合に起こります。

B.	認識されないタイプのファイルをチェックインまたはチェックアウトしようとしました。

処置:	このエラーの訂正には、次の処置を行ってください。

A.の場合	Windowsのファイル・マネージャまたはエクスプローラを使用して、操作を進める前にファイルを書込み可能にしてください。

B.の場合	スタンドアロンのPVCSインタフェースを使用して、ファイルのチェックインまたはチェックアウトを行ってください。

任意のファイルをチェックアウトできますが、チェックインできるのはForms Developerが認識するファイルのみであることに注意してください。これは、Forms Developerでは、ワーク・ファイルからしかサポートするファイル・タイプかどうかを判別できないためです。チェックインする時点でワーク・ファイルがあります。したがって、Forms Developerはチェックインする前にそのファイルをテストします。チェックアウトするときは、そのファイルはワーク・ファイルを取得するためにチェックアウトされます。そうしなければ、Forms Developerではファイルをテストできません。したがって、チェックアウトしているファイルがForms Developerによって認識されないタイプのファイルであるとわかっていれば、チェックアウトのときにこのエラーを無視してもかまいません。

D2SCP-008:	値が無効であるか、不十分です。

原因:	これは内部エラーの発生を示し、表示されてはならないメッセージです。

処置:	操作を繰り返し試行した後もエラーが発生する場合は、サポート担当に連絡してください。

D2SCP-010:	指定したバージョン・ラベルがすでに存在します。

原因:	「チェックイン」ダイアログで、チェックインするファイルに、すでに存在している改訂バージョン・ラベルを指定しました。PVCSでは、指定する改訂バージョン・ラベルは他と重複しないでください。

処置:	ラベルを変更してください。使用中のラベルを参照するには、「オプション」ダイアログの「ファイル・オプション」タブで「ログ」機能を使用します。

D2SCP-011:	指定された改訂バージョンは存在しません。

原因:	これは内部エラーの発生を示し、表示されてはならないメッセージです。

処置:	操作を繰り返し試行した後もエラーが発生する場合は、カスタマ・サポートに連絡してください。

D2SCP-012:	無効な構成ファイルが指定されました。

原因:	このエラーの原因として、次のことが考えられます。

A.	「オプション」ダイアログの「プロジェクト・オプション」タブで選択したファイルが、有効なPVCS構成ファイルではありません。

B.	「チェックイン」ダイアログまたは「チェックアウト」ダイアログにアクセスしようとして、このエラーが発生した場合、DEV2000_PROJECT環境変数で指定された構成ファイルが無効であることを意味します。

処置:	このエラーの訂正には、次の処置を行ってください。

A.の場合	別の有効なファイルを選択します。

B.の場合	変数を変更するか、「オプション」ダイアログの「プロジェクト・オプション」タブを使用して、有効な構成ファイルを設定してください。

D2SCP-013:	最初に、「ソース制御オプション」からプロジェクトを選択する必要があります。

原因:	「チェックイン」ダイアログまたは「チェックアウト」ダイアログにアクセスしようとしましたが、レジストリでDEV2000_PROJECT変数を使用して、または「オプション」ダイアログの「プロジェクト・オプション」タブ上で、プロジェクトを指定していません。

処置:	操作を続行する前に「プロジェクト・オプション」タブを表示し、プロジェクトを選択する必要があります。

D2SCP-014:	プロジェクト構成ファイルを更新できません。

原因:	プロジェクト構成ファイルからアーカイブ・ディレクトリを追加または削除しようとしましたが、ファイルまたはファイルがあるディレクトリに対する書込み許可がありません。

処置:	このアクセス許可が必要であると思われる場合は、PVCS管理者またはシステム管理者に連絡してください。

D2SCP-015:	改訂バージョンがロックされていません。

原因:	ロックしていない改訂バージョンをチェックインしようとしたか、またはロックしていない改訂バージョンを（「ファイル・オプション」タブから）アンロックしようとしました。

処置:	変更を加えた場合、改訂バージョンをチェックインする前に「ファイル・オプション」タブでロックしてください。

D2SCP-016:	指定した改訂バージョンをロックできません。

原因:	「チェックアウト」ダイアログから改訂バージョンをロックしてチェックアウトしようとしたか、または「ファイル・オプション」タブから改訂バージョンをロックしようとしましたが、PVCSではロックの権限を付与できませんでした。このエラーの原因として、次のことが考えられます。

A.	その改訂バージョンがすでに、自分または他のユーザーによってロックされています。

B.	プロジェクトに複数のロックをかけることができず、その改訂バージョンはすでにロックされています。

C.	プロジェクトにプロモーション・モデルがある場合、指定したプロモーション・グループが、ロックした改訂バージョンにすでに割り当てられている可能性があります。

処置:	このエラーの訂正には、次の処置を行ってください。

A.の場合	「ログ」機能を使用して誰がロックしているかを参照します。 自分で改訂バージョンをロックしている場合、ロックを要求せずにファイルをチェックアウトします。他のユーザーがロックしている場合、そのユーザーがロックを解除するのを待ってから、変更のためにファイルをチェックアウトします。

B.の場合	改訂バージョンかファイルが使用可能になるのを待つか、またはそのプロジェクトで1つのファイルに複数のロックがかけられるようにすることを考えてください。

C.の場合	プロモーション・グループが使用可能（ロックされた改訂バージョンに割り当てられていない状態）になるのを待つか、または別の開発レベルのプロモーション・グループを使用してください。

D2SCP-017:	指定したディレクトリが存在しません。

原因:	存在しないディレクトリを指定しました。このエラーは通常、ファイルをチェックインした場所がワークステーション上に存在しないのに、そこからファイルをチェックアウトしようとしたことが原因です。

処置:	この場合は、「宛先」フィールドを編集して、既存のディレクトリを指定してください。

D2SCP-018:	出力をファイルにリダイレクトできません。

原因:	ログ出力または差分レポート出力に指定したファイル名が無効か、またはファイルを書込みのためにオープンできませんでした。

処置:	有効で書込み可能なファイルを指定します。

D2SCP-100:	PVCSエラー 数値 - キーワード

原因:	「ソース制御インタフェースでは処理できませんでした」というエラーが、PVCSから戻されました。

処置:	PVCSのマニュアルでエラーの数値またはエラーのキーワードを使用してエラーを調べ、適切な処置を行ってください。


PVCS構成マネージャ・インタフェースで、新規ファイルまたは改訂バージョンが表示されないのはなぜですか？

ファイルをチェックインし、改訂バージョン・ラベルを割り当てたのに、PVCS構成マネージャ・インタフェースで、新規ファイルまたは改訂バージョンが表示されません。どうすればよいのでしょうか？

プロジェクト・フォルダを、アーカイブ（新規ファイルおよび改訂バージョン）にある新しい情報で更新する必要があります。更新するには、PVCSの最上位の「Project」メニューから「プロジェクト・フォルダ更新...」を選択します。すると、新規ファイルおよび改訂バージョンが、PVCSの「フォルダ」ウィンドウに表示されます。


ソース制御メニュー・オプションが、1つの製品でしか使用できないのはなぜですか？

複数の製品を同時に実行すると、ソース制御メニュー・オプションがそのうちの1つでしか使用できません。なぜですか？

Windows上のPVCSはリエントラントではありません。つまり、PVCSサービスに一度にアクセスできるのは1つのプログラム（Report BuilderのようなPVCSが使用可能なプログラム、またはPVCSインタフェース自体のいずれか）のみです。使用可能なメニューがあるプログラムと、そこからPVCSサービスにアクセスしたいプログラムを両方とも終了する必要があります。次に、PVCSへのアクセスを必要とするプログラムを再起動します。


「PVCSがアーカイブを検索できません」というエラーが出るのはなぜですか？

レポートをチェックアウトしようとして、.RDV（アーカイブ・ファイル）を選択しましたが、PVCSがアーカイブを検索できないというエラーが出ます。どうなっているのでしょうか？

.RDVファイルを選択したとしても、そのファイルはアーカイブ・ファイルではなかった可能性があります。Report Builderでは、チェックイン前に、中間（ASCII）ファイルを拡張子.RDVのファイルとして作成します。（詳細は、PVCSのインプリメントについてを参照してください。）作業ディレクトリではなく、アーカイブ・ディレクトリから.RDVファイルを選択していることを確認してください。この混乱を避けるには、次の3つの方法が役立ちます。

•	チェックイン後にワーク・ファイルを削除するようにPVCSプロジェクト・オプションを設定します。これによって、Reports中間.RDVファイルがディスク上に残らないようにします。

•	.RDVファイルがチェックインされると、VRDなどの異なる接尾語が付けられるように、接尾語のルールを変えます。これで、チェックアウト時に、.RDVではなくVRDのファイルを探すことができます。

•	アーカイブを検索するときに、ワーク・ファイルのパスを無視するようにプロジェクトを構成します。これで、チェックアウト時に、アーカイブ・ファイルではなくワーク・ファイル（この場合はRDFファイル）を指定できるようになります。

これらの方法は、PVCS構成マネージャのユーザー・インタフェース、「プロジェクト構成...」メニュー項目から実行可能です。


どうすれば、ファイルをロックするとき、必ず正しいユーザー名が使用されるようにすることができますか？

ファイルをロック（またはロックしてチェックアウト）すると、必ずユーザーIDが「UNKNOWN」に設定されてしまいます。このように設定されると、他のユーザーがファイルをチェックインまたはアンロックできるようになります。どうすれば必ず正しいユーザー名が使用されるようにすることができますか？

（PVCS改訂バージョン・マネージャ・インタフェースの）PVCSプロジェクト構成オプションの「ネットワーク」セクションに、「ログイン・ソース」というオプションがあります。 これを使用して、この問題を回避することができます。このオプションによって、PVCSが現在のユーザIDを判別する方法を定義することができます。たとえば、NETWAREネットワークを使用する場合、PVCSに現行のNETWAREログインIDを使用するように指示することができます。Windows NTでは、"HOST"ログイン・ソースを使用して、NTログインIDを使用することができます。詳細は、PVCSのマニュアルを参照してください。


チェックアウトのためにワーク・ファイルを選択できるようにする方法はありますか？

チェックアウトのために、アーカイブ・ファイルではなく、ワーク・ファイルを選択できるようにする方法はありますか？

（PVCS改訂バージョン・マネージャ・インタフェースの）PVCSプロジェクト構成オプションの「アーカイブ検索」セクションにある「ワーク・ファイル・パスを無視」というオプションを使用することができます。このオプションを使用すると、「チェックアウト」ダイアログおよび「ソース制御オプション」ダイアログで、ワーク・ファイルまたはアーカイブ・ファイルのいずれかを選択できるようになります。


「VCSDIRがプロジェクト構成ファイルで実現できません」というエラーが出るのはなぜですか？

マスター・プロジェクトをアーカイブ・ディレクトリの変更ができないように構成しました。PVCS改訂バージョン・マネージャ・インタフェースでは、意図したとおり、サブプロジェクトでアーカイブ・ディレクトリを変更することはできません。しかし、Forms Developerでは変更できました。その後、PVCS改訂バージョン・マネージャ・インタフェースから「VCSDIRがプロジェクト構成ファイルで実現できません」というエラーが戻されました。どうなっているのでしょうか？

PVCS改訂バージョン・マネージャ・インタフェースでは、ルート・ディレクトリでデフォルトの MASTER.CFG を検索します。 アーカイブ・ディレクトリを変更した後に、このファイルを元のディレクトリで検索したために、このエラーが通知されたものと思われます。マスター構成ファイルを認識できるようにするには、 VCONFIG  コマンドを使用してPVCSを構成する必要があります。これにより、PVCSライブラリにあるマスター構成ファイルの名前が暗号化され、誰もアーカイブ・ディレクトリのリストを不用意に変更できないようになります。詳細は、INTERSOLV社PVCS付属の『PVCSコマンド行リファレンス・ガイド』の「Master Configuration Files」および「VCONFIG Command」の項を参照してください。


• 9


データ・ブロック・ウィザードについて;
データ・ブロック・ウィザードについて

  次のステップ      [image]  関連項目

データ・ブロック・ウィザードについて

データ・ブロック・ウィザードを使用すると、アプリケーションで使用するデータ・ブロックを早く簡単に、作成または変更できます。データ・ブロックの作成または変更でウィザードを使用すると、データベース内の整合性制約を施行するコードが自動的に生成されます。 また、さまざまなプロパティと設定の変更を行えるため、ユーザーはアプリケーション開発の他の作業に集中できます。

データ・ブロック・ウィザードを使用して、次の作業を行えます。

•	データベースの表、ビューまたは一連のストアド・プロシージャ（拡張オプション）に基づく、データ・ブロックの作成または変更

•	表、ビューまたはストアド・プロシージャの結果セットからデータ・ブロック内への項目の列のマップ

•	データ・ブロックのデータの問合せ、挿入、更新、削除およびロックを行うプロシージャの引数の指定（データ・ブロックがストアド・プロシージャに基づく場合のみ必須 ）

•	フォーム・モジュールのデータ・ブロック間でのマスター/ディテール・リレーションの設定

リエントラントなデータ・ブロック・ウィザード

データ・ブロック・ウィザードの強力な点は、リエントラントモードで操作できることです。これは、データ・ブロック・ウィザードを使用し、既存データ・ブロックを変更できることを意味します。 つまり、データ・ブロック・ウィザードを使用して、作成されたブロック以外のブロックでも変更できます。

データ・ブロック・ウィザードをリエントラント・モードで起動するには、オブジェクト・ナビゲータで既存データ・ブロックを選択し（あるいは、レイアウト・エディタで既存データ・ブロック上の項目を選択し）、メニューから「ツール」 [image] 「データ・ブロック・ウィザード」を選択します。

データ・ブロック・ウィザードでのナビゲート

データ・ブロック・ウィザードでは、次の6つのボタンを使用して各ページ間のナビゲートができるようになっています。

•	「取消」: 加えた変更があれば、すべての変更を取り消し、ウィザードを終了します。

•	「ヘルプ」: ウィザードの現行のページのオンライン・ヘルプ・テキストを表示します。

•	「戻る」: ウィザード内の前ページにナビゲートします。

•	「次へ」: ウィザード内の次ページにナビゲートします。

•	「適用」: 変更を適用し、ウィザードは終了しません（再入力可能なウィザードのみ）。

•	「完了」: ウィザードで加えた変更があれば保存し、ウィザードを終了します。

注意: ある特定のウィザード・ページで必要な情報をすべて入力し終わらずに「次へ」または「戻る」をクリックすると、次（または前）のページへナビゲートできません。同様に、必要なすべての情報をウィザードに入力し終わらずに「適用」または「完了」をクリックすると、必要なデータを入力する必要のあるページが自動的に表示されます。


データ・ブロック・ウィザード: 「タイプ」ページ

  次のステップ 	  ウィザードについて

データ・ソースのタイプを選択する手順は、次のとおりです。

1	「タイプ」ページで、ラジオ・ボタンをクリックしてタイプを指定します。指定対象は表、ビューまたはストアド・プロシージャのいずれかです。

選択例:

•	「表/ビュー」ボタンを選択した場合は、次にデータベースから表またはビューを選択し、表またはビューの列をデータ・ブロックの項目にマップします。

•	「ストアド・プロシージャ」ボタンを選択した場合は、次にデータ・ブロックに対する問合せ、挿入、更新、削除およびデータのロックを行うためのストアド・プロシージャを選択します。

2	データ・ソースを選択するには、「次へ」ボタンをクリックし、ウィザードの次のページを表示します（選択したデータ・ソースのタイプによって、「表」または「問合せ」が表示されます）。


データ・ブロック・ウィザード: 「表」ページ

  次のステップ 	  ウィザードについて

最初の手順: データ・ソースとして表またはビューを選択します

1	「表」ページの「表/ビュー」フィールドに表またはビューの名前を入力し、「Tab」ボタンをクリックします。

現在使用しているデータベース・スキーマ（または変更可能なすべてのスキーマ）内の変更可能な表およびビューのリストから表またはビューを選択する場合は、「参照」ボタンをクリックします。

データベースに接続されていない場合は、ウィザードに「接続」ダイアログが表示されます。

2	データベースで定義済の整合性制約をウィザードで自動的に施行する場合は、「データの完全性を強制」チェックボックスをチェック済にします。

次の手順: 列を選択します。

表またはビューから1つまたは複数の列を、データ・ブロックのデータベース項目にマップするには、その列を選択して次のように処理します。

•	をクリックし、選択した列を「変更可能な列」リストから「データベース項目」リストへ移動します（変更可能なすべての列を移動するには、 [image] をクリックする）。 または

•	列を「変更可能な列」リストから「データベース項目」リストへドラッグ・アンド・ドロップします。

1つの列を「変更可能な列」リストから「データベース項目」リストへ移動すると、項目は次のようになります。

•	項目がデータ・ブロックに存在しない場合は、ウィザードによって新規項目が作成され、その項目の「データベース項目」プロパティが「はい」に設定されます。

•	項目がすでにデータ・ブロックに存在する場合は、ウィザードによって自動的にその項目の「データベース項目」プロパティが「はい」に設定されます。

ヒント: 必ずすべての主キーとその他の必須列を、表またはビューからデータ・ブロックの項目へマップします。

列を選択解除する手順は、次のとおりです。

データ・ブロックから1つまたは複数の列を移動するには、その列を選択して次のように処理します。

•	または [image] をクリックします。

または

•	その列を「データベース項目」リストへドラッグ・アンド・ドロップします。

1つの列を「データベース項目」リストから「変更可能な列」リストへ移動すると、項目は次のようになります。

•	項目がデータ・ブロックに存在しない場合、データ・ブロックに表示されるその列の項目はなくなります。

•	項目がすでにデータ・ブロックに存在する場合、その項目はデータ・ブロックに残されるが、ウィザードによって自動的にその項目の「データベース項目」プロパティが「いいえ」に設定されます。

オブジェクト表と列オブジェクトの選択について

選択する表がユーザー定義のオブジェクト表または列オブジェクトを含むリレーション表の場合は、オブジェクトが拡張された状態で「変更可能な列」ウィンドウに表示されます。インデント付きのアウトライン形式（オブジェクト・ナビゲータと同様の形式）は、オブジェクトの構成部分を表示するために使用されます。

Forms Developerでは、オブジェクト表内の各コンポーネントを個別の列として扱うため、それぞれの列を選択できます。単一で同種類のオブジェクトとして、表を扱う必要はありません。同様に、リレーション表内の列オブジェクトは、その構成部分に拡張されます。 つまり、それぞれの構成要素が個別の列として扱われ、個別に選択できます。

オブジェクト表の例

次のオブジェクト・タイプと、それに基づく表を定義したと仮定します。

    CREATE TYPE addr_type AS OBJECT

                (street VARCHAR2(90),

                 city VARCHAR2(30),

                 area VARCHAR2(2));

    CREATE TABLE address OF addr_type;

次に、データ・ブロック・ウィザードによって、このオブジェクト表（address）のすべての列（street、cityおよびarea）が「変更可能な列」領域に表示され、一部またはすべてのデータ・ブロック項目として選択できるようになります。

2つ目の例として、別のオブジェクト定義を参照していたオブジェクト定義に基づく表の場合を考えてみます。

     CREATE TYPE addr_type AS OBJECT
                 (street VARCHAR2(90),

                  city VARCHAR2(30),

                  area VARCHAR2(2));

     CREATE TYPE emp_type AS OBJECT

                 (empno NUMBER,

                  ename VARCHAR(80),

                  address addr_type,

salary NUMBER);

     CREATE TABLE emp_table of emp_type;

emp_typeオブジェクト・タイプは、4つの属性で構成されています。 そのうちの1つ（address）は、別の定義（addr_typeオブジェクト・タイプ定義）に基づいています。Addr_type自体は3つの属性を定義します。したがって、emp_typeタイプに基づく表を作成すると、結果的に6つの列（empno、ename、street、city、areaおよびsalary）を持つ表になります。この場合もデータ・ブロック・ウィザードには6つの列が表示され、それらの一部またはすべてを選択可能です。

列オブジェクトの例

前述のオブジェクト・タイプaddr_typeに基づく列オブジェクトを含むリレーション表について考えてみます。

      CREATE TABLE customer (custname CHAR(20), custaddr addr_type);

データ・ブロック・ウィザードによって、顧客表について次の列が「変更可能な列」領域に表示されます。

      custname

      custaddr

         - street

         - city

         - area

ここでも、custname、street、cityおよびareaの各列は、一部またはすべてを選択可能です。custaddrも、street、cityおよびareaを含む列オブジェクトの名前として表示されていることに注意してください。custaddrを選択すると、custaddr自体ではなく、その構成部分のすべてを選択することになります。列オブジェクト名は単なるラベルであり、「データベース項目」領域（データ・ブロック）には移動できません。

選択したオブジェクトの項目名

変更可能な列オブジェクトの一部を選択し、ブロック内のデータ項目にすると、その項目のデフォルト名は、ColumnObjectName_AttributeNameという形式になります。たとえば、前述の顧客表の例では、cityを選択した場合、「データベース項目」領域ではcustaddr_cityという名前で表示されます。アプリケーションのコード作成では、項目についてこの複合名を使用します（項目の列名プロパティの名前は形式が多少異なり、名前を連結するためにアンダースコアではなく、ドットつまりピリオドを使用します）。

REF列の選択について

通常、列オブジェクトにはデータが含まれます。REF列は特殊なタイプのオブジェクト列であり、データ自体を含む代わりに、他のオブジェクト表に常駐しているデータへのポインタを含みます。

「変更可能な列」領域でのREFの表示形式

REFは拡張された状態で表示され、それらが参照するオブジェクト属性をリストします。たとえば、3つの属性（deptnum、deptnameおよびdeptloc）を持つオブジェクト・タイプとしてdept_typeを定義し、次に、ref型（dept_type）のdeptrefという名前のREF列を持つ表を定義するとします。 列deptref内の値は、deptnum、deptnameおよびdeptlocの属性を持つ表の行を参照します。「変更可能な列」領域では、次のように表示されます。

      R deptref

      + deptref

            - deptnum

            - deptname

            - deptloc

ここで、REF列（この場合はdeptref）が2度表示されていることに注意してください。最初のREFはポインタです。2番目のREFは、参照先オブジェクトの構成部分（属性列）のラベルとして表示されます。このように二重に表示されることにより、次に説明するように、種類の異なる選択を行うことができるようになります。基本的に、選択する内容によって、実行時におけるデータの表示場所、つまり参照元ブロックか参照先ブロックかが決まります。

REFの選択方法

通常の列オブジェクトと同様に、REFの属性列は一部またはすべてを選択できます。REF名の2番目のインスタンスを選択すると、そのすべての構成部分が選択されます。

REFの属性列を1つ以上選択すると、実行時には通常のデータ項目としてデータ・ブロック内に表示されます。Forms DeveloperおよびOracle8では、参照される表からデータ値を取得し、このブロックに値を表示します。（この方法は参照手法と呼ばれることもあります。）ユーザーにとっては、REFデータ項目は通常のデータ項目と同じように表示されます。

また、REM自体（「変更可能な列」領域の最初のエントリ）を選択して、アプリケーション内でプログラム可能な項目として利用することもできます。（単にラベルとして機能する通常の列オブジェクトとは異なります。）REF自体を選択することにより、データ・ブロックはREFベースのマスター/ディテール・リレーションにおけるディテール・ブロックとして利用できるようになります。

REF自体を項目として選択すると、デフォルトでNULLキャンバスに配置されます。REF項目はランタイム・ユーザーに対してキャンバスには表示されませんが、コード作成の目的でアプリケーション内で使用できます。


データ・ブロック・ウィザード: REF用の値リストの作成

  次のステップ 	  ウィザードについて

データ・ブロックのエンド・ユーザーがREF参照フィールド内の値を変更する場合、適切な新しい値を選択するための値リスト（list of values） （LOV）が必要になります。

データ・ブロック・ウィザードではこのためのウィンドウが用意されており、簡単に値リストを作成できます。

値リストの作成手順

最初に、希望のREFを選択します。（ブロック内にREFが1つしかない場合は、ウィンドウに1つのみリストされます）。

選択したREFについて、データベース内の関連のあるすべての表がウィザードによってリストされます。（REFは特定の表ではなく、オブジェクト・タイプに対して定義されるため、複数の表を参照する場合があることに注意してください）。

この表リストから、特定の表を選択します。この表の値を元にして、ウィザードによって値リストが作成されます。

同一の値リストは、特定のREFに関連付けられたすべての参照項目に連結されます。

値リストの変更

データ・ブロック・ウィザードでは、初期の値リストのみが作成されます。保守は行れません。

後でREFに変更を加えたり、値リストに影響のある他のデータ構造を変更したりする場合は、値リスト・ウィザードを使用して、値リスト内で必要な、関連のある変更を行います。

値リスト・ウィザードを使用して、初期値リストの形式を調整することもできます。

ウィザードへの再入力

ブロックのデータ・ブロック・ウィザードに後で値を再入力し、「値リストを作成」ボックスをチェックすると、新しい値リストが作成されます。（前の値リストは削除されませんが、参照項目は新しい値リストに連結されます）。


データ・ブロック・ウィザード: ストアド・プロシージャの選択

  次のステップ 	  ウィザードについて

ストアド・プロシージャをデータ・ブロックのデータ・ソースとして選択するには、データ・ブロックのレコードの問合せを行う個々のプロシージャを指定する必要があります。レコードの挿入、更新、削除、ロックを行うプロシージャも指定できます。データ・ブロック・ウィザードには、前述の各ファンクションの指定を行うためのページがあります。

注意:

データ・ブロックのデータ・ソースとしてストアド・プロシージャを選択することは、高度な手法です。このオプションを選択する前に、Oracle PL/SQLプログラミングに精通している必要があります。

リリース6.0のフォームでは、リレーショナルなスカラー値を使用したり返したりするストアド・プロシージャのみがサポートされています。オブジェクト値を使用したり返したりするストアド・プロシージャはサポートされていません。


データ・ブロック・ウィザード:「問合せ」ページ

  次のステップ 	  ウィザードについて

問合せプロシージャを選択する手順は、次のとおりです。

1	「問合せ」ページの「プロシージャ」フィールドにデータ・ブロックの情報を検索するプロシージャの名前を入力します。

2	[Tab]を押します。

データベースに接続されていない場合は、ウィザードに「接続」ダイアログが表示されます。

ストアド・プロシージャから列をデータ・ブロックのデータベース項目にマップする手順は、次のとおりです。

1	列を選択します。

2	列をドラッグアンドドロップするか、または [image] をクリックし、選択した列を「変更可能な列」リストから「データベース項目」リストへ移動します。

3	1つの列を「変更可能な列」リストから「データベース項目」リストへ移動すると、項目は次のようになります。

•	項目がデータ・ブロックに存在しない場合は、ウィザードによって新規項目が作成され、その項目の「データベース項目」プロパティが「はい」に設定されます。

•	項目がすでにデータ・ブロックに存在する場合は、ウィザードによって自動的にその項目の「データベース項目」プロパティが「はい」に設定されます。

4	変更可能なすべての列を移動するには、 [image] をクリックします。

ヒント:必ずすべての主キーとその他の必須列を、ストアド・プロシージャからデータ・ブロックの項目へマップします。

データ・ブロックから列を移動する手順は、次のとおりです。

1	列を選択します。

2	列を「データベース項目」リストへドラッグアンドドロップするか、 [image] または [image] をクリックします。

3	1つの列を「データベース項目」リストから「変更可能な列」リストへ移動すると、項目は次のようになります。

•	項目がデータ・ブロックに存在しない場合、データ・ブロックに表示されるその列の項目はなくなります。

•	項目がすでにデータ・ブロックに存在する場合、その項目はデータ・ブロックに残されるが、ウィザードによって自動的にその項目の「データベース項目」プロパティが「いいえ」に設定さます。

引数の値を指定する手順は、次のとおりです。

•	 値を「値」フィールドに入力します。


データ・ブロック・ウィザード:「挿入」ページ

  次のステップ 	  ウィザードについて

挿入プロシージャを選択する手順は、次のとおりです。

1	「挿入」ページの「プロシージャ」フィールドにデータ・ブロックに情報を挿入するプロシージャの名前を入力し、[Tab]を押します。

2	引数の値を指定するには、その値を「値」フィールドに入力します。


データ・ブロック・ウィザード: 「更新」ページ

  次のステップ 	  ウィザードについて

更新プロシージャを選択する手順は、次のとおりです。

1	「更新」ページの「プロシージャ」フィールドにデータ・ブロックの情報を更新するプロシージャの名前を入力し、[Tab]を押します。

2	引数の値を指定するには、その値を「値」フィールドに入力します。


データ・ブロック・ウィザード: 「削除」ページ

  次のステップ 	  ウィザードについて

削除プロシージャを選択する手順は、次のとおりです。

1	「削除」ページの「プロシージャ」フィールドにデータ・ブロックの情報を削除するプロシージャの名前を入力し、[Tab]を押します。

2	引数の値を指定するには、その値を「値」フィールドに入力します。


データ・ブロック・ウィザード: 「ロック」ページ

  次のステップ 	  ウィザードについて

ロックプロシージャを選択する手順は、次のとおりです。

1	「ロック」ページの「プロシージャ」フィールドにデータ・ブロックのデータをロックするプロシージャの名前を入力し、[Tab]を押します。

2	引数の値を指定するには、その値を「値」フィールドに入力します。


データ・ブロック・ウィザード: 「マスター/ディテール」ページ

  次のステップ 	  ウィザードについて

このページは、完成したデータ・ブロックがフォームにすでに含まれる場合に表示されます。ウィザードでは、現在作業中のブロックと他のブロックとの間にマスター/ディテールのリレーションを確立する機会が与えられます。（現在作業中のブロックはウィザードによってディテール・ブロックとして扱われ、作成済みのブロックがマスター・ブロックになります。）

データ・ブロック間の論理リンクは、結合条件（主キー・リレーション、外部キー・リレーション）またはREFポインタ・リンクになる場合があります。

マスター・ブロックの候補が1つしかなく、考えられる論理リンクも1つしかない場合は、マスター・ディテールは直接作成されます。候補となるブロックまたは論理リンク（あるいはその両方）が複数ある場合は、ウィザードによってリストされ、そこからマスター・ブロックと特定リンクを選択します。

ウィザードでは、リンク条件を自分で作成したり、自動的に作成したりすることも選択できます。

マスター/ディテールのリレーションを作成する手順は、次のとおりです。

最初に、「データ・ブロックの自動結合」チェックボックスの設定を選択します。このボックスをチェックすると、ウィザードによってリンク条件が自動的に作成されます。多くの場合、この方法が最も簡単です。

「データ・ブロックの自動結合」を選択した場合:

1	「マスター/ディテール」ページの「リレーション作成」をクリックします

（データベースに接続されていない場合は、ウィザードに「接続」ダイアログが表示されます。希望のデータベースに接続します）。

「リレーション作成」をクリックすると、ウィザードによってデータベースへの問合せが行われ、マスター・ブロックになる可能性のあるフォーム内のすべてのデータ・ブロックが（「データ・ブロック」ダイアログ・ウィンドウに）表示されます。マスター・ブロックの各候補について、関係のある外部キー制約名またはそれを参照するREF（あるいはその両方）も表示されます。

マスター・ブロックとして定義可能なブロックがない場合は、ウィザードに次のエラー・メッセージが表示されます。
      FRM-10757:マスター・データ・ブロックが使用不可です

2	「データ・ブロック」ダイアログ・ウィンドウでマスター・データ・ブロックと希望のリンクを選択し、「OK」をクリックします。

3	ウィザードによってデータ・ブロックの表間の外部キーのリレーションまたはREFリンクが自動的に解釈されて「結合条件」フィールドに表示され、マスター・データ・ブロックの名前が「マスター・データ・ブロック」フィールドに表示されます（「ディテール項目」ポップリストと「マスター項目」ポップリストを使用して、自動作成した結合条件を変更することもできますが、通常は必要ありません）。

「データ・ブロックの自動結合」を選択しない場合:

1	「マスター/ディテール」ページの「リレーション作成」をクリックします

（データベースに接続されていない場合は、ウィザードに「接続」ダイアログが表示されます。希望のデータベースに接続します）。

「リレーション作成」をクリックすると、ウィザードによってデータベースへの問合せが行われ、マスター・ブロックになる可能性のあるフォーム内のすべてのデータ・ブロックが（「データ・ブロック」ダイアログ・ウィンドウに）表示されます。外部キーまたはREFポインタの情報は表示されません。

2	「データ・ブロック」ダイアログ・ウィンドウでマスター・データ・ブロックを選択し、「OK」をクリックします。マスター・ブロックの名前が「マスター・データ・ブロック」フィールドに表示されます。

3	「ディテール項目」ポップリストと「マスター項目」ポップリストを使用して、結合条件を手動で作成します。

結果

マスター・データ・ブロックおよび結合条件やREFを作成すると、ウィザードで次のような処理が行われます。

•	オブジェクト・ナビゲータのマスター・データ・ブロックのノードの下に新規リレーション・オブジェクトが表示されます。

•	新しいリレーション・オブジェクトのプロパティがデフォルト値に設定されます。

•	リレーションがREFポインタに基づいている場合、「REF項目にインクルード」プロパティが「はい」に設定され、このREF項目にアクセスするためにディテール・ブロック内の「Copy_Value_From_Item」プロパティが設定されます。

•	リレーションに次のようなフォーム上のデフォルト名が与えられます。

      MasterDataBlock_DetailDataBlock

マスター/ディテールのリレーションを削除する手順は、次のとおりです。

「マスター/ディテール」ページで、リストからマスター・ブロックを選択し、「リレーション削除」をクリックします。リレーションとそのリレーションに対応するすべてのトリガーが、ウィザードにより削除されます。


データ・ブロック・ウィザード: 「終了」ページ

  ウィザードについて 	  関連項目

次の操作

データ・ブロックの作成が完了したら、2つある選択肢のいずれかを選びます。

•	データ・ブロック・ウィザードを終了し、すぐにレイアウト・ウィザードを起動します（このレイアウト・ウィザードにより、キャンバス上のフレーム内でデータ・ブロック項目のレイアウトが可能）。

•	データ・ブロック・ウィザードを終了します。

レイアウト・ウィザードの起動を選択すると、ウィザードにより、データ・ブロック項目を表示するためのキャンバスの選択、レイアウトに表示する項目の指定、項目のプロンプトと高さ/幅の指定、項目を表示するための枠（スタイルとタイトルを含む）の作成、枠に表示するレコード数とこれらのレコード間の距離の指定を行うためのページが順を追って表示されます。レイアウト・ウィザードでは、基本レイアウトの作成に必須の全作業が自動化されているため、データ・ブロック項目のレイアウトには、レイアウト・ウィザードの使用を強くお薦めします。

レイアウト・ウィザードを起動しないでデータ・ブロック・ウィザードの終了を選択した場合は、2つある選択肢のいずれかを選びます。

•	データ・ブロック項目を手動でレイアウトします。

•	後でレイアウト・ウィザードを起動します。

データ・ブロック項目を手動でレイアウトするには、作成したキャンバス（オプション）に枠を作り、その枠内またはキャンバス上にすべての項目を配置する必要があります。

後でレイアウト・ウィザードを起動するには、単に（「キャンバス」ノードの下の）オブジェクト・ナビゲータまたはレイアウト・エディタでブロックの枠を選択し、メニューから「ツール」 [image] 「レイアウト・ウィザード」を選択します。


DDE（ダイナミック・データ・エクスチェンジ）

この章では、Form Builderのダイナミック・データ・エクスチェンジについて説明します。次のトピックについて説明します。

•	DDEについて  14 - 584

•	制限  14 - 584

•	ファンクションの概要   14 - 585

•	ファンクションの説明   14 - 586

•	Microsoft Windowsの事前定義済みデータ・フォーマット  14 - 597

•	例外   14 - 598


DDEについて

Microsoft Windows対応のForm Builderでは、ダイナミック・データ・エクスチェンジ（DDE）がサポートされます。 DDEは、アプリケーションによるデータの伝達と交換を可能にする技術です。DDEクライアント・サポートにより、Microsoft Windows対応のForm Builderのプロシージャは拡張します。DDEをサポートするPL/SQLパッケージにより、アプリケーションの開発担当者は、PL/SQLプロシージャおよびトリガー内からDDEのファンクションにアクセスする、アプリケーション・プログラミング・インタフェース（API）を使用できます。

DDEファンクションにより、Form Builder（DDEクライアント・アプリケーション）では、DDEサーバー・アプリケーションと次の方法による通信が可能です。

•	データのインポート

•	データのエクスポート

•	DDEサーバーに対するコマンドの実行


Form Builder DDEの制限

Form Builderには次のものは含まれません。

•	データ・リンク（アドバイス・トランザクション）

Form Builderでは、データ項目変更時の更新通知を自動受信できません。

•	サーバーのサポート

フォーム・ビルダーでは、DDEクライアントからのデータに対して、コマンドまたは要求の応答はできません。 DDE通信を行う場合、Form Builderでは、必ずDDE.APP_BEGINを使用してDDEサーバー・アプリケーションとのDDE通信を開始してください（ただし、どちらの方向にもデータの転送は可能です）。


ファンクションの概要

DDEパッケージの一部として、PL/SQLプロシージャおよびトリガー内から変更可能なDDEファンクションは、次の項目にグループ化できます。

•	サポート・ファンクション

•	接続/切断ファンクション

•	トランザクション・ファンクション

•	データ型変換ファンクション

サポート機能

このファンクションは、他のDDEサーバー・アプリケーションの開始および停止を行います。

DDE.APP_BEGIN	DDEサーバー・アプリケーションを開始します。
DDE.APP_END	DDEサーバー・アプリケーションを終了します。
DDE.APP_FOCUS	DDEサーバー・アプリケーションをアクティブにします。
接続/切断機能

DDEサーバー・アプリケーションへの接続および切断に使用します。

DDE.INITIATE	DDEサーバー・アプリケーションとのDDE通信を開始します。
DDE.TERMINATE	DDEサーバー・アプリケーションとのDDE通信を終了します。
トランザクション機能

DDEサーバー・アプリケーションとのデータ交換に使用します。

DDE.EXECUTE	DDEサーバー・アプリケーションで認識されたコマンドを実行します。
DDE.POKE	DDEサーバー・アプリケーションへ情報を供給します。
DDE.REQUEST	DDEサーバー・アプリケーションに情報を要求します。
データ型変換ファンクション

このファンクションは、DDEデータ型定数の文字列への変換とその逆の変換を行います。 さらに、DDE.GETFORMATNUMにより、ユーザーは、Microsoft Windowsで事前定義されていない新規データ・フォーマットを登録できます。このファンクションで変換されるのは、データ自体ではなく（DDEデータはすべてPL/SQLのCHARデータ型で表示）、データ型定数であることに注意してください。

DDE.GETFORMATNUM	文字列データ・フォーマットを数値に変換/登録します。
DDE.GETFORMATSTR	数値データ・フォーマットを文字列に変換します。


DDE.APP_BEGIN

 例

説明

DDEサーバー・アプリケーションと通信を開始します。

構文:

DDE.APP_BEGIN (Command,Mode)

パラメータ

パラメータ	タイプ	説明
Command	VARCHAR2	プログラムを実行するコマンド・ライン
モード	PLS_INTEGER	アプリケーション・ウインドウ開始モード
戻り値の型  PLS_INTEGER

注意

Commandパラメータでは、DDEサーバー・アプリケーション・プログラム名とともにパスを指定できます。DDEサーバー・アプリケーション・プログラム名のみが指定された場合は、次のディレクトリを検索します。

•	現行ディレクトリ

•	Windowsディレクトリ

•	Windowsシステム・ディレクトリ

•	現行作業の実行可能ファイルを含むディレクトリ

•	PATH環境変数にリストされたディレクトリ

•	ネットワークでマップされたディレクトリ

DDEサーバー・アプリケーション・プログラム名に引数を付けてもかまいません。 引数とアプリケーション・プログラム名の間にはスペースを入れてください。

Modeパラメータを指定すると、DDEサーバー・アプリケーションを標準、最小または最大のいずれかのウィンドウ・サイズで起動できます。DDE.APP_BEGINのアプリケーション・モード定数には次のものがあります。

モード	説明
DDE.APP_MODE_NORMAL	アプリケーション・ウインドウを標準サイズで開始します。
DDE.APP_MODE_MINIMIZED	アプリケーション・ウインドウを最小サイズで開始します。
DDE.APP_MODE_MAXIMIZED	アプリケーション・ウインドウを最大サイズで開始します。
このファンクションでは、PLS_INTEGER型のアプリケーション識別子が返されます。アプリケーション識別子は、そのアプリケーション・ウインドウに対するDDE.APP_ENDおよびDDE.APP_FOCUSの後続のすべてのコールで使用されます。


DDE.APP_BEGINの例

DECLARE
AppID   PLS_INTEGER;
BEGIN
/* Start Microsoft Excel with spreadsheet emp.xls loaded. */
AppID := DDE.App_Begin('C:\excel\excel.exe C:\emp.xls',
 DDE.APP_MODE_MINIMIZED);
END;


DDE.APP_END

 例	   制限

説明

DDE_APP_BEGINで開始したDDEサーバー・アプリケーションとの通信を終了します。

構文:

DDE.APP_END (AppID)

パラメータ

パラメータ	タイプ	説明
AppID	PLS_INTEGER	DDE.APP_BEGINから戻されるアプリケーション識別子
注意

DDEサーバー・アプリケーションは、標準のMicrosoft Windows方式（たとえば「コントロール」メニューをダブルクリック）でも終了できます。


DDE.APP_ENDの制限

DDEサーバー・アプリケーションを終了するには、事前にDDE.APP_BEGINをコールして、DDEサーバー・アプリケーションを開始させておく必要があります。


DDE.APP_ENDの例

DECLARE
AppID  PLS_INTEGER:
BEGIN
/* Start Microsoft Excel with spreadsheet emp.xls loaded. */
AppID := DDE.App_Begin('C:\excel\excel.exe C:\emp.xls'
DDE.APP_MODE_NORMAL);
...
/* End Microsoft Excel program. */
DDE.App_End(AppID);
END;


DDE.APP_FOCUS

 例	   制限

説明

DDE.APP_BEGINで開始したDDEサーバー・アプリケーション・プログラムを起動します。

構文:

DDE.APP_FOCUS (AppID)

パラメータ

パラメータ	タイプ	説明
AppID	PLS_INTEGER	DDE.APP_BEGINから戻されるアプリケーション識別子
注意

このアプリケーションは、標準のMicrosoft Windows方式（たとえばアプリケーション・ウィンドウ内をクリック）でも起動できます。


DDE.APP_FOCUSの制限

DDEサーバー・アプリケーションを起動するには、事前にDDE.APP_BEGINをコールして、DDEサーバー・アプリケーションを開始させておく必要があります。


DDE.APP_FOCUSの例

DECLARE
AppID   PLS_INTEGER;
BEGIN
/* Start Microsoft Excel application in fullscreen mode. */
AppID := DDE.App_Begin('C:\excel\excel.exe,
DDE.APP_MODE_MAXIMIZED);
/* Activate the application window. */
DDE.App_Focus(AppID);
END;


DDE.EXECUTE

 例

説明

DDEサーバー・アプリケーションが受信可能なコマンドを実行します。

構文:

DDE.EXECUTE (ConvID,Command,Timeout)

パラメータ

パラメータ	タイプ	説明
ConvID	PLS_INTEGER	DDE通信ID
Command	VARCHAR2	サーバー実行用コマンド文字列
Timeout	PLS_INTEGER	ミリ秒でのタイムアウト時間
注意

Commandに指定する文字列は、サーバー・アプリケーションがサポートするコマンドによって異なります。

Timeoutでは、DDEサーバー・アプリケーションからの応答をどれだけの時間待つかをミリ秒単位で指定します。無効な数値（負数など）を指定した場合には、デフォルト値の1000が使用されます。タイムアウトの時間は、マシン構成とDDEサーバー・アプリケーションによって異なります。


DDE.EXECUTEの例

DECLARE
ConvID   PLS_INTEGER;
BEGIN
/* Open a DDE conversation with Microsoft Excel for Windows */
ConvID := DDE.Initiate('EXCEL', 'C:\abc.xls');
/* Recalculate the Excel spreadsheet.*/
DDE.Execute(ConvID, '[calculate.now()]', 1000);
END;


DDE.GETFORMATNUM

 例

説明

指定したデータ・フォーマット名を変換または登録し、フォーマット数値を戻します。

構文:

DDE.GETFORMATNUM (FormatStr)

パラメータ

パラメータ	タイプ	説明
FormatStr	VARCHAR2	データ・フォーマット名文字列
戻り値の型  PLS_INTEGER

注意

このファンクションは、データ・フォーマットを文字列から数値に変換します。PokeトランザクションおよびRequestトランザクションにおいて、データ・フォーマット・パラメータで再表示するためにこの数値を使用できます。

指定した名前が登録されていない場合は、このファンクションによって登録され、一意のフォーマット数値が戻されます。これは、PokeまたはRequestトランザクションにおいて、事前に定義されていないフォーマットを使用する唯一の方法です。

このファンクションは、PLS_INTEGERの文字列データ・フォーマットの数値表示を戻します。

事前定義済みデータ・フォーマット定数については、Microsoft Windowsの事前定義済みデータ・フォーマットを参照してください。


DDE.GETFORMATNUMの例

DECLARE
FormatNum   PLS_INTEGER;
MyFormatNum PLS_INTEGER;
BEGIN
/* Get predefined format number for "CF_TEXT"
(should return CF_TEXT=1). */
FormatNum := DDE.GetFormatNum('CF_TEXT');
/* Register a user-defined data format called "MY_FORMAT". */
MyFormatNum := DDE.GetFormatNum('MY_FORMAT');
END;


DDE.GETFORMATSTR

 例

説明

データ・フォーマット数値をフォーマット名文字列に変換します。

構文:

DDE.GETFORMATSTR (FormatNum)

パラメータ

パラメータ	タイプ	説明
FormatNum	PLS_INTEGER	データ・フォーマット数値

戻り値の型  CHAR

注意

このファンクションは、データ・フォーマット数値の文字列表現をCHAR型で戻します。

データ・フォーマット数値が有効な場合は、このファンクションによりデータ・フォーマット名が戻されます。有効なフォーマット数値には、Microsoft Windowsの事前定義済みデータ・フォーマットおよびDDE.GETFORMATNUMを使用して登録されたユーザー定義フォーマットが含まれます。


DDE.GETFORMATSTRの例

DECLARE
FormatStr   CHAR(20);
BEGIN
/* Get a data format name
(should return the string 'CF_TEXT') */
FormatStr := DDE.GetFormatStr(CF_TEXT);
END;


DDE.INITIATE

 例

説明

DDE通信をDDEサーバー・アプリケーションでオープンします。

構文:

DDE.INITIATE (Service,Topic)

パラメータ

パラメータ	タイプ	説明
Service	VARCHAR2	DDEサーバー・アプリケーションのDDEサービス名
Topic	VARCHAR2	通信のトピック名
ServiceおよびTopicの値は、特定のDDEサーバー・アプリケーションがサポートする値によって異なります。Serviceは、通常、DDEサーバー・アプリケーション・プログラムの名前です。ファイル・ベースの文書を操作するアプリケーションの場合、Topicは通常は文書のファイル名です。 システム・トピックは通常は各サービスによってサポートされます。

戻り値の型  PLS_INTEGER

注意

通信識別子が交換されていない場合は、複数のサービスと複数のトピックにより、アプリケーションは複数の通信を同時に開始できます。

このファンクションは、PLS_INTEGERのDDE通信識別子を戻します。DDE通信の具体的な処理を記述するためのExecute、Poke、RequesおよびTerminateコールすべてにおいてこのファンクションから戻される通信識別子を使用する必要があります。

通信を終了するには、DDE.TERMINATEをコールします。


DDE.INITIATEの例

DECLARE
ConvID   PLS_INTEGER;
BEGIN
/* Open a DDE conversation with Microsoft Excel for Windows
 on topic abc.xls. */
ConvID := DDE.Initiate('EXCEL', 'c:\abc.xls');
END;


DDE.POKE

 例

説明

データをDDEサーバー・アプリケーションに送ります。

構文:

DDE.POKE (ConvID,Item,Data,DataFormat,Timeout)

パラメータ

パラメータ	タイプ	説明
ConvID	PLS_INTEGER	DDE.INITIATEが戻すDDE通信識別子
Item	VARCHAR2	データ送信先のデータ項目名
Data	VARCHAR2	送信するデータ・バッファ
DataFormat	PLS_INTEGER	出力データ・フォーマット
Timeout	PLS_INTEGER	ミリ秒でのタイムアウト時間
Item項目の値は、現行の通信トピックでDDEサーバー・アプリケーションがサポートする値によって異なります。

Microsoft Windowsの事前定義済みデータ・フォーマットをデータフォーマットとして使用できます。DDEサーバー・アプリケーションがユーザー定義フォーマットを認識する場合は、DDE.GETFORMATNUMを使用して登録したユーザー定義フォーマットも使用できます。指定したデータ・フォーマットをDDEサーバー・アプリケーションが処理するかどうかの確認は、ユーザーが行います。

Timeoutでは、DDEサーバー・アプリケーションからの応答をどれだけの時間待つかをミリ秒単位で指定します。ユーザーが無効な数値を指定すると（たとえば負数）、1000ミリ秒のデフォルト値が使用されます。タイムアウトの時間は、マシン構成とDDEサーバー・アプリケーションによって異なります。


DDE.POKEの例

DECLARE
ConvID   PLS_INTEGER;
BEGIN
/* Open a DDE conversation with Microsoft Excel for Windows on
topic abc.xls. */
ConvID = DDE.Initiate('EXCEL', 'C:\abc.xls');
/* Send data "foo" to cell at row 2, column 2. */
DDE.Poke(ConvID, 'R2C2', 'foo', DDE.CF_TEXT, 1000);
END;


DDE.REQUEST

 例

説明

DDEサーバー・アプリケーションのデータを要求します。

構文:

DDE.REQUEST (ConvID,Item,Buffer,DataFormat,Timeout)

パラメータ

パラメータ	タイプ	説明
ConvID	PLS_INTEGER	DDE.INITIATEが戻すDDE会話識別子
Item	VARCHAR2	要求データ項目名
Buffer	VARCHAR2	復帰データ・バッファ
DataFormat	PLS_INTEGER	要求データ・フォーマット
Timeout	PLS_INTEGER	ミリ秒でのタイムアウト時間
Item項目の値は、現行の通信トピックでDDEサーバー・アプリケーションがサポートする値によって異なります。

Bufferパラメータによって復帰文字列の長さが決まることに注意してください。復帰データ・バッファが要求データに対して十分に大きいかどうかの確認は、ユーザーが行います。バッファ・サイズが要求データより小さい場合は、そのデータは切り捨てられ、エラーが発生することがあります。

Microsoft Windowsの事前定義済みデータ・フォーマットをデータフォーマットとして使用できます。DDEサーバー・アプリケーションがユーザー定義フォーマットを認識する場合は、DDE.GETFORMATNUMで登録するユーザー定義フォーマットも使用できます。指定したデータ・フォーマットをDDEサーバー・アプリケーションが処理するかどうかの確認は、ユーザーが行います。

Timeoutでは、DDEサーバー・アプリケーションからの応答をどれだけの時間待つかをミリ秒単位で指定します。ユーザーが無効な数値を指定すると（たとえば負数）、1000ミリ秒のデフォルト値が使用されます。タイムアウトの時間は、マシン構成とDDEサーバー・アプリケーションによって異なります。


DDE.REQUESTの例

DECLARE
ConvID   PLS_INTEGER;
Buffer   CHAR(100);
BEGIN
/* Open a DDE conversation with Microsoft Excel for Windows on
topic abc.xls. */
ConvID := DDE.Initiate('EXCEL', 'C:\abc.xls');
/* Request data from 6 cells between row 2, column 2
and row 3, column 4. */
DDE.Request(ConvID, 'R2C2:R3C4', Buffer, DDE.CF_TEXT,1000);
END;


DDE.TERMINATE

 例	   制限

説明

指定したDDEサーバー・アプリケーションとの通信を終了します。

構文:

DDE.TERMINATE (ConvID)

パラメータ

パラメータ	タイプ	説明
ConvID	PLS_INTEGER	DDE.INITIATEが戻すDDE会話識別子
注意

DDE.TERMINATEコールの後では、終了した通信識別子を使用したExecute、Poke、RequestおよびTerminate要求はすべてエラーとなります。


DDE.TERMINATEの制限

DDE.INITIATEを使用する前に、DDE.INITIATEを使用して、サーバー・アプリケーションとのDDE通信を開始する必要があります。


DDE.TERMINATEの例

DECLARE
ConvID   PLS_INTEGER;
BEGIN
/* Open a DDE conversation with Microsoft Excel for Windows
on topic abc.xls. */
ConvID := DDE.Initiate('EXCEL', 'C:\abc.xls');
...
/* Terminate the Microsoft Excel for Windows conversation */
DDE.Terminate(ConvID);
END;


Microsoft Windowsの事前定義済みデータ・フォーマット

フォーマット	説明
DDE.CF_BITMAP	ビットマップ形式のデータです。
DDE.CF_DIB	ビットマップ・データの先頭にBITMAPINFO構造体が含まれているメモリー・オブジェクトです。
DDE.CF_DIF	データ交換形式（DIF）のデータです。
DDE.CF_DSPBITMAP	プライベート形式をビットマップで表現したデータです。このデータは、プライベート・フォーマット・データではなくビットマップ・フォーマットで表示されます。
DDE.CF_DSPMETAFILEPICT	プライベート・データ形式をメタファイルで表現したデータです。このデータは、プライベート・フォーマット・データではなくメタファイル・ピクチャ・フォーマットで表示されます。
DDE.CF_DSPTEXT	データはプライベート・データ・フォーマットのテキスト表示です。このデータは、プライベート・フォーマット・データではなくテキスト・フォーマットで表示されます。
DDE.CF_METAFILEPICT	メタファイル形式のデータです。
DDE.CF_OEMTEXT	データは、OEMキャラクタ・セットのテキスト文字の配列です。各行末に、キャリッジ・リターンと改行（CR-LF）の組合せが付きます。データの終わりには、NULL文字が付きます。
DDE.CF_OWNERDISPLAY	クリップボード所有者が表示する必要があるプライベート形式のデータです。
DDE.CF_PALETTE	カラー・パレットのデータです。
DDE.CF_PENDATA	Microsoft Windowsオペレーティング・システムへのペン拡張についてのデータです。
DDE.CF RIFF	リソース交換ファイル形式（RIFF）のデータ です。
DDE.CF_SYLK	Microsoftシンボリック・リンク（SYLK）形式のデータです。
DDE.CF_TEXT	データはテキスト文字の配列です。各行末に、キャリッジ・リターンと改行（CR-LF）の組合せが付きます。データの終わりには、NULL文字が付きます。
DDE.CF_TIFF	データはTIFFフォーマットです。
DDE.CF_WAVE	サウンド・ウェーブを記述するデータです。このデータ形式はCF_RIFFデータ形式のサブセットであり、RIFF WAVEファイルでしか使用できません。


例外

例外	説明
DDE.DDE_APP_FAILURE	DDE.APP_BEGINコールで指定したアプリケーション・プログラムは開始できませんでした。
DDE.DDE_APP_NOT_FOUND	DDE.APP_ENDまたはDDE.APP_FOCUSコールで指定したアプリケーションIDが、現在実行中のアプリケーションと一致しません。
DDE.DDE_FMT_NOT_FOUND	DDE.GETFORMATSTRコールで指定したフォーマット数値が認識されません。
DDE.DDE_FMT_NOT_REG	DDE.GETFORMATNUMコールで指定したフォーマット文字列が、事前定義済みのフォーマットと一致しないため、ユーザー定義フォーマットとして登録できませんでした。
DDE.DDE_INIT_FAILED	DDEレイヤーのコールに失敗したため、アプリケーションはDDE通信を初期化できませんでした。
DDE.DDE_PARAM_ERR	無効なパラメータ（たとえばNULL値）がDDEパッケージ・ルーチンに渡されました。
DDE.DMLERR_BUSY	サーバー・アプリケーションがビジーなため、トランザクションを行えませんでした。
DDE.DMLERR_DATAACKTIMEOUT	同期データ・トランザクションの要求は、タイムアウトになりました。
DDE.DMLERR_EXECACKTIMEOUT	同期実行トランザクションの要求は、タイムアウトになりました。
DDE.DMLERR_INVALIDPARAMETER	パラメータの検証に失敗しました。次のような原因が考えられます。アプリケーションで使用されたデータ・ハンドルが、トランザクションで要求されている項目名ハンドルまたはクリップボード・データ形式で初期化されていません。アプリケーションで使用された通信識別子が無効でした。同じオブジェクトが複数のアプリケーション・インスタンスで使用されました。
DDE.DMLERR_MEMORY_ERROR	メモリー割当てに失敗しました。
DDE.DMLERR_NO_CONV_ESTABLISHED	クライアントの通信の確立に失敗しました。DDE.INITIATEコールのサービス名またはトピック名が間違っている可能性があります。
DDE.DMLERR_NOTPROCESSED	トランザクションは失敗しました。PokeまたはRequestトランザクションの項目名が間違っている可能性があります。
DDE.DMLERR_POKEACKTIMEOUT	同期ポーク・トランザクションの要求はタイムアウトになりました。
DDE.DMLERR_POSTMSG_FAILED	PostMessageファンクションの内部コールに失敗しました。
DDE.DMLERR_SERVER_DIED	トランザクションを完了する前にサーバーが終了しました。
DDE.DMLERR_SYS_ERROR	DDEレイヤーで内部エラーが発生しました。


デバッグ・プロセスについて

  関連項目

アプリケーションのデバッグは、アプリケーションのエラーを特定して修正する反復的なプロセスです。アプリケーションを正常にデバッグするために、欠陥コードをすばやく特定し、検出することは非常に重要です。

エラーのあるコードを検出できない場合は、デバッグ・メッセージを使用してアプリケーションを実行します。デバッグ・メッセージを使用してアプリケーションを実行すると、トリガーを実行するイベントが発生するたびに、警告が表示されます。

エラー箇所を特定したら、デバッガを使用してデバッグ・アクション（ブレークポイントとデバッグ・トリガー）を作成し、特定領域の欠陥コードまたは文の数を特定します。

欠陥コードを特定領域に限定したら、デバッガを使用して修正し、コード修正をテストします。


フォームのデバッグ

フォームをデバッグするには、次のステップを実行します。

1	デバッグ・モードでフォームを実行します。Form Builderによってデバッガが表示されます。

注意: 最初にデバッガをクローズし、アプリケーションの動作を監視します。問題の領域を特定したら、デバッガを起動します。

2	デバッガ内で、希望のデバッガ・アクションを作成します。

3	デバッガをクローズします。Form Builderによってフォームが実行されます。

4	作成したデバッグ・アクションを参照し、アプリケーション情報を確認します。

5	デバッガ内でランタイム・コード修正を変更し、テストします。

6	Form Builderを使用してコード修正をインプリメントします。


デバッグ・モードでのフォームの実行について

  関連項目

フォ－ムをデバッグ・モードで実行すると、デバッガが最初に表示され、ブレークポイントおよびデバッグ・トリガーなどのデバッグ・アクションを実行できます。

デバッグ・アクションを作成したら、ツールバーの「クローズ」を選択してデバッガを終了し、フォームを実行します。「クローズ」コマンドはデバッグの開始時のみ必要です。

デバッガを終了すると、プログラム実行が割り込まれたり（ブレークポイントへの到達時）、メニューから「ヘルプ」 [image] 「デバッグ」を選択したりするたびに再度表示されます。

アプリケーションをデバッグ・モードで実行するには、まず「デバッグ・モード」オプションを変更可能にしてから、フォームを実行します。

注意: デフォルトでは、「プログラム」 [image] 「フォーム実行」 [image] 「デバッグ」を選択すると（または[Shift]+[Control]+[R]を押すと）、Form Builderによってまずフォームがコンパイルされてから、実行されます。Form Builderでは、「デバッグ・モード」オプションが有効のままフォームがコンパイルされ、実行時に表示または編集できるソース・コード・シンボルを含む、.FMXまたは.MMXが作成されます。フォームをデバッグするために、ソース・コードにアクセスできることは非常に重要です。

「デバッグ・モード」オプションを有効にしてコンパイルしないと、実行時にソース・コードを表示または編集できなくなります。「デバッグ・モード」オプションは設計時およびコンパイル時のオプションであることに注意してください。


デバッグ・メッセージについて

  関連項目

デバッグ・メッセージを有効にして、デバッグ・モードでアプリケーションを実行すると、トリガーを実行するイベントが発生するたびに、Form Builderによってメッセージ・ボックスが表示されます。

デバッグ・メッセージはメッセージ行に表示されます。各メッセージによって実行中のトリガーの名前と、連結先のオブジェクト（フォーム、ブロックまたは項目）の名前が示されます。


デバッグ・メッセージの表示

実行時におけるデバッグ・メッセージの表示方法:

アプリケーションを実行するには、デバッグ・キーワード（DEBUG_MESSAGES=YES）をコマンドにインクルードすることにより、デバッグ・メッセージの基本設定をオンに設定します。たとえば、MS Windows上では次のように設定します。

IFRUN60 formname username/password debug_messages=YES


デバッガについて

  関連項目

フォームをデバッグ・モードで実行すると、デバッガが表示され、ブレークポイントやデバッグ・トリガーなどのデバッグ・アクションを作成できます。デバッガは、クローズした後、プログラム実行が割り込まれた（ブレークポイントに達した）とき、またはメニューから「ヘルプ」 [image] 「デバッグ」を選択したとき、常にアクティブ化します。

通常、デバッグ作業はオブジェクト・ナビゲータを中心に行われます。オブジェクト・ナビゲータを使用すると、プログラム単位およびグローバル変数、フォーム項目値などを検査したり変更できます。


デバッガ機能について

  関連項目

デバッグ機能には次のものが含まれます。

•	直接操作デバッグ: 表示されるソース・テキストを直接操作することにより、デバッグ・アクションを挿入したり、プログラム・データを検査できます。

•	動的実行フィードバック: プログラム実行にデバッグ・アクションが割り込んだり、プログラムのステップ実行中に一定間隔のステップごとに、自動的に現行のPL/SQLソース位置が表示および追跡されます。

•	中断されたプログラム状態の参照: 実行が中断された後は、現行スタックの参照、変数状態のブラウズおよび変更、任意のPL/SQL文の実行などができます。すべての情報は記号でアクセスされます（つまり、アドレスまたは番号ではなく、名前でアクセスできます）。


「デバッガ」ウィンドウについて

  関連項目

デバッガにはおもに5つの要素があります。「デバッガ」メニュー、ツールバー、ソース・ペイン、オブジェクト・ナビゲータ・ペインおよびインタプリタ・ペインです。


「デバッガ」メニューについて

  関連項目

「デバッガ」メニューには3つのメニューがあります。「表示」、「デバッグ」および「ナビゲータ」です。

「表示」メニュー  「表示」メニューには、次のメニュー項目があります。

ソース・ペイン	「ソース」ペインを表示する。
オブジェクト・ナビゲータ・ペイン	「オブジェクト・ナビゲータ」ペインを表示する。
インタプリタ・ペイン	「インタプリタ」ペインを表示する。
インタプリタ・ログ	LOGコマンドは指定ログ・ファイルへの、デバッガ入出力コピーを保存する。
「デバッグ」メニュー  「デバッグ」メニューには、次のメニュー項目があります。

ブレーク...	「ブレークポイント」ダイアログを表示し、ユーザーはプログラム単位内にブレークポイントを作成できる。
トリガー...	「トリガー」ダイアログを表示し、ユーザーはプログラム単位内にデバッグ・トリガーを作成できる。
編集	プログラム単位エディタを起動し、オブジェクト・ナビゲータ内で選択されたプログラム単位のソースを表示する。
ステップ	「インタプリタ」ペイン内でSTEPコマンドを実行する。このSTEPコマンドは割込みプログラム単位の実行を進め、指定された文の集合が実行された後に、制御権を現行のデバッグ・レベルに戻します。
実行	「インタプリタ」ペイン内でGOコマンドを実行する。このGOコマンドは、現在実行中の実行スレッドが終了するか、デバッグ・アクションで中断されるまでプログラム実行を継続します。
リセット	RESETコマンドを実行し、現行のデバッグ・レベル内で実行を継続せずに、外部デバッグ・レベルに制御権を戻す。

「ナビゲータ」メニュー  標準の設計時「ナビゲータ」メニュー項目（「作成」、「削除」など）の他にも、デバッグ・モードのナビゲータ・メニューには、2つのデバッグ・メニュー・オプションがあります。

使用不可	「オブジェクト・ナビゲータ」ペインで選択されたデバッグ・アクションを使用不可にする。
変更可能	オブジェクト・ナビゲータ内で選択されたデバッグ・アクションを変更可能にする。


「デバッガ」ツールバーについて

  関連項目

「デバッガ」ツールバーには、次のアイコンがあります。

ステップ・イン	STEP INTOコマンドを実行し、サブプログラム・コールへのステップ実行を変更可能にする。
ステップ・オーバー	STEP OVERコマンドは、コールされたサブプログラム本体へのステップ実行を行わずに、コールされたサブプログラムを実行する。
ステップ・アウト	STEP OUTコマンドを実行し、現行のサブプログラムが戻されるまで実行を再開する。
実行	「インタプリタ」ペイン内でGOコマンドを実行する。このGOコマンドは、現在実行中の実行スレッドが終了するか、デバッグ・アクションで中断されるまでプログラム実行を継続します。
リセット	RESETコマンドを実行し、現行のデバッグ・レベル内で実行を継続せずに、外部デバッグ・レベルに制御権を戻す。
クローズ	「デバッグ」モードで実行すると、デバッガが最初に表示され、ユーザーはフォーム起動前にデバッグ・アクションを作成できる。デバッグ・アクション作成後、「クローズ」を選択するとフォームが実行されます。
作成	新しいプログラム単位を作成できる。
削除	「ナビゲータ」ペインで選択したプログラム単位を削除する。
拡張	「ナビゲータ」ペインで現在選択されているノードを拡張する。
縮小	「ナビゲータ」ペインで現在選択されているノードを縮小する。
すべて拡張	現在選択されているノードの下の全ノードを拡張する。
すべて縮小	現在選択されているノードの下の全ノードを縮小する。
検索	このテキスト・ボックスにオブジェクトの名前を入力することにより、「ナビゲーション」ペイン内の指定されたプログラム単位にナビゲートできる。


「ソース」ペインについて

  関連項目

「ソース」ペインでは、「オブジェクト・ナビゲータ」ペイン内で現在選択されているプログラム単位の読込み専用コピーが表示されます。

左側マージンにそって表示される番号は、表示されたプログラム単位の行番号に対応しています。

さらに、次に説明する記号がマージンに表示される場合があります。

|	現行のソース位置を指定する。
=>	現行の有効範囲位置を指定する。
-	現行の実行位置（現行の有効範囲位置と異なる場合）を指定する。
B（n）	ブレーク・ポイントの位置を指定する。nは対応するデバッグ・アクションIDです。行番号の列に表示されます。
T（n）	トリガーの位置を指定する。nは対応するデバッグ・アクションIDです。行番号の列に表示されます。


「オブジェクト・ナビゲータ」ペインについて

  関連項目

オブジェクト・ナビゲータでは、Form Builderアプリケーションの現行の状態に関する情報が表示されます。この情報を使用して、アプリケーションの実行とともに発生する内部処理を分析します。また、システム変数、グローバル変数および項目値を変更することもできます。

階層表示には次のノードが含まれます。

モジュール	フォームに含まれるすべてのモジュールをリストする。このノードでは、各モジュールについて、すべてのプログラム単位、連結されたライブラリ、トリガー、ブロック、項目、パラメータ・リスト、サブプログラム、参照および各オブジェクトの値が表示されます。
グローバル変数	すべてのグローバル変数および値をリストする。
システム変数	現行のシステム変数をリストする。
コマンド・ライン・パラメータ	Forms Runtimeの現行のインスタンスについて、コマンド・ライン・パラメータと値をリストする。
ビルトイン・パッケージ	DEBUGパッケージを含む、変更可能なビルトイン・パッケージをリストする。
デバッグ・アクション	デバッガ内で作成した任意のブレークポイントまたはトリガーをリストする。
スタック	フォーム内のすべてのローカル変数をリストする。
データベース・オブジェクト	現在連結されているデータベース内のオブジェクトをリストする。
プラス記号 [image] をクリックすると、さらに多くのノードが表示されます。


「インタプリタ」ペインについて

  関連項目

「インタプリタ」ペインでは、コマンド・ライン・インタフェースが提供され、PL/SQL構成体およびデバッガ・コマンドを入力できます。


 デバッグ・アクションについて

  関連項目

コード内にデバッグ・アクションを作成することにより、デバッガをコード（トリガー、ユーザー指定のプログラム単位、ライブラリなど）から起動できます。デバッグ・アクションはPL/SQLプログラム単位の実行を中断する命令であり、監視できます。デバッグ・アクションには2つのタイプがあります。ブレークポイントとデバッグ・トリガーです。

作成する各デバッグ・アクションには、一意の数値IDが自動的に割り当てられます。デバッグ時にはForm Builderのデバッグ・コマンドを介してこのIDを参照することにより、特定のデバッグ・アクションを参照、表示および変更できます。

デバッグ・アクションのID、ソース位置、および変更可能になっているかどうかを含め、複数のデバッグ・アクションに関する詳細情報を表示できます。特定のデバッグ・アクションを一時的に使用できないようにして、後で必要に応じて変更可能にすることもできます。

ブレークポイントは、プログラム単位の特定のソース行で実行を一時停止し、制御をデバッガに渡します。

デバッグ領域を特定するには、ブレークポイントを作成します。たとえば、行10および20でブレークポイントを作成し、この領域内でコードをデバッグします。

ブレークポイントでは、それが指定されている行へ到達する直前で一時停止します。このときにデバッガの機能を使用して、プログラムの状態を検査または変更します。次に、GOまたはSTEPコマンドを使用して実行を再開するか、RESETコマンドを使用して実行を中止します。

デバッグ・トリガーは、PL/SQLコードのブロックをプログラム単位内の特定のソース行に関連付ける一般的な形式のデバッグ・アクションです。Form Builderでは、デバッグ・トリガーを検出すると、デバッグ・トリガー・コードが実行されます。

デバッグ時に提供されるPL/SQLコードのブロックを実行するには、デバッグ・トリガーを作成します。

•	プログラムの実行が、プログラム単位内の1つの行（現行のソース位置、行5、行23など）に達したとき。

•	デバッガに制御権が移ったとき（ブレークポイントの検出やプログラムのステップ実行などにより、プログラム実行を一時停止するとき）。

•	すべてのPL/SQLソース行で実行が開始されたとき。

デバッグ・トリガーは、条件付きのブレークポイントとして使用すると特に便利です。例外DEBUG.BREAKをトリガー内から発生させることもできます。たとえば、次に示すデバッグ・トリガーは、行10のmy_procで条件付きのブレークポイントを確立し、この行にはNUMBERローカル変数my_salが5000を超えたときのみ到達します。

PL/SQL>line 10 is
+> IF Debug.Getn('my_sal') > 5000 THEN
+>   Raise Debug.Suspend;
+> END IF;


デバッグ・アクションの作成について

  関連項目

Form Builderでは、デバッグ・アクション（ブレークポイントおよびデバッグ・トリガー）を3つの方法で作成できます。

•	「ブレーク」および「トリガー」メニュー・コマンドの使用

•	「オブジェクト・ナビゲータ」ペインへのデバッグ・アクションの挿入

•	「インタプリタ」ペインへのコマンド入力

デバッグ・アクションを作成するときは、ブレークポイントまたはデバッグ・トリガーを、実行可能なプログラム単位ソース行に連結します。ソース行に、PL/SQLコンパイラがコードを生成可能な1つ以上の文が含まれていれば、そのソース行は実行可能であると考えられます。たとえば、割当てステートメントおよびプロシージャ・コールを含むソース行は実行可能ですが、コメント、ブランク行、宣言またはNULL文を含むソース行は実行可能ではありません。


現行の実行位置について

  関連項目

現行の実行位置では、次に実行するPL/SQL行が指定されます。これは、プログラム・カウンタまたはPCと一般的に呼ばれるものに対応します。

プログラム実行中に制御権がデバッガに渡ると（たとえば、ブレークポイントの検出時またはステップ操作中）、デバッガ内の「ソース」ペインに現行の実行位置に対応するソース行が自動的に表示されます。

現行の実行位置を手動で表示するには、「インタプリタ」ペイン内でLISTコマンドを使用します。

たとえば、

.LIST PC

のように入力すると、「ソース」ペイン内に現行の実行位置がリストされます。


デバッグ・レベルについて

  関連項目

デバッグ・アクションがプログラム実行に割り込むと、デバッガが制御権を握り、デバッグ・レベルと呼ばれるものを設定します。デバッグ・レベルでは、コマンドやPL/SQL文を入力して、割込みプログラム単位の状態を実行の再開と同様、検査したり変更できます。

あるデバッグ・レベルで割込み入力されたPL/SQLコードはそれ自体割込みされる場合があるため（たとえば、他のブレークポイントに到達）、各デバッグ・レベルがネストできるようになっています。1つのデバッグ・レベルと他のデバッグ・レベルの区別がしやすいように、各レベルには番号が付いています。最も深くネストされたレベルは、最も大きな番号が割り当てられています。番号は、1番外側のレベルからゼロで始まります。

0番目のレベル、つまり最外部レベルは、一般にトップレベルと呼ばれます。トップレベルはプログラム単位が最初に起動される1番外側のレベルであるため、関連付けられたプログラム状態はありません。トップレベルから起動されたコードが中断すると、デバッグ・レベル1が設定されます。同様に、デバッグ・レベル1から起動されたコードが中断するとデバッグ・レベル2が設定され、以後同様に続いていきます。

「デバッガ」コマンド・プロンプトでは、現行のデバッグ・レベルが反映されます。デバッガがトップレベルより下のレベルに入ると、プロンプトには、現行のデバッグ・レベル番号を含む接頭辞が付きます。たとえば、デバッグ・レベル1の「デバッガ」コマンド・プロンプトは、次のように表示されます。

（デバッグ 1）PL/SQL>


現行の有効範囲位置について

  関連項目

デバッガには、ローカル変数およびパラメータを検索可能な現行の有効範囲が存在します。これは、PL/SQLサブプログラムのスタック上の現在の実行位置に対応します。

プログラム単位の実行が割り込まれる（たとえば、デバッグ・アクションによって）たびに、スタックの1番下にあるサブプログラムの実行位置が現行の有効範囲となります。

実行が中断されると、現行の有効範囲を、スタック上の他のフレームに変更できます。これによって、ユーザーは、コール・チェイン内の他のサブプログラム内にあるローカル変数を表示できます。


実行時のコード変更について

  関連項目

現行のスタック上にないプログラム単位、メニュー項目コマンドまたはトリガーは、実行時に変更およびコンパイルできます。

注意: 現行のスタック上にある項目を変更するには、まずRESETコマンドを発行してそのスタックを消します。

ランタイム・コード変更はForm Builderに伝達されませんが、Form Builderでの最終的な修正前に、修正箇所を対話によりテストできます。


デバッグ・コマンドについて

  関連項目

次のコマンドは、デバッガを使用しているときに変更可能です。

CREATE  このCREATEコマンドは、ファイル・システムか現行のデータベースのいずれかに格納できる新規ライブラリを作成します。

DELETE  DELETEコマンドを使用すると、次のものが削除できます。

•	現行のデータベース内にあるライブラリ

•	ライブラリ・プログラム単位

•	プログラム単位

DESCRIBE  DESCRIBEコマンドを使用して、現行の有効範囲のローカルな変数やパラメータを検査します。この説明には、指定ローカルの名前、タイプおよび値が含まれています。

EXPORT  EXPORTコマンドを使用して、1つ以上のプログラム単位をテキスト・ファイルに書き込みます。

LIST  LISTコマンドを使用して、プログラム単位、トリガーおよびデバッグ・アクションのソース・テキストを表示します。

LOG  LOGコマンドでは、指定ログ・ファイルに、デバッガ入出力のコピーを上書き保存します。

RESET  RESETコマンドでは、現行のデバッグ・レベル内で実行を継続せずに、外部デバッグ・レベルに制御権を戻します。

SET  SETコマンドを利用すると、現行の有効範囲をスタックの指定されたフレームに変更できます。現行のスタック・フレームから他のフレームへの相対モーションを指定するか、スタック上の特定のサブプログラムに移動できます。SETを起動するにはいくつかの方法があります。

•	オブジェクト・ナビゲータ内のフレーム項目を選択します。

•	インタプリタにSETコマンドを入力します。

SHOW  SHOWコマンドを使用して、現行の有効範囲にあるすべての変数、パラメータの名前、タイプおよび値をリストします。


DEBUGパッケージについて

  関連項目

アプリケーションをデバッグするときには、DEBUGパッケージを利用できます。

注意: DEBUGパッケージは実行時のみ変更可能です。実行時、DEBUGパッケージが「ビルトイン・パッケージ」ノード内に表示されます。

DEBUGパッケージには、アプリケーションのデバッグ中にユーザーが使用するプロシージャ、ファンクションおよび例外が含まれています。

DEBUG.GETxファンクション  DEBUGパッケージのGETxファクションを使用すると、現行の有効範囲のサブプログラムに対してローカル変数またはパラメータの値を取り出せます。これらのファンクションは、デバッグ・トリガー内部で主に使用します。

DEBUG.SETxファンクション  パッケージ内のSETxプロシージャを使用すると、現行の有効範囲にあるサブプログラムに対してローカル変数またはパラメータの値を設定できます。これらのプロシージャは、デバッグ・トリガー内部で主に使用します。

DEBUG.SUSPENDファンクション  DEBUG.SUSPENDプロシージャは、現行のプログラム単位またはトリガーの実行を保留し、制御権をインタプリタに渡します。

DEBUG.BREAKファンクション  DEBUG.BREAKを使用して、デバッガ内部からブレークポイントを入力します。


デバッガ起動制限について

「デバッグ」モードでフォームを実行しているときに、デバッガはフォームが起動される前に起動されます。この時点でデバッグ・アクションの作成が可能ですが、Form Builderのビルトイン・サブプログラムの多くはフォーム起動前に実行できません。

注意: 「デバッグ」モードのエラー処理は、実行時のデフォルトのエラー処理とは異なります。「デバッグ」モード内では、ON-ERRORまたはON-MESSAGEトリガーは起動しません。ユーザーが実行中のコードでエラーまたはメッセージが生成された場合、これらは警告表示されます。

次のビルトイン・サブプログラムのリストはフォーム起動前にコールできません。

Abort_Query

Anchor_View

Bell

Block_Menu

Break

Call_Form

Call_Input

Call_Query

Clear_Block

Clear_Eol

Clear_Field

Clear_Form

Clear_Record

Close_Form

Commit_Form

Commit

Copy

Copy_Region

Count_Query

Create_Queried_Record

Create_Record

Cut_Region,

Default_Value

Delete_Record

Display_Error

Display_Page

Do_Key

Down

Duplicate_Record

Edit_Field

Enforce_Column_Security

Enter

Enter_Query

Execute_Query

Execute_Trigger

Exit_Form

Generate_Sequence_Number

Go_Form

Go_Record

Hide_Menu

Erase

Fetch_Records

Fire_Event

First_Record

Go_Block

Go_Field

Help

Hide_Page

Insert_Record

Last_Record

List_Values

Lock_Record

Logon

Logon_Screen

Logout

Macro

Message

Next_Field

Next_Form

Move_View

New_Form

Next_Block

Next_Key

Next_Record

Next_Set

Ohost

Open_Form

Paste_Region

Pause

Post

Print

Previous_Block

Previous_Form

Previous_Field

Previous_Record

Rollback_Form

Redisplay

Replace_Menu

Resize_View

Select_Records

Scroll_Down

Scroll_Up

Set_Input_Focus

Show_Keys

Show_Menu

Show_Page

Synchronize

Up

Update_Record

Validate


デバッグ・モードでのフォームの実行

  関連項目

レイアウト・エディタから、デバッグ・モードでコンパイルおよび実行する方法:

1	「ツール」 [image] 「作業環境」を選択して、「作業環境」ダイアログを起動します。

2	「ランタイム・オプション」タブで、「デバッグ・モード」チェックボックスをチェックします。

3	「OK」をクリックして、オプションを確定します。

4	「プログラム」 [image] 「フォーム実行」を選択して、フォームを実行します。

コマンド・ラインから、デバッグ・モードでコンパイルおよび実行する方法:

アプリケーションをコンパイルし、実行するには、デバッグ・キーワード（DEBUG=YES）をコマンドにインクルードすることにより、デバッグ・モードの基本設定をオンに設定します。たとえば、MS Windows上では次のように設定します。

IFCMP60 formname username/password debug=YES
IFRUN60 formname username/password debug=YES

注意: デバッグ・モードをオンにしてフォームをコンパイルするとき、デバッグ情報（pコード）は.FMXランファイルに取り込まれます。この情報によって、サブプログラムを実行時に変更できます。


ブレークポイントの作成

  関連項目

ブレークポイントの作成方法:

1	オブジェクト・ナビゲータで、希望のプログラム単位、トリガーまたはメニュー項目コマンドを選択します。デバッガによって「ソース」ペイン内にその選択項目が表示されます。

2	「ソース」ペインで、ブレークポイントを設定する行を選択します。

3	「デバッグ」 [image] 「ブレーク」を選択して、「ブレークポイント」ダイアログ・ボックスを起動します。

4	希望の行を選択し、「OK」を選択して、選択した行にブレークポイントを作成します。

ヒント: 「ソース」ペイン内の希望するソース行をダブルクリックするか、「インタプリタ」ペイン内にコマンドを入力しても、ブレークポイントを作成できます。


「ブレークポイント」ダイアログ・ボックスについて

「ブレークポイント」ダイアログ・ボックスには、次の項目が含まれます。

ブレークポイント	ブレークポイントを、新規または既存のブレークポイントとして特定する。既存のブレークポイントには番号が付けられます。
取消	ダイアログ・ボックスを閉じ、操作を取り消す。
変更可能	ブレーク・ポイントが変更可能か使用不可かを示す。ブレークポイントを作成すると、デフォルトで変更可能になります。
行	プログラム単位内のブレークポイントを設定する行を指定する。
OK	ブレークポイントを作成し、ダイアログ・ボックスを閉じる。
プログラム単位	ターゲットのプログラム単位本体を特定する。
トリガー	ブレークポイントのPL/SQLトリガーを定義する。トリガーは、ブレークポイントに達するたびに起動します。


デバッグ・トリガーの作成

  関連項目

デバッグ・トリガーの作成方法:

1	オブジェクト・ナビゲータで、希望のプログラム単位、トリガーまたはメニュー項目コマンドを選択します。デバッガによって「ソース」ペイン内にその選択項目が表示されます。

2	「ソース」ペインで、ブレークポイントを設定する行を選択します。

3	「デバッグ」 [image] 「トリガー」を選択して、「トリガー」ダイアログ・ボックスを起動します。

4	トリガー本体を指定します。

たとえば、NUMBERローカル変数my_salが5000を超えた場合にプログラム実行を中断するデバッグ・トリガーを作成するには、トリガー本体に次のように入力します。

IF Debug.Getn('my_sal') > 5000 THEN
   raise Debug.Suspend;
END IF;

注意: 複数のテキスト行を含むデバッグ・トリガーを作成するには、コードの前後にBEGIN文とEND文をインクルードします。

この行の実行時にデバッガを表示する場合は、DEBUGパッケージからDEBUG.SUSPEND例外を呼び出す必要があります。例外を呼び出さないと、Form Builderによってコードが停止せずに実行され、デバッガが表示されません。

5	「OK」をクリックして、選択した行についてデバッグ・トリガーを作成します。

ヒント: 「インタプリタ」ペインでコマンドを入力して、デバッグ・トリガーを作成することもできます。


「トリガー」ダイアログ・ボックスについて

「トリガー」ダイアログ・ボックスには、次の項目が含まれます。

取消	ダイアログ・ボックスを閉じ、操作を取り消す。
変更可能	デバッグ・トリガーが変更可能か使用不可かを示す。デバッグ・トリガーを作成すると、デフォルトで変更可能になります。
行	デバッグ・トリガーを確立するためのプログラム単位内の行を指定する。
場所	デバッグ・トリガーのソース位置を指定する。「プログラム単位」項目は、デバッグ・トリガーの位置が「プログラム単位」フィールドと「行」フィールドに入力されたことを示します。「プログラム単位」フィールドと「行」フィールドは、「位置」ドロップダウン・リストで現在「プログラム単位」項目が選択されている場合に限り変更可能になります。 「デバッグ・エントリ」上にトリガーを配置すると、ブレークポイントの検出またはプログラムのステップ実行などによってプログラム実行が中断された場合にデバッガが起動します。 「ステートメント毎」にトリガーを配置すると、すべてのPL/SQLソース行が実行される前に、指定のブロックが評価されます。
OK	デバッグ・トリガーを作成し、ダイアログ・ボックスを閉じる。
プログラム単位	ターゲットのプログラム単位本体を特定する。
トリガー	デバッグ・トリガーを、新規または既存のデバッグ・トリガーとして特定する。 既存のデバッグ・トリガーには番号が付けられます。
トリガー本体	デバッグ・トリガーの本体として使用されるPL/SQLコードを指定する。


デバッグ・アクションの参照

  関連項目

デバッグ・アクションの参照方法:

オブジェクト・ナビゲータで、「デバッグ・アクション」ノードを拡張します。現行のフォームに関連付けられたデバッグ・アクションのリストが表示されます。

または

インタプリタ内でDESCRIBEコマンドを使用して、特定のデバッグ・アクションに関する情報を表示します。

たとえば、「インタプリタ」ペインで.DESCRIBE BREAK 1を入力すると、Breakpoint 1に関する次の情報が表示されます。

Breakpoint: 1
   Program Unit: Procedure Body <programunit_name>
Line: 3
Enabled: YES


デバッグ・アクション・ソースの表示

  関連項目

デバッグ・アクション・ソースの表示方法:

1	オブジェクト・ナビゲータで、「デバッグ・アクション」ノードを拡張します。

2	希望のデバッグ・アクションをクリックします。「ソース」ペインにソースが表示されます。

または

インタプリタ内でLISTコマンドを使用します。

たとえば、インタプリタ内で.LIST BREAKPOINT 1を入力すると、Breakpoint 1に関する情報が表示されます。


デバッグ・アクションの使用可と使用不可の切替え

  関連項目

デバッグ・アクションの変更可能/不可能を切り替える方法:

1	オブジェクト・ナビゲータで、希望のデバッグ・アクションをダブルクリックします。「PL/SQLブレークポイント/トリガー」ダイアログが表示されます。

2	「変更可能」チェックボックスをチェックしてデバッグ・アクションを変更可能にするか、チェックを外して使用できないようにします。

または

インタプリタ内でDISABLEコマンドを使用します。

たとえば、「インタプリタ」ペインで.DISABLE BREAKPOINT 1を入力すると、ブレークポイント1が使用できないようになります。


デバッグ・アクションの削除

  関連項目

デバッグ・アクションの削除方法:

1	オブジェクト・ナビゲータで、希望のデバッグ・アクションをクリックします。

2	「ナビゲータ」 [image] 「削除」を選択します。

または

インタプリタ内で、DELETEコマンドを使用します。

たとえば、インタプリタ内で.DELETE BREAK 1を入力すると、ブレークポイント1が削除されます。


デバッグ・アクションの保存

  関連項目

デバッガ内で作成されたデバッグ・アクションは、保存されず、現行のデバッグ・セッション内でのみ使用されます。デバッグ・セッションを開始するたびに、そのセッションについて希望のデバッグ・アクションを作成する必要があります。

セッション間でブレークポイントを再利用するには、希望のコード内でBREAKビルトイン・サブプログラムをコールすることにより、設計時にブレークポイントを作成します。BREAKビルトイン・サブプログラムによって、デバッガ内で作成したブレークポイントと同じ機能が提供されます。

また、BREAKビルトインの使用時に条件論理を追加することにより、条件付きのブレークポイントを作成することもできます。

次に例を示します。

IF :emp.sal > 5000 THEN
   Break;
END IF;


サブプログラム参照の表示

サブプログラム参照の表示方法:

1	オブジェクト・ナビゲータで、希望のサブプログラムを選択し、拡張します。

2	「参照」ノードまたは「参照元」ノードを選択し、拡張します。

オブジェクト・ナビゲータによって、任意のサブプログラム参照が表示されます。

注意: 「参照元」には、現行のプログラム単位をコールするプログラム単位が表示されます。「参照」には、現行のプログラム単位によってコールされるプログラム単位が表示されます。


スタックの検査

スタックは、初期のエントリ・ポイントから現在実行中のサブプログラムまでの一連のサブプログラム・コールを示します。

たとえば、プロシージャA、プロシージャB、プロシージャCの順番でコールされ、プロシージャCの文が現在実行されている場合、現行のコール・チェインは次のように表示されます。

スタック:

(0) A（プロシージャ本体）行3

(1) B（プロシージャ本体）行22

(2) C（プロシージャ本体）行5

それぞれのサブプログラム・コールはスタック上のフレームによって表されます。フレームには、対応するサブプログラム・コールに関する情報（その名前、実パラメータ値、ローカル変数値および次の実行対象文）が含まれています。

Form Builderでは、標準デバッグ・モデルである下向き成長スタックが使用されます。 このようなスタックでは、新しく入力されたサブプログラムがスタックの1番下に追加されます。このため、初期プログラム・エントリ・ポイントに対応する最も古いフレームはスタックの頂点にあり、最も深くネストされたサブプログラム・コールに対応する最新フレームはスタックの1番下にあります。

スタック・フレームには、0～Nの番号が付され、0番目のフレームはスタックの頂点に、N番目のフレームは1番下にあります。したがって、0番目のフレームは元のエントリ・ポイントに対応し、N番目のフレームは現在実行中のサブプログラムに対応します。


プログラム単位実行の制御

  関連項目

プログラム状態の検査および変更が済んだら、次の機能を使用して実行を再開または終了できます。

STEP	STEPコマンドを使用して、中断プログラムの実行を一時的に再開できる。指定された文の実行が完了すると、制御権がデバッガに戻ります。「STEP INTO」または「STEP OVER」を使用すると、次の機能を使用できます。 • 次の文を実行します（オプションで、サブプログラム・コール内部に下っていきます）。 • 現行のサブプログラムが戻されるまで実行を再開します。 • 指定ソース位置に達するまで実行を継続します。
GO	GOコマンドを使用すると、プログラム実行を無限に、つまり、現在実行中のスレッドが終了するか、デバッグ・アクションによって再度中断されるまで、続けられる。
RESET	RESETコマンドを使用すると、現行のデバッグ・レベルでの実行を継続せずに、外部デバッグ・レベルに制御権を戻すことができる。したがって、RESETは現在のデバッグ・レベル（およびそれよりも上位デバッグ・レベル）において実行を効果的に終了させます。 明示的に前のデバッグ・レベルに実行を再設定したり、また単にデフォルトである最上位レベルに再設定できます。
これらのコマンドは、デバッガ・ツールバーを使用するか、「インタプリタ」ペインにコマンドを入力して実行します。


現行の有効範囲の表示について

現行有効範囲の表示方法:

1	オブジェクト・ナビゲータで、「スタック」ノードを展開します。

2	スタック内の希望フレームを拡張し、ローカル変数およびパラメータに関する情報を表示します。

または

インタプリタ内で、.LIST SCOPEコマンドを使用します。


アプリケーション変数の変更

変数の変更方法:

1	オブジェクト・ナビゲータで、ローカル変数の「グローバル変数」ノードまたは「スタック」ノードを拡張します。

2	希望のエントリを選択し、拡張します。そのエントリに関連付けられた変数が表示されます。

3	"="に続く既存の値をクリックし、希望の値を入力して値を編集します。

または

インタプリタ内で、Debug.GetxパッケージおよびDebug.Setxパッケージを使用して、希望の変数を変更します。


項目値の変更

フォーム項目値の変更方法:

1	オブジェクト・ナビゲータで、希望の「モジュール」、「ブロック」および「項目」の各ノードを選択して拡張し、希望の項目を選択します。

現行のスタックに関連付けられたフォーム項目値が表示されます。

2	"="に続く既存の値をクリックし、希望の値を入力して値を編集します。


実行時のコード変更

実行時におけるコードの変更方法:

1	オブジェクト・ナビゲータで、希望のプログラム単位、メニュー項目コマンドまたはトリガーをダブルクリックして、プログラム単位エディタを起動します。

2	PL/SQLエディタ内で、必要な変更を加えます。

3	「コンパイル」を選択し、次に「クローズ」を選択して、PL/SQLエディタを終了します。

4	「デバッガ」ツールバー上で、「実行」、「ステップ・イン」、「ステップ・オーバー」または「ステップ・アウト」を選択し、プログラムの実行を再開します。


実行時のプログラム単位の作成

実行時におけるプログラム単位の作成方法:

オブジェクト・ナビゲータで希望のノードを選択し、「ナビゲータ」 [image] 「作成」を選択します。

実行時におけるライブラリの連結方法:

1	オブジェクト・ナビゲータで、「連結ライブラリ」ノードを選択し、次に「ナビゲータ」 [image] 「作成」を選択します。

「連結ライブラリ」ダイアログが表示されます。

注意: 実行時には、.PLLまたは.PLXライブラリ・ファイルのいずれかを連結できます。Form Builderではまず、.PLXファイルが検索されます。.PLXファイルが存在しないと、次に指定名をもつ.PLLファイルが検索されます。

2	連結対象のライブラリを指定し、「OK」を選択します。

または

「インタプリタ」ペインで、ATTACHコマンドを使用します。


モジュール・アクセス

説明:

「モジュール・アクセス」ダイアログを使用して、指示されたモジュール（データベース内に格納されているモジュール）に対してアクセス（権限の読込み/書込み/実行）を付与またはアクセスを取り消せます。

このダイアログ・ボックスの内容:

モジュール	このテキスト・ボックスにモジュールの名前を入力します。
操作	「権限付与」または「取消」を指定します。
「検索リスト」ボタン	データベースに格納されている、選択対象モジュールのリストを検索します。
表示	モジュール・タイプ（フォーム、メニュー、PL/SQLライブラリ、オブジェクト・ライブラリ）のいずれか1つまたは「すべて」を選択して、検索リストが返すモジュールのリストを絞り込みます。
ユーザー	アクセス権付与または権限取消しの対象ユーザー名を指定します。
使用上の注意：

ファイル内に格納されているモジュールの場合には、ご使用のオペレーティング・システムで提供されるアクセス制御を使用してください。


データベース・ロール

説明:

データベース・ロールでは、2つのコマンドを含むダイアログを表示します。

ロール	メニュー・アクセスに影響を及ぼすセキュリティ・ロールを定義および変更できます。

ロール・アクセス	どのユーザーにロール管理権限を与えるか制御できます。

ロール    メニュー・セキュリティに影響するセキュリティ・ロールを定義または変更できます。

作成	「ロール・リスト」ダイアログを表示することで、セキュリティ・ロールを定義できます。

編集	前に定義されたロールの「ロール」ダイアログを表示することで、セキュリティ・ロールの編集ができます。ロールからのユーザーの追加または削除など、「作成」オプション用にそれまでリストされたフィールドなら、どれでも変更できます。

削除	ロール・リストからロールを削除できます。

保存	変更したロール・リストを保存できます。

Exit（終了）	変更を受け入れずに終了できます。

ロール・ダイアログ     Form Builderで表示される「ロール・リスト」ダイアログには、次のオプションがあります。

ロール名	セキュリティ・ロール名を指定します。

ユーザー名	このロールに追加するユーザーの名前を指定します（ユーザー名は必須ではありません。 ここではロールを作成しておき、後でそれにユーザーを割り当てます）。

デバッグ・モード 	このロールのメンバーとなっているオペレータがデバッグ・モードで、メニューを実行できることを指定します。

OSコマンド	このロールのメンバーになっているオペレータが、フォームからオペレーティング・システムに出て、そこでオペレーティング・システム・コマンドを入力できることを指定します。

バックグラウンド・メニュー	このロールのメンバーになっているオペレータがバックグラウンド・メニューをキー一覧ウィンドウとして表示できることを指定します。

ロール・アクセス     ロール・アクセスにより、各ユーザーのロール管理権限が付与または取消しされます。Form Builderでは、次のオプションを含む「ロール権限付与」ダイアログが表示されます。

操作	「権限付与」または「取消」を指定します。

ユーザー	ロール管理権限の付与または取消すユーザー名を指定します。


削除

説明:

「削除」ダイアログ・ボックスによって、データベースからモジュールを削除できます。

このダイアログ・ボックスの内容:

削除	このテキスト・ボックスに削除するモジュールの名前を入力します。
検索リスト	データベースに格納されている、選択対象モジュールのリストを検索します。
表示	モジュール・タイプ（フォーム、メニュー、PL/SQLライブラリ、オブジェクト・ライブラリ）のいずれか1つまたは「すべて」を選択して、検索リストが返すモジュールのリストを絞り込みます。
使用上の注意：

ファイルに格納されているモジュールの名前を削除するには、使用しているオペレーティング・システムが提供するアクセス制御手法を使用してください。


改名

説明:

「改名」ダイアログ・ボックスでは、データベースに格納されているモジュールの名前を変更します。

このダイアログ・ボックスの内容:

作成	このテキスト・ボックスに、モジュールの新しい名前を入力します。
旧	このテキスト・ボックスに、その名前を変更する既存のモジュールの名前を入力します。
検索リスト	データベースに格納されている、選択対象モジュールのリストを検索します。
表示	モジュール・タイプ（フォーム、メニュー、PL/SQLライブラリ、オブジェクト・ライブラリ）のいずれか1つまたは「すべて」を選択して、検索リストが返すモジュールのリストを絞り込みます。
使用上の注意：

ファイルに格納されているモジュールの名前を変更するには、使用しているオペレーティング・システムが提供するアクセス制御手法を使用してください。


生成

「生成」では、モジュール・タイプに特有の拡張子（.FMXまたは.MMX）の付いた実行ファイルが作成されます。 前に生成されたファイルは上書きされます。


変換

説明:

「変換」ダイアログ・ボックスでは、.FMBフォームなどのバイナリ・ファイルから、.FMTなどのテキスト・ファイルへの変換（または、その逆方向の変換）を行います。

このダイアログ・ボックスの内容:

参照	このボタンをクリックして、ファイル・システムから変換対象のモジュールを検索します。
方向	変換の方向（テキストからバイナリへ、またはバイナリからテキストへ）を選択します。
ファイル	このテキスト・ボックスに、変換される既存のモジュールの名前を入力します。
タイプ	変換されるオブジェクトのタイプ（フォーム、メニュー、PL/SQLライブラリ、オブジェクト・ライブラリ）を選択します。


「カラー・モード」

Form Builderカラー・パレットがシステム上にロードされる方法を判別します。フォームのロード、オープンまたは作成のたびに、Form BuilderではOracle Formsカラー・パレットを現行のシステム・カラー・テーブル内にロードします。このシステム・カラー・テーブルは一度に限られた数のカラーしか扱えないので、Oracle Formsは複数フォームで異なるカラー・パレットを使用していると、複数フォームを同時に正確に扱えない場合があります。このため、積極的にForm Builderカラー・パレットを変更しているとき以外には、「読込み専用 - 共有」オプションを使用してください。


「カラー・パレット」

説明:

レイアウト・エディタで使用できるカラー・パレットです。

このダイアログ・ボックスの内容:

現在のカラー	このテキスト・ボックスには、現在選択されているカラーが表示されます。
編集	現在選択されているカラーを別のカラーに変更するときにクリックします。
パレット名	現在のセッションにインポートされているパレットの名前です。インポートされているパレットがない場合は、空白のままです。
改名	カラーの名前を変更するには、「現在のカラー」テキスト・ボックスに新しい名前を入力した後、このボタンをクリックします。
編集するカラーを選択	レイアウト・エディタで現在使用できるすべてのカラーを表示します。それぞれのカラーの正方形をクリックして選択します。


実行前にコンパイル

Form Builderからフォームを実行するときに、Form Builderがアクティブなモジュールを自動的に生成するかどうかを決定します。「実行前にコンパイル」が「オン」のときにユーザーが「ファイル」メニューの「実行」コマンドを実行して指定されたフォームを実行すると、Form Builderは次のことを行います。

•	アクティブなフォーム、メニューまたはライブラリ・モジュールを生成し、そのモジュールと同じ名前を持つ実行ファイルを作成します。

•	「実行」ダイアログで指定した.FMXファイル（フォーム実行ファイル）を実行します。

このオプションを設定することにより、フォームを修正、実行するたびに「生成」コマンドと「実行」コマンドを個別に実行する必要がなくなります。ただし、この作業環境はモジュールを保存しません。「ファイル」、「保存」コマンドを発行してモジュールを保存します。


アクセス

モジュールをオープンまたは保存する場所を指定します。

ファイル	モジュールはファイル・システムからロードされ、ファイル・システムに保存されます。
データベース	モジュールはデータベースからロードされ、データベースに保存されます。
このダイアログ・ボックスを表示してForm Builderを停止し、デフォルトの位置タイプを指定するには、「アクセス作業環境」を設定します。この作業環境は、「ツール」 [image] 「作業環境」の選択時に表示される「作業環境」ダイアログ・ボックスの「アクセス」タブにあります。


データベースからのオープン/データベースへの保存

データベースに格納された変更可能なモジュールをリストします。

表示	モジュール・タイプ（フォーム、メニュー、PL/SQLライブラリ、オブジェクト・ライブラリ）のいずれか1つまたはすべてを選択して、「検索リスト」ボタンが返すモジュールのリストを絞り込みます。
「検索リスト」ボタン	データベースに格納されたモジュールのリストを検索します。このボタンの下にあるリストから1つを選択すると、リストの下の「オープン/名前を付けて保存」テキスト・ボックスに名前が表示されます。「表示」フィルタを変更する場合、このボタンを押してリスト表示をリフレッシュする必要があります。
オープン/名前を付けて保存	このテキスト・ボックスにオープンまたは保存するモジュールの名前を入力します。


プリンタ

デフォルトのプリンタの名前。この名前はオペレーティング・システムに依存しています。


新規リレーション

  関連項目

表示されたマスター・ブロックに基づいて新規リレーションを作成します。

ディテール・ブロック	マスター・ブロックに関連するブロックの名前を入力するか、または選択対象の変更可能なブロックのリストについて「選択」をクリックします。新規リレーションを作成する前に、ディテール・ブロックが存在する必要があります。
マスター削除	マスター・ブロックのレコードが削除されるときに何が発生するかを判別します。次のいずれかを設定します。 カスケード: マスター・レコードの削除を許可し、コミット時に関連するディテール・レコードも自動的に削除します。即時ディテール・ブロック内のレコードのみが削除されます。 孤立: 関連するディテール・レコードには何ら影響を与えずに、マスター・レコードを削除します。 非孤立: 関連する詳細レコードがある場合は、マスター・レコードが削除されないようにします。
調整	遅延: ディテール・レコードは自動的にはフェッチされません。ユーザーは、ディテール・ブロックにナビゲートして明示的に問合せを実行する必要があります。 自動問合せ: ディテール・レコードは、ユーザーが間連するディテール・ブロックにナビゲートしたときにフェッチされます。遅延設定の一部です。 マスターなし操作防止: 間連するマスター・レコードがない場合、ディテール・ブロックでレコードの挿入または問合せが行われないようにします。
結合条件	複数行フィールドに有効な結合条件を入力します。この結合条件は、「マスター」テキスト・ボックスに指定されたマスター・ブロックと「ディテール」テキスト・ボックスに指定されたディテール・ブロックとの関係を定義します。マスター/ディテール・リレーションの結合条件の指定を参照してください。 例: warehouse.region_id = region.id
オブジェクトREF	マスター・ブロックおよびディテール・ブロックの両方にあるオブジェクトに基づいて結合条件を指定します。ドロップダウン・ボックスからオブジェクトを選択します。


「モジュールの非同期実行」

Form Builderから実行するフォームを、Form Builder自体と同期または非同期に実行するかを判断します。

•	「モジュール非同期実行」を使用不可にすると、Form Builderから実行するフォームは同期されます。つまり、フォームを終了するまで、Form Builderでフォームの設計作業ができません。

•	「モジュール非同期実行」を変更可能にすると、Form Builderから実行するフォームは非同期となり、Form Builderとフォーム間を移動できます。

同期的にフォームを実行する場合、Form Builderでは、ランフォーム起動エラーが起こったときに、Form Builder内に警告を表示することでユーザーに通知されます。フォームを非同期に実行すると、ランフォームとForm Builder間でそのような通信はなく、ランフォーム起動エラーはForm Builder間に通知されません。


保存

ユーザーが「オプション」ダイアログを受け入れたときに、Oracle Formsでその現行の設定値を保存するかどうかを判別します。「上書き保存」が変更可能になっていると、Form Builderでは、現行のオプションがデフォルト・オプション・ファイル（ほとんどのプラットフォームではPREFS.ORA）に書き込まれます。Form Builderでは、ユーザーがデザイナを起動するたびに、オプション・ファイル内の設定値が読み込まれます。


ビルド前に保存

「ファイル」－「生成」を選択したときに、Form Builderで現行のモジュールを自動的に保存するかどうかを判別します。


「ヒント表示の抑止」

ユーザーがForm Builder内の設計機能を使用するときに、ヒントを抑止するかどうかを判別します。


「システム・エディタの使用」

ユーザーがプロパティ・シートまたはデザイン機能内の複数行フィールドからエディタを起動したときに、Form Builderがどのエディタを使用するかを判別します。システム・エディタが使用不可の場合には、Form BuilderではデフォルトのForm Builderエディタが表示されます。システム・エディタが変更可能の場合には、システム上に定義されたデフォルトのシステム・エディタが表示されます。

注意: システム・エディタが変更可能で、ユーザーがネイティブ・ドキュメント書式のエディタを使用している場合、Form Builderエディタの書式のかわりに、ASCIIテキスト（改行付き）でドキュメントを保存する必要があります。


配列処理

配列処理を抑止すると、Form Builderでは、そのデータベースのみに、サーバーからクライアントへの単一行の問合せ結果を1度に戻すことが要求されます。

配列処理を抑止すると、通常、最初に検索されたレコードが、配列処理で多くのレコードをフェッチした場合よりも速く表示されます。ただし、ネットワーク・オーバーヘッドが減少できるので、数多くのレコードをフェッチして表示するときにかかる合計時間は、配列処理の場合よりも短くなります。


ファイルのバッファ・レコード

メモリー内のバッファ・レコード数を、最少可能表示行数プラス（各ブロックの）一定定数に設定します。ブロックがこの限度を超えた問合せでレコードをフェッチすると、Form Builderではディスク上の一時ファイルにこれらの追加レコードがバッファされます。

この作業環境を設定しておくと、メモリーの使用量を節約できますが、ディスクI/Oが発生するため処理速度が落ちます。


デバッグ・モード

デバッグ・モードでランフォーム・セッションを起動します。デバッグ・モードでフォームを実行すると、デバッガが最初に表示され、デバッグ・アクションの作成ができます。


ブロック・メニューの表示

フォームの代わりに最初のスクリーンとして（ログイン・スクリーンが表示される場合は、その後に）ブロック・メニューを自動的に表示します。


SQL処理の最適化

Form Builderが、データベース・カーソルを共有することにより、V2スタイル・トリガー内でSQL文処理を最適化するように指定します。

デフォルトでは、フォームがV2トリガー内で明示的に実行する各SQL文に対して別々のデータベース・カーソルが割り当てられます。この動作は、各カーソル内の文がランフォーム・セッション内で最初に実行されるとき（毎回ではない）に解析されるので、処理が改善されます。

「SQL処理の最適化」を使用不可にすると、Form BuilderではV2トリガー内のすべてのSQL文について単一カーソルが割り当てられます。これらの文はそのカーソルを共有、つまり再使用します。これにより、メモリーは節約できますが、SQL文を実行のたびに解析する必要があるので、処理速度は遅れます。

この動作は、｢新規カーソル領域」トリガー・ステップ特性を介して微調整できます。SQL文を含むトリガー・ステップでこの特性がオンになると、Form Builderではその文に別のカーソルが割り当てられ、その結果、その文の「SQL処理の最適化」パラメータが上書きされます。


トランザクション・モード処理の最適化

トランザクション・モード処理を最適化します。

デフォルトでは、フォームがデータの転記または問合せの一部として暗黙的に実行する各SQL文に対して別々のデータベース・カーソルが割り当てられます。この動作は、各カーソル内の文がランフォーム・セッション内で最初に実行されるとき（毎回ではない）に解析されるので、処理が改善されます。

ただし、問合せSELECT文に割り当てられるカーソルは、実行するたびに解析する必要があるので、注意してください。問合せが実行によって変わるので、この例外が存在します。

「トランザクション・モード処理の最適化」を使用不可にすると、Form Builderでは、それぞれの問合せSELECT文にのみ別のカーソルが割り当てられます。その他のすべての暗黙的SQL文はカーソルを共有、つまり再使用します。これにより、メモリーは節約できますが、すべてのINSERT、UPDATE、DELETEおよびSELECTFOR文を実行のたびに解析する必要があるので、処理速度は遅くなります。


問合せ専用モード

フォームを問合せ専用モードで起動します。この作業環境を「オン」に設定することは、CALL_FORM(query_only)ビルトイン・サブプログラムの利用と等価です。


消音モード

ランフォーム・セッションの消音モードを起動します。消音モードで、メッセージはビープ音をしません。BELLビルトイン・サブプログラムのコールによって明示的にビープ音を鳴らすことができます。quiet=NOはデフォルトで、ブザーが鳴ることを示します。ベルをオフにするには、「消音モード」を変更可能にします。


統計表示

セッションの終わりに、セッション中に同時に使用したカーソルの最大数を示すメッセージを表示します。このメッセージは、メッセージ・ラインではなく、端末スクリーンに表示されます。

また、この作業環境はデータベースに次のコマンドも発行します。

ALTER SESSION SET SQL_TRACE TRUE

このコマンドは、サーバー上にトレース・ファイル・ディレクトリを表示して、現行セッションのSQLトレース機能を変更可能にします。

Form Builder内でフォームを実行中にこの機能を使用する場合は、「統計表示」作業環境をアクティブにしてください。


定規設定

説明:

「定規設定」ダイアログでは、定規単位、格子定義およびスナップ・ポイントの各オプションを指定できます。

このダイアログ・ボックスの内容:

文字セル・サイズ（ポイント）	「単位」オプションが「文字セル」に設定されているときの文字セルの高さと幅を定義します。高さと幅はポイントで表されます。 フォーム・モジュールの「フォーム座標」プロパティが「文字セル」に設定されている場合、レイアウト・エディタの文字セルの幅と高さのデフォルト値はフォームの文字セルの幅と高さになります。そうでない場合は、デフォルト・フォントの幅と高さがデフォルト値になります。
格子間隔	レイアウト・エディタで描かれる格子線間の距離を指定します。 この距離は「単位」フィールドで指定した定規単位で計測されます。たとえば、定規単位をインチに、格子間隔を5に設定すると、5インチごとに格子線が1本引かれます。格子間隔を.25に設定すると、1定規単位ごとに4本の格子線が引かれます（たとえば前述の条件では、1/4インチごとに1本の格子線が引かれます）。
スナップポイント数	「格子当りのスナップポイント数」では、各格子線ごとに存在するスナップポイントの数を指定します。スナップポイントは、「表示」メニューの「格子指定」が設定されているときに、クリックアンドドラッグ・レイアウトで使用されます。たとえば、定規単位がインチに、格子間隔が1に、格子当りのスナップポイント数が8にそれぞれ設定されている場合、スナップポイントは1/8インチごとに配置されます。格子当りのスナップポイント数を2に設定すると、スナップポイントは1/2インチごとに配置されます。スナップポイントを格子線と一致させるには、この値として1を選択します。この機能を使用して、「格子間隔」オプションで定義される格子線よりきめの細かいスナップ格子を作成できます。 「その他」オプションを有効にし、「その他」テキスト・ボックスで値を入力すると、カスタムの間隔を指定できます。
単位	「単位」では、レイアウト・エディタ内に表示される定規に使用される計測単位を指定します。デフォルトの単位は、アクティブ・フォームに対して定義されている単位です。 この単位は、フォームの「座標システム」プロパティに示されています。


レイアウト設定

説明:

「レイアウト設定」ダイアログでは、「レイアウト・エディタ」作業領域のサイズとページ方向を指定します。

作業領域とは、「レイアウト・エディタ」ウィンドウ内で項目、グラフィック・テキストおよび画像を作成、操作するための領域です。作業領域のサイズは、「レイアウト・エディタ」ウィンドウの現行のサイズとは無関係です。つまり、作業領域は、そのウィンドウの内容領域より大きくも、または小さくもできます。作業領域が「レイアウト・エディタ」ウィンドウより大きい場合、ウィンドウをスクロールすれば、その作業領域の他の部分も表示できます。

このダイアログ・ボックスの内容:

レイアウト・サイズ	作業領域の高さと幅をインチまたはcmのいずれかで定義します。作業領域とは、各項目およびボイラープレート・オブジェクトの作成ができる、「レイアウト・エディタ」ウィンドウ内の領域のことです。格子線が表示されるとき、その格子の線は作業領域内部に表示されます。作業領域外で作成するオブジェクトは正しく表示されない場合があります。
ページ方向	「ウィンドウ印刷」コマンドを実行したときに印刷されるページの順序を指定します。ページ方向は左から右、または上から下に指示できます。
単位	「レイアウト・サイズ」フィールドで使用される計測単位を定義します。


「一般描画オプション」ダイアログ

説明:

「一般描画オプション」ダイアログでは、描画に関する全般的なオプションを設定します。

このダイアログ・ボックスの内容:

端形式	線の終点のレンダリング方法（「切り」、「丸め」または「伸ばし」）を指定します。
結合形式	矩形のコーナーのレンダリング方法（「丸め」、「斜め」または「角」）を指定します。
オブジェクト作成	グラフィックまたは項目ツールをクリック・ドラッグするときの新規オブジェクトの描画方法を指定します。新規オブジェクトの枠ボックスの角を最初にマウスでクリックする場合、「角から描画する」を選択します。新規オブジェクトの枠ボックスの中心を最初にマウスでクリックする場合、「中心から描画する」を選択します。
使用上の注意

選択された一般描画オプションは、現在選択されているオブジェクトに適用されるとともに、その後作成するオブジェクトに対するデフォルトの設定になります。


「円弧描画オプション」ダイアログ

説明:

「円弧描画オプション」ダイアログでは、円弧オブジェクトのデフォルトの外観を設定します。

このダイアログ・ボックスの内容:

円弧の形	円弧の塗り領域の描画方法を指定します。円弧で描かれた円の中心から塗り潰すには、「円グラフ」を選択します。円弧の2つの終点を結ぶ線セグメントから塗り潰すには、「弦型」を選択します。
円弧の閉じ	円弧を閉じた描画にするか、または開いた描画にするかを指定します。円弧オブジェクトの塗り領域を円弧の境界線で全体を囲むには、「閉じる」を選択します。円弧の境界線を円弧のみにするには、「閉じない」を選択します。
選択された円弧描画オプションは、現在選択されている円弧オブジェクトに適用されるとともに、後から作成する円弧に対するデフォルトの設定になります。

使用上の注意

塗り領域に透明パターンを適用すると、円弧の塗り領域を隠すことができます。


「テキスト描画オプション」ダイアログ

説明:

「テキスト描画オプション」ダイアログでは、テキスト・オブジェクトの表示に作用するオプションを設定します。

このダイアログ・ボックスの内容:

固定バウンディング・ボックス	このオプションがチェックされていると、「スケーラブルな境界線」オプションがチェックされている場合に、テキスト・オブジェクトの枠ボックスのサイズを、それに含まれるテキストとは無関係に調節できます。チェックされていない場合、テキスト・オブジェクトの枠ボックスは、テキストに合わせてそのサイズを変えます。
水平原点	テキスト・オブジェクトを水平に整列させる方法（「左」、「中央」または「右」）を指定します。
非表示テキスト	テキスト・オブジェクト内のテキストの表示または非表示を判別します。
スケーラブルな境界線	テキスト・オブジェクトの枠ボックスのサイズ変更ができるかどうかを判別します。このオプションは、「固定バウンディング・ボックス」オプションがチェックされていないときには使用不可になります。 「スケーラブルな境界線」オプションがチェックされているとき、枠ボックスが希望サイズになるまでクリックアンドドラッグすることにより、テキスト・ツールの付いたテキスト・オブジェクトを作成できます。テキスト・モードで入力されたテキストは、枠ボックスの中に収まるように必要に応じて折り返されます。
スケーラブル・フォント	オブジェクト自体のサイズを変更したときに、テキスト・オブジェクト内のテキストをそれに比例してスケーリングするかどうかを判別します。
垂直原点	テキスト・オブジェクトを垂直に整列させる方法（「上」、「中央」または「下」）を指定します。
丸め	「固定バウンディング・ボックス」オプションがチェックされているときに、テキスト・オブジェクト内のテキストを折り返して枠ボックス内に収まるようにするかどうかを判別します。
使用上の注意

テキスト描画オプションは現在選択されているテキスト・オブジェクトに適用されるとともに、後から作成するテキスト・オブジェクトに対するデフォルトの設定になります。


「丸い四角形描画オプション」ダイアログ

説明:

「丸い四角形描画オプション」ダイアログでは、次の各オプションを設定します。

このダイアログ・ボックスの内容:

角の丸め半径	ボイラープレートの角の丸い四角形オブジェクトの角を描画するときに、Form Builderが適用する丸め量を指定します。水平および垂直半径の両方をインチ、cmまたはポイント単位で指定できます。値が大きくなるほど、各角の丸め量が増加します。
単位	寸法の単位（インチ、センチメートルまたはポイント）を指定します。
使用上の注意

丸い四角形描画オプションは現在選択されている四角形オブジェクトに適用されるとともに、後から作成する四角形オブジェクトに対するデフォルトの設定になります。


「イメージ描画オプション」ダイアログ

説明:

「イメージ描画オプション」ダイアログでは、次の各オプションを設定します。

このダイアログ・ボックスの内容:

イメージの品質	Form Builderがイメージを表示する品質を指定します。イメージ品質が高ければ高いほど外観は向上しますが、画面の再描画が遅くなります。
イメージの粗さ	Form Builderがイメージのディザリングをするかどうか指定します。ディザリングは、イメージ内に表示されているものの、現在のカラー・パレットでは利用できないカラーをシミュレートするプロセスです。イメージのディザリングを行わない場合、イメージ内のカラーに最も近い変更可能なカラーがかわりに使用されます。ディザリング処理されたイメージは品質がよくなりますが、画面の再描画が遅くなります。


作業環境

「一般」タブ

ビルド前に保存

実行前にコンパイル

ヒント表示の抑止

システム・エディタの使用

カラー・パレット

カラー・モード

プリンタ

「アクセス」タブ

アクセス

サブクラス・パス

「ウィザード」タブ

前置きダイアログ

ウィザード前置きページ

「ランタイム」タブ

ファイルのバッファ・レコード

デバッグ・メッセージ

配列処理

SQL処理の最適化

トランザクション・モード処理の最適化

統計表示

ブロック・メニューの表示

問合せ専用モード

消音モード

HTMLファイル名


作業環境 - 「アクセス」タブ

アクセス

サブクラス・パス


作業環境 - 「ウィザード」タブ

前置きダイアログ

ウィザード前置きページ


作業環境 - 「ランタイム」タブ

ファイルのバッファ・レコード

デバッグ・メッセージ

配列処理

SQL処理の最適化

トランザクション・モード処理の最適化

統計表示

ブロック・メニューの表示

問合せ専用モード

消音モード

HTMLファイル名


モジュールについて

  関連項目

Form Builderアプリケーションは、モジュールと呼ばれる個々のアプリケーション・コンポーネントで構成されます。Form Builderには4タイプのモジュールがあります。

フォーム・モジュール	オブジェクトおよびコード・ルーチンの集合体。フォーム・モジュール内で定義できるオブジェクトには、ウィンドウ、テキスト項目（フィールド）、チェックボックス、ボタン、メッセージ・ボックス、値リストおよびトリガーと呼ばれるPL/SQLコードのブロックが含まれています。

メニュー・モジュール	メニュー（1つのメイン・メニュー・オブジェクトおよび任意数のサブメニュー・オブジェクト）およびアプリケーション・メニューをともに構成するメニュー項目コマンドの集合体。

PL/SQLライブラリ・モジュール	アプリケーション内の他のモジュールからコールできるユーザー命名プロシージャ、ファンクションおよびパッケージの集合体。

オブジェクト・ライブラリ・モジュール	アプリケーションの開発に使用できるオブジェクトの集合体。

複数のフォーム、メニューおよびライブラリ・モジュールから必要に応じて単一アプリケーションを構築できます。モジュールは、ファイル・システムまたはデータベースに保存でき、またバイナリ形式、テキスト形式およびコンパイル済み実行可能形式に変換できます。


モジュール・ファイル形式について

  関連項目

Form Builder内で作成したフォーム、メニューおよびライブラリのモジュールはバイナリ形式で格納され、ファイルまたはデータベースに保存でき、またプラットフォームを超えて移植できます。

バイナリ・モジュールをコンパイルするとき、Form Builderではプラットフォーム固有の実行ファイルが作成されます。またForm Compilerを使用して、プラットフォーム間で移植可能なテキスト・ファイルを作成することもできます。

次の表に、各タイプのモジュールおよび格納形式のファイル拡張子を示します。

モジュール	バイナリ（設計）	テキスト	実行可能な実行ファイル
フォーム	.FMB	.FMT	.FMX
メニュー	.MMB	.MMT	.MMX
PL/SQLライブラリ	.PLL	.PLD	.PLX, .PLL
オブジェクト・ライブラリ	.OLB	.OLT	NA

デフォルトのファイル拡張子は、モジュール・タイプおよび格納形式を示しています。

.FMB	フォーム・モジュール（バイナリ）
.FMT	フォーム・モジュール（テキスト）
.FMX	フォーム・モジュール（実行可能）
.MMB	メニュー・モジュール（バイナリ）
.MMT	メニュー・モジュール（テキスト）
.MMX	メニュー・モジュール（実行可能）
.PLL	PL/SQLライブラリ・モジュール（バイナリ）
.PLD	PL/SQLライブラリ・モジュール（テキスト）
.PLX	PL/SQLライブラリ・モジュール（実行可能） （ソース含まない）
.OLB	オブジェクト・ライブラリ・モジュール（バイナリ）
.OLT	オブジェクト・ライブラリ・モジュール（テキスト）


モジュールのコンパイルについて

  関連項目

アプリケーションを実行する前に、Form Builder内で作成した.FMB設計ファイルから実行可能な.FMXファイルをコンパイルしておく必要があります。フォームまたはメニュー・モジュールを生成すると、未コンパイルのプログラム単位でもコンパイルされ、実行可能なラン・ファイルが作成されます。

「実行前にコンパイル」作業環境が「はい」（デフォルト）に設定されていると、「プログラム」 [image] 「実行」コマンドを実行したとき、Form Builderは暗黙的にフォームをコンパイルします。フォームは、Form Builderやコマンド・ライン・インタフェースから明示的にコンパイルすることもできます。

フォームをコンパイルすると、Form Builderは、それが含んでいる未コンパイルのPL/SQLコードをコンパイルします。コンパイル・エラーが起こると、生成が失敗します。この場合、「生成エラー」ダイアログ・ボックスが表示され、状況に該当するエラー・メッセージが表示されます。デフォルトでは、コンパイル・コマンドを発行するたびに、現在未コンパイルとマークされているプログラム単位のみがForm Builderによってコンパイルされます。

複数のモジュールを持つアプリケーションが実行時に正常に実行されるようにするには、フォームによって使用されるすべての.FMX、.MMXおよび.PLXの各ファイルを配布する必要があるます。


ライブラリのコンパイルについて

  関連項目

フォームやメニュー・モジュールとは異なり、ライブラリ・モジュールは、別のラン・ファイルを作成するのに明示的なコンパイルは必要ありません。Form Builder内で使用する.PLLライブラリ・ファイルには、設計時に必要なソース・コードと実行時に必要なコンパイル済みの実行可能コードが含まれています。デバッガを使用してコンパイル済みプログラム単位内のソース・コードを表示するときは、ライブラリの.PLLバージョンが必要になります。

ライブラリがフォーム、メニューまたはForm Builder内の他のライブラリに連結されているときは、そのライブラリの.PLLバージョンも連結されます。Form Builderからそのアプリケーションを実行するには、そのライブラリ内のサブプログラムおよびパッケージがコンパイル済みかどうかのみを確認する必要があります（「モジュール内の全単位のコンパイル」を参照してください。）

アプリケーションを実行する準備ができたら、.PLLライブラリ・ファイルから.PLXライブラリ・ファイルをコンパイルできます。.PLXファイルには、.PLLファイルの一部であるソース・コード・コンポーネントが含まれません。.PLXファイルは、Form Builderまたはコマンド・ラインからコンパイルできます。

Form Builder内のモジュールにライブラリを連結するときは、ライブラリの.PLLバージョンを連結します。実行時、Form Builderではデフォルトの検索パス内でその名前の.PLXファイルを探します。.PLXファイルが見つからない場合、Form Builderはその名前の.PLLファイルを検索します。


座標システムについて

  関連項目

フォーム・モジュールについて選択された座標システムによって、そのフォーム内のオブジェクトのサイズと位置座標の指定時に使用される計測単位が定義されます。フォームの座標単位は、文字セルまたは実際の単位（センチメートル、インチ、ピクセルまたはポイント）のどちらかに設定できます。デフォルトの単位はポイントです。

オブジェクトのサイズおよび位置座標は、Form Builder内で実行時にプログラムによって指定されます。プログラムによってオブジェクトのサイズと位置を変更するときは、現行のフォーム座標単位で値が解釈されます。たとえば、ウィンドウにポイント用の座標単位がある場合、次のように、ビルトイン・プロシージャRESIZE_WINDOWをコールすることにより、ウィンドウをサイズ変更できます。

Resize_Window('my_window',20,25);

実行時、幅および高さの値（それぞれ20および25）は現行フォーム座標単位であるポイントとして解釈されます。


座標単位選択のガイドライン

  関連項目

アプリケーション・インタフェースの設計およびオブジェクトのキャンバス上への配置を始める前に、座標単位を設定することは大切です。座標単位を選ぶときには、そのアプリケーションが実行されるランタイム・プラットフォームを考慮してください。一般規則として、もしそのアプリケーションがGUIおよび文字モード・システムの両方で実行される場合は、文字セル単位を使用する必要があります。

アプリケーションがMicrosoft WindowsなどのGUIプラットフォーム上でのみ実行される場合には、ユーザーの座標システムはまず個人の作業環境によって異なります。アプリケーションを複数のGUIプラットフォームにまたがって配備する場合、またはプラットフォームは同じでもスクリーン・サイズや解像度が異なる場合、ピクセル座標単位は使用しないでください。


文字セル座標システムの使用について

  関連項目

文字セル単位でフォームを設計するときは、すべてのオブジェクトサイズおよび位置座標は、整数によって表される文字セルで表現されます。Form Builderではサイズおよび位置プロパティに整数のみが受け入れられ、次の整数に切り上げることを示します。たとえば、テキスト項目の幅プロパティ値を12.5文字に設定した場合、Form Builderでは幅プロパティ値を13文字セルに自動的に切り上げます。

「座標システム」が「文字セル」に設定されていると、フォームの「座標システム」プロパティでの「文字セル」（「幅」、「高さ」）プロパティは、現行の実際単位での文字セル・サイズを表示します。この文字セル・サイズは、設計時デバイスのデフォルト・フォントのサイズに基づいており、「文字セル」（「幅」、「高さ」）プロパティ値は編集できません。

レイアウト・エディタ内で文字セル単位で作業すると、特にマウスを使用して項目、グラフィック・テキストおよびイメージを描画および位置付けするときに、予期しない結果が出る場合があります。文字セルを効果的に使用すると、"格子指定"効果を生み出し、グリッドは文字セルの大きさにまで段階的に大きくなります。


実際単位座標システムの使用について

  関連項目

「文字セル」の「幅」、「高さ」フィールドの値では、実際の単位でデフォルト・フォントの寸法が表示されます。実際単位で設計中で、フォーム内にデフォルト・フォントを使用する計画であれば、テキストを表示する項目やボイラープレート・グラフィックスの作成時にこれらの寸法を覚えておくことをお薦めします。

実際単位で作業する場合、必ず、テキスト項目のバウンディング・ボックスが、テキスト項目に適用されているフォントのサイズと互換性があるようにしてください。また、プラットフォームによっては、オブジェクト境界線の存在がテキスト表示に変更可能な領域の量を減らしてしまうことがあります。たとえば、テキスト項目の「凹凸」プロパティを設定すると、その項目が表示できる文字数が減ってしまうことがあります。


座標システム単位の変換について

  関連項目

既存フォームの座標システムを変更すると、Form Builderは、すべてのオブジェクト・サイズおよびオブジェクト位置の値を新規計測単位に変換します。

異なる単位に変換するときには、多少の精度損失が出ることがあります。1つの実際単位から他の実際単位に変換するときの精度損失は、通常ほんのわずかです。しかし、実際単位から文字セルに変換することによって、フォームのレイアウトが変わる場合があります。Form Builderでは、すべての値を近似文字セル値に切り捨ててしまうため、インタフェース内のオブジェクトのサイズや位置が大きく変わってしまうことがあるからです。

注意: Form Builderでは、PL/SQLコード（トリガーやサブプログラムなど）で指定されたサイズまたは位置の指定は自動的に変換されません。Form Builderでは、座標単位のこれらの値は、実行時に有効になると解釈されます。

たとえば、座標システム単位にピクセルを指定して設計されたフォームの場合、フォーム上のテキスト・ボックスを3単位ごとに明示的に変更するPL/SQLコードを含んでいると、フォームの実際単位の座標システムがピクセルからインチに変わり、実行時のコードによってテキスト・ボックスの幅が3インチ単位で変更します。


デフォルト・フォント・スケールについて

  関連項目

「座標システム」プロパティの「デフォルト・フォント・スケール」フィールドは、文字セル座標システムの使用時にのみ適用されます。このフィールドはデフォルトでは「いいえ」に設定されます。 「はい」を設定した場合、Form Builderでは現行デバイス上のデフォルト・フォントのサイズに対して、すべてのサイズおよび位置寸法がスケーリングされます。

設計時と同じデバイスを実行時に使用する場合、「デフォルト・フォント・スケール」を「はい」に設定しても「いいえ」に設定しても、関係ありません。しかし、異なるランタイム・デバイス上でフォームを実行するときは、この「デフォルト・フォント・スケール」フィールドの設定で、サイズおよび位置寸法をランタイム・デバイスのデフォルト・フォントに対してスケーリングするのか、または「座標情報」メッセージ・ボックス内の「文字セル」の「高さ」と「幅」で指定されたサイズに対してスケーリングするのかが決定されます。

•	「デフォルト・フォント・スケール」が「はい」に設定されていると、Form Builderでは、デフォルトのランタイム・フォントのサイズに従ってオブジェクトのスケーリングが行われます。このように設定するとテキスト項目と他のオブジェクトが"大きく"および"小さく"なり、デフォルトのランタイム・フォントのサイズに対応できます。

•	「デフォルト・フォント・スケール」が「いいえ」に設定されていると、Form Builderでは、ランタイム・フォントが無視され、デフォルト設計時フォントのサイズに従ってオブジェクトがスケーリングされます。この結果、各項目およびボイラープレート・グラフィックスがデフォルトのランタイム・フォントとは無関係にスケーリングされるようにみえます。たとえば、テキスト項目が表示される文字よりも際立って大きくなったり小さくなったりする場合があります。


座標システムの指定

  関連項目

フォームの座標システムを指定する方法:

1	オブジェクト・ナビゲータで、フォーム・モジュールのオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

2	プロパティ・パレットで、「座標システム」プロパティをダブルクリックして、「座標システム」ダイアログ・ボックスを表示します。

3	文字セル単位を使用する場合は、「座標システム」プロパティを「文字」に設定します。実際単位を使用する場合は、「座標システム」プロパティを「実際単位」に設定し、「実際単位」ドロップダウン・リストから希望の単位を選択します。


実行可能な実行ファイル作成のためのモジュールのコンパイル

  次のステップヘ	    関連項目

Form Builderからのモジュールのコンパイル方法:

1	コンパイルするモジュールは必ずForm Builder内でオープンする必要があります。2つ以上のモジュールがオープンしている場合、コンパイルするモジュールを含むオブジェクトをどれか選択して、そのモジュールを現行のモジュールにしてください。

2	「ファイル」 [image] 「管理」 [image] 「ファイル・コンパイル」を選択します。

コンパイルが成功すれば、メッセージ"モジュールは正常にビルドされました。"がステータス・バーに表示されます。


モジュールの自動コンパイル

  関連項目

Form Builderから実行するときにフォームを自動的にコンパイルする方法:

1	「ツール」 [image] 「作業環境」を選択します。

2	「実行前にコンパイル」作業環境チェックボックスをチェックします（デフォルト設定）。

3	アクティブ・モジュールを生成し、実行するフォームを作成します。

4	「プログラム」 [image] 「フォーム実行」 [image] 「クライアント/サーバー」（またはWeb）を選択します。

Form Builderでは指示されたフォームを暗黙にコンパイルしてから、そのフォームが実行されます。

注意: 「実行前にコンパイル」作業環境が「はい」に設定されているときにフォームを実行すると、そのフォームに連結されているメニューまたはライブラリはコンパイルされません。メニューとライブラリのコンパイルは、「ファイル」 [image] 「管理」 [image] 「ファイル・コンパイル」コマンドを使用して明示的に行うことが必要です。


モジュール内の全単位のコンパイル

  関連項目

モジュール内のすべてのプログラム単位を明示的にコンパイルする方法:

1	モジュール、フォーム、メニューまたはオブジェクト・ナビゲータ内のPL/SQLライブラリをクリックします。

2	「プログラム」 [image] 「コンパイル」 [image] 「すべて」を選択します。


.PLLライブラリのコンパイル

.PLLライブラリのコンパイル方法:

Form Builderにおいて

1	オブジェクト・ナビゲータ内のライブラリを選択します。

2	「プログラム」 [image] 「コンパイル」 [image] 「すべて」を選択します。

- または -

Formsコンパイラで、次に示すとおり、module_typeオプションとcompile_allオプションを使用します。

ifcmp60 mylib.PLL [user ID/password] module_type=library compile_all=yes


モジュールの作成

  次のステップ	    関連項目

モジュールの作成方法:

1	オブジェクト・ナビゲータで、「フォーム」、「メニュー」、「ライブラリ」または「オブジェクト・ライブラリ」の中から、希望のノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。


モジュールのオープン

  関連項目

モジュールのオープン方法:

1	「ファイル」 [image] 「オープン」を選択して、「ファイル」または「データベース」ダイアログ・ボックスを表示します。

2	オープンするモジュールを選択し、「OK」をクリックします。

Form Builder内でオープンされたモジュールが、オブジェクト・ナビゲータの適切なノード（「フォーム」、「メニュー」、「ライブラリ」または「オブジェクト・ライブラリ」）に表示されます。


モジュールの保存

  関連項目

モジュールの保存方法:

「ファイル」 [image] 「保存」を選択します。

モジュールを新規保存する場合は、「ファイル」ダイアログ・ボックスまたは「データベース」ダイアログ・ボックスが表示され、ここでモジュールの名前を指定できます。既存のモジュールを保存する場合は、Form Builderによって、以前に保存されたバージョンが現在のバージョンで上書きされます。

注意: 一度に複数のモジュールを操作するとき、Form Builderによって、各モジュールへの変更が個別に追跡されます。「保存」コマンドを発行すると、現行のモジュールのみが保存されます。


モジュールのクローズ

モジュールのクローズ方法:

1	クローズするモジュール内のオブジェクトを選択します。

2	「ファイル」 [image] 「クローズ」を選択します。


モジュールの削除

データベースに格納されているモジュールの削除方法:

1	「ファイル」 [image] 「管理」 [image] 「削除」を選択します。

2	（オプション）「取出しリスト」を選択し、アクセス権のあるモジュールのすべてを表示します。

3	「削除」テキスト・ボックスに削除するモジュールの名前を入力するか、リストからモジュールを選択します。

4	「OK」ボタンをクリックすると、そのモジュールが削除されます。

注意: ファイル・システム内のモジュールを削除するには、ご使用のプラットフォームの所定のファイル・システム・コマンドを使用してください。


モジュールの改名

データベースに格納されているモジュールの改名方法:

1	「ファイル」 [image] 「管理」 [image] 「改名」を選択します。

2	（オプション）「取出しリスト」を選択し、アクセス権のあるモジュールのすべてを表示します。

3	「旧名」テキスト・ボックスに改名するモジュールの名前を入力します。

4	「新規名」テキスト・ボックスにそのモジュールの新しい名前を入力します。名前を入力するときに拡張子を組み込まないでください。

5	「OK」ボタンをクリックすると、そのモジュールが改名されます。

注意: ファイル・システム内のモジュールを改名するには、ご使用のプラットフォームの所定のファイル・システム・コマンドを使用してください。


モジュールの最終保存バージョンの変更の破棄

モジュールの最終保存バージョンの変更の破棄方法:

「ファイル」 [image] 「変更の破棄」を選択します。


クライアント/サーバー・モードでのフォームの実行

  次のステップ	    関連項目

クライアント/サーバー・モードでフォームを実行する方法:

1	フォーム・モジュール内の任意のオブジェクトを選択して、実行するフォーム・モジュールを現行モジュールにします。

2	「プログラム」 [image] 「フォーム実行」 [image] 「クライアント/サーバー」を選択します。

「実行前にコンパイル」作業環境がチェックされている場合、Form Builderでは、最初にフォームをコンパイルして.FMXファイルを作成し、次にForms Runtimeを使用してフォームを実行します。「実行前にコンパイル」がチェックされていない場合は、Forms Runtimeを使用してフォームを実行する前に、現在のフォームと同じ名前の.FMXファイルを検索します。


Webベースのフォームのプレビューについて

  関連項目

Web Previewerでフォームを実行すると、フォームはWebサーバー上にある場合と同じように表示され、動作します。実際にWebサーバーを使用する前に、Web PreviewerをWebフォームのテスト用ツールとして使用できます。すべてのWeb機能を使用でき、独自のアプレット・クライアント・パラメータを使用してフォームを実行するための基になるHTMLファイルを作成できます。基になる独自のHTMLファイルを使用すると、開発中に一貫して使用できる独自のWeb Previewerオプションを指定できます。

基になるHTMLファイルの作成方法を含め、Web上でのアプリケーション実行の詳細は、「アプリケーション構築のガイドライン」を参照してください。

Web Previewerは、現在のところMicrosoft Windowsプラットフォームでのみ使用できます。


Webベースのフォームのプレビュー

  関連項目

Web Previewerでフォームを実行する方法:

1	フォーム・モジュール内の任意のオブジェクトを選択して、実行するフォーム・モジュールを現行モジュールにします。

2	「プログラム」 [image] 「フォーム実行」 [image] 「Web」を選択します。

または

オブジェクト・ナビゲータまたはレイアウト・エディタの左側のペインにある、「Webでフォーム実行」ボタン [image] をクリックします。

「実行前にコンパイル」作業環境がチェックされている場合、Form Builderでは、最初にフォームをコンパイルして.FMXファイルを作成し、次にWeb Previewerを使用してフォームを実行します。「実行前にコンパイル」がチェックされていない場合は、Web Previewerを使用してフォームを実行する前に、現在のフォームと同じ名前の.FMXファイルを検索します。

「HTMLファイル名」作業環境を指定した場合、そのファイルは、Web Previewer内でのフォームの実行に使用されます。

注意: Web Previewerは、現在のところMicrosoft Windowsプラットフォームでのみ使用できます。


コマンド・ラインからのフォームの実行

  関連項目

コマンド・ラインからフォームを実行する方法:

「Forms Runtime」実行可能ファイルの名前（Microsoft Windows上ではIFRUN60）を入力し、それに適正なパラメータを続けます。

ifrun60 [module_name] [user ID/password] [parameters]

次に例を示します。

ifrun60 custform.fmx scott/tiger statistics=yes

プログラム・アイコンからフォームを実行する方法:

1	Microsoft Windowsの場合、「Forms Runtime」アイコンをダブルクリックします。

2	ダイアログ・ボックスで、実行するフォームの名前およびデータベース接続情報を入力します。

3	「OK」をクリックします。

注意: メニューおよびライブラリの実行ファイルは、フォームと切り離して実行することはできません。これらのファイルは、適切なプロパティを設定することにより、設計時にフォームに関連付けられています。フォームを実行するとき、Form Builderでは、フォームの実行時に、関連付けられたメニュー・ファイルおよびライブラリ・ファイル（.MMXおよび.PLLの各ファイル）が必要に応じてロードされます。


バイナリ形式からテキスト形式へのモジュールの変換について

  関連項目

Form Builderでは、モジュールをバイナリ形式からテキスト形式へ、またその逆への変換が可能です。たとえば、フォーム、メニューおよびライブラリのモジュールをバイナリ形式（.FMB、.MMB、.PLL）からテキスト形式（.FMT、.MMT、.PLD）に変換できます。モジュールのテキスト・バージョンは、オブジェクトおよびコードを記述した判読可能なファイルです。

モジュールを変換すると、モジュールの新規バージョンが作成され、現在のバージョンは変更されずにそのまま残ります。たとえば、バイナリ・フォーム・ファイル（.FMB）をテキスト・ファイル（.FMT）に変換したときでも、.FMTファイルと元の.FMBファイルはどちらも使用できます。

変換コマンドによって、Forms DeveloperのFormsコンパイラ・コンポーネントが起動します。

注意: .FMT、.MMTおよび.PLDの各ファイルの編集は、Oracleではサポートされません。


バイナリ形式からテキスト形式へのモジュールの変換

  関連項目

モジュールの変換方法:

1	「ファイル」 [image] 「管理」 [image] 「変換」を選択します。

2	変換するモジュールのタイプと名前を指定し、バイナリからテキストへの変換（.FMB [image].FMTなど）またはテキストからバイナリへの変換（.FMT [image].FMBなど）を指定します。

3	「変換」ボタンをクリックします。


「アクセス」作業環境の設定について

  関連項目

「アクセス」作業環境の設定により、モジュールを保存先にして、ファイル・システムまたはデータベースからロードできます。

デフォルトでは、「アクセス」作業環境は「ファイル」に設定され、Form Builderでは、ユーザーが、データベースではなくファイル・システムからモジュールをオープンするものと想定されます。データベースに格納されているモジュールにアクセスするには、「アクセス」設計作業環境を「データベース」または「要求」に設定する必要があります。

ファイル・システムまたはデータベースにモジュールをいったん保存すると、「アクセス」作業環境を変更しても、そのモジュールに対するそれ以降の保存操作について効果はありません。モジュールは常に、それが最後にオープンされたソースまたは最後に別名保存されたソースに保存されます。

「フィルタ」ダイアログ・ボックス 「アクセス」作業環境が「要求」に設定されていると、モジュールをオープンまたは保存するたびに、その位置（ファイル・システムまたはデータベース）およびモジュール・タイプの指定を求めるプロンプトが表示されます。「フィルタ」ダイアログ・ボックスには、次のオプションが含まれます。

オブジェクト・アクセス	モジュールを保存またはオープンするときに、Form Builderで「ファイル」ダイアログ・ボックスまたは「データベース」ダイアログ・ボックスを表示するかどうかを決定する。「データベース」または「ファイル・システム」のいずれかに設定します。
表示	モジュールを保存、オープン、改名または削除するときに表示される「ファイル」ダイアログ・ボックスまたは「データベース」ダイアログ・ボックスの中にどのファイル/モジュールを表示させるかを決定する。「すべてのファイル」、「フォーム」または「メニュー」のいずれかに設定します。


「アクセス」作業環境の設定

「アクセス」作業環境の設定方法:

1	「ツール」 [image] 「作業環境」を選択します。

2	「アクセス」タブをクリックします。

3	「アクセス」に「ファイル」、「データベース」または「確認」を設定します。

•	すべてのモジュールを保存し、ファイル・システムからロードするときは「ファイル」を選択します。

•	すべてのモジュールを保存し、データベースからロードするときには、「データベース」を選択します。

•	既存モジュールの保存またはオープン時ごとに「ファイル」か「データベース」かの指定を求める「フィルタ」ダイアログ・ボックスをForm Builderで表示させるときは、「確認」を選択します。

4	「OK」をクリックします。


非Oracleデータソースへのアクセス

  関連項目

Oracle Developerアプリケーションは、Oracle Open Client Adapter(OCA)を使用して任意のODBCデータソースに接続できます。次にリストするデータソースについて、特別な情報を提供します。

アクセスしたいデータソースをクリックします。

Personal Oracle Lite

Microsoft SQL Server(バージョン4.2、6.0および6.5)

Microsoft Access(バージョン2.0以降)

Oracle Rdb(バージョン5.1、6.1および7.0)

Sybase(SQL Serverバージョン4.9、システム10およびシステム11)

Tandem NonStop SQL

Informix(SEおよびオンライン・バージョン5.x、6.xおよび7.x)


Open Client Adapter(OCA)の使用準備

  関連項目

使用するシステムでOCAの使用を設定するには:

1	ネットワーク・ライブラリを含む、必要なサーバーおよびクライアント・ソフトウェアをインストールします。データベースを構築し、データベース・アカウントを作成し、ユーザーに適切なアクセス権限を付与します。Microsoft Accessのようなシングル・ユーザー、シングル・マシンのデータソースには、データベース・サーバーやデータベース・クライアントなどの概念はなく、特別なセットアップは必要ありません（ただし、データベース表を格納するためのデータベース・ファイルを作成する必要はあります）。

2	必要なODBCドライバをクライアント・マシンにインストールし、Microsoft ODBC Administrator(ドライバとともに自動的にインストールされます)を使用してデータソースを構築します。Intersolv社製のODBCドライバ(SQL ServerおよびRdb、Sybase、Informix、Ingres、その他の多数のデータベース用)は、インストレーションCDからインストールされます。MicrosoftやIBM、その他のODBCドライバ・ベンダー製のドライバも使用できます。


Personal Oracle Liteへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Personal Oracle Liteにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。このデータ・ディクショナリ・ビューにより、開発時に必要なデータベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Personal Oracle Liteデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Personal Oracle Liteへのアクセスの詳細は、oca_info.pdfを参照してください。


Init_Formは、form-levelを自動的に変更するOPENDBルーチンで、これによってフォームはODBCデータソースと対話できます。


OCA.PLLは、ディレクトリORACLE_HOME\ocaにあります。Form BuilderがOCA.PLLを見つけることができるように、レジストリ内の環境変数FORMS50_PATHに、ディレクトリORACLE_HOME\oca20を追加する必要があります。


Microsoft SQL Serverへのアクセス

  関連項目	  Open oca_info.pdfをオープンする

Microsoft SQL Serverにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Microsoft SQLサーバー・データソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Microsoft SQL Serverへのアクセスの詳細は、oca_info.pdfを参照してください。


Oracle Rdbへのアクセス

  関連項目 	  Open oca_info.pdf をオープンする

Oracle Rdbにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)OCA.PLLライブラリをアプリケーションに接続します。次に、OPENDB.Init_Formルーチンを含むPre-FormまたはWhen-New-Form-Instanceトリガーを作成します。

7	Oracle Rdbデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Oracle Rdbへのアクセスの詳細は、oca_info.pdfを参照してください。


Microsoft Accessへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Microsoft Accessにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	(オプション)SQLスクリプトを実行し、次に示すようにUBTユーティリティによりデモ表の作成とデータの挿入を行います。

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

6	Microsoft Accessデータソースに接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Microsoft Accessへのアクセスの詳細は、oca_info.pdfを参照してください。


Sybaseへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Sybaseにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Sybaseデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Sybaseへのアクセスの詳細は、oca_info.pdfを参照してください。


Tandem NonStop SQLへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Tandem NonStop SQLにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Tandem NonStop SQLデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Tandem NonStop SQLへのアクセスの詳細は、oca_info.pdfを参照してください。


Informixへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Informixにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Informixデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Informixへのアクセスの詳細は、oca_info.pdfを参照してください。


Open Client Adapter(OCA)について

  oca_info.pdfをオープンする

ODBC用のOracle Open Client Adapter(OCA)により、Microsoft Windows3.1、Windows95、Windows98、およびWindows NT上のアプリケーションで、ODBCドライバを使用してODBC準拠のデータソースにアクセスすることが可能になります。OCAでは、ODBCドライバがODBCのレベル1に準拠する必要があります。ODBCドライバにレベル2のODBC機能がある場合、OCAではその機能も使用してさらに高いパフォーマンスを実現します。

OCAを使用することにより一貫した方法で、アプリケーションで様々なデータソースにアクセスできます。これにより、アプリケーションの開発者は、複数のデータソースに対して修正を行わずに同じアプリケーションを実行することができます。逆に、そのアプリケーションの対象を特定のデータソースに固定し、そのシステム固有の特徴を利用することもできます。

OCAは、Oracle Installerによってインストールされ、すべての必要なファイルがORACLE_HOMEディレクトリにコピーされます。これらのファイルの1つが、oca.pllです。 oca.pllはPL/SQLのファンクション・ライブラリで、アプリケーションからこれを使用して次の操作ができます。

•	アプリケーションのメイン接続の他に、他のデータソースに対する補助接続をオープンします。

•	任意の接続に対し、任意のSQL文およびストアド・プロシージャ・コールを実行します。

•	Oracle以外のストアド・プロシージャから検索結果を取り出します。

•	DBMSおよびODBCドライバの名前とバージョンを取得します。

•	データソースに適合するように、実行時に「フォーム」および「データ・ブロック」プロパティを自動的に調整します。

これらの機能の詳細は、この項目の最上部の [image] ボタンをクリックしてください。

インストールされている他のファイルの詳細は、「リリース・ノート」を参照してください。


デフォルトでは、oca_info.pdfはORACLE_HOME\TOOLS\DOC60\USにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


UBTユーティリティについて

ODBC用のOracle Open Client Adapter(OCA)には、Universal Backend Tester(UBT)というSQL*Plusに似たユーティリティが含まれています。UBTにより、インタプリタ内またはコマンド・ファイルを使用してSQLコマンドを操作できます。

UBT実行プログラム(Windows NT、Windows95、およびWindows98ではUBT32.EXE、Windows3.1ではUBT.EXE)は、ORACLE_HOME\BINにインストールされます。

Oracle Client Adapaterの詳細は、oca_info.pdf(UBTユーティリティの情報を含む)を参照してください。


OCAリリース・ノートは、インストレーションCDのRELNOTES.TXT内に含まれています。


Personal Oracle Liteへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


これはアプリケーション開発用のオプションであり、実行時には必要としません。一部のデータベース(たとえば、Microsoft Access)では、データベース・カタログの情報の公開が不十分で、ビュー作成のサポートが不足しているために、データ・ディクショナリ・ビューを作成できません。この場合は、データベース・オブジェクトの名前を、リストから選択するのではなく、設計時に入力します。


次に示すPersonal Oracle Liteにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\POLITEにインストールされます。

polvudrp.sql	旧バージョンのビューを削除します。

polvubld.sql	必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:polite_ds @polvubld.sql


次に示すPersonal Oracle Liteにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\POLITEにインストールされます。

poldmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:polite_ds @poldmbld.sql


scott/tiger@ODBC:polite_ds


Microsoft SQL Serverへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


次に示すMicrosoft SQL Serverにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\SQLSRVにインストールされます。

sqsvudrp.sql	旧バージョンのビューを削除します。

sqsvubld.sql	SQL Serverバージョン4.2用で、必要なビューを作成します。

sqs60bld.sql	SQL Serverバージョン6.0用で、必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:sqlserver_ds @sqsvubld.sql


次に示すMicrosoft SQL Serverにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\SQLSRVにインストールされます。

sqsdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXEscott/tiger@ODBC:sqlserver_ds @sqsdmbld.sql


scott/tiger@ODBC:sqlserver_ds


Microsoft Accessへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


次に示すMicrosoft Accessにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\ACCESSにインストールされています。

accdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:access_ds @accdmbld.sql


scott/tiger@ODBC:access_ds


Oracle Rdbへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


次に示すOracle Rdbにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\RDBにインストールされます。

rdbvudrp.sql	旧バージョンのビューを削除します。

rdbvubld.sql	必要なビューを作成します。

rdbdual.sql	ビューを複式にします(SYSDATEをサポートするため)。


UBT32.EXE scott/tiger@ODBC:rdb_ds @rdbvubld.sql


次に示すOracle Rdbにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\RDBにインストールされます。

rdbdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:rdb_ds @rdbdmbld.sql


scott/tiger@ODBC:rdb_ds


Sybaseへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


Sybaseにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\SYBASEにインストールされます。

sybvudrp.sql	旧バージョンのビューを削除します。

sybvubld.sql	必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:sybase_ds @sybvubld.sql


Sybaseにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\SYBASEにインストールされます。

sybdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:sybase_ds @sybdmbld.sql


scott/tiger@ODBC:sybase_ds


Tandem NonStop SQLへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


Tandem NonStop SQLにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\NONSTOPにインストールされます。

nssvudrp.sql	旧バージョンのビューを削除します。

nssvubld.sql	必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:nonstop_ds @nssvubld.sql


Tandem NonStop SQLにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\NONSTOPにインストールされます。

nssdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:nonstop_ds @nssdmbld.sql


scott/tiger@ODBC:nonstop_ds


Informixへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


Informixにデータ・ディクショナリ・ビューとデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\INFORMIXにインストールされます。

infvudrp.sql	旧バージョンのビューを削除します。

infvubld.sql	必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:informix_ds @infvubld.sql


Informixにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\INFORMIXにインストールされます。

infdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:informix_ds @infdmbld.sql


scott/tiger@ODBC:informix_ds


トラブルシューティング

以前、Oracleに使用していたアプリケーションが、ODBCデータソースには使用できない場合、おそらく、ODBCかデータソースのいずれかの制限または限界を超えたことが原因と考えられます。

次に、OCAが発行するSQL文とODBCのドライバまたはデータベースが生成するメッセージを表示する手順を示します。

1	次のエントリが、Windows3.1のORACLE.INIファイル、またはWindows NT、Windows95およびWindows98のレジストリに設定されていることを確認します。

•	UB=ORACLE_HOME\OCA20

2	次のエントリを、Windows3.1のORACLE.INIファイル、またはWindows NT、Windows95およびWindows98のSOFTWARE\ORACLEの下にあるレジストリに追加します。

•	OCA_DEBUG_SQL=TRUE

•	OCA_DEBUG_ERROR=TRUE

3	ODBCデータソースに対してアプリケーションを実行し、デバッグ・ウィンドウにSQL文またはエラー・メッセージを表示します。「OK」をクリックして、デバッグ・ウィンドウをクローズし、処理を続けます。

4	エラーを解決できない場合は、サポート担当に問い合せてください。


OCAメッセージ

コード	メッセージの記述。

30000	一般的なOCAエラー。

30001	hostdefがNULLです。

30002	ファンクションがサポートされていません。

30003	接続文字列のユーザー名がNULLです。

30004	接続文字列のホスト名がNULLです。

30005	カーソルがすべて使用中です。

30006	解析ツリーの作成中にエラーが発生しました。

30007	SQL文がNULLです。

30008	メモリーの割当てに失敗しました。

30009	バインド変数の処理中にエラーが発生しました。

30010	OracleからODBCへのデータ型変換エラーです。

30011	ODBCからOracleへのデータ型変換エラーです。

30012	参照値をバインド中にエラーが発生しました。

30013	バインドするパラメータがありません。

30014	ホスト名が長すぎます。

30015	このデータソースではストアド・プロシージャはサポートされていません。

30016	このデータベースでは順序はサポートされていません。

30017	非Oracleデータベースへのログイン中にエラーが発生しました。

30018	ユーザー名またはパスワードが長すぎます。

30019	非Oracleのストアド・プロシージャの処理中にエラーが発生しました。

30020	ストアド・プロシージャの名前が抜けています。

30021	SQL文の準備または実行中にエラーが発生しました。

30022	列の取出し中にエラーが発生しました。

30023	結果セットのフェッチ中にエラーが発生しました。

30024	列記述子の取出し中にエラーが発生しました。

30025	結果セットの列数を取得中にエラーが発生しました。

30026	プロシージャ記述子の取出し中にエラーが発生しました。

30027	ODBC接続/文オプションの設定中にエラーが発生しました。

30028	コミットまたはロールバックでエラーが発生しました。

30029	列のバインド中にエラーが発生しました。

30030	パラメータのバインド中にエラーが発生しました。

30031	ドライバまたはデータベースについての情報の取出し中にエラーが発生しました。

30032	メモリーの解放中にエラーが発生しました。

30033	行ステータス・エラー。

30034	表が見つかりません。

30035	列が見つかりません。

30036	認可仕様が無効です。

30037	データソースを使用できません。

30038	列番号が無効です。

30039	バンドルされた演算子の組合せが不正です。

30040	カーソル・コンテキストが無効です。

30041	バインド変数がありません。

30042	データが見つかりません。

30043	フェッチされた列値がNULLです。

30044	フェッチされた列値が切り捨てられました。

30045	結果データを取出し中にエラーが発生しました。

30046	データソースの名前が指定されていません。

30047	トランザクション分離レベルがサポートされていません。

30048	配列のバインドはサポートされていません。

30049	ログオンされていません。

30050 	SQL文の解放中にエラーが発生しました。

30051	データのフェッチ中にエラーが発生しました。このデータソースをコミットした後に再度実行してください。

30052	実行時にパラメータ値が切捨てられました。

31000	一般的なODBCエラーが使用中のODBCドライバから戻されました。

エラーが発生して、アプリケーションでメッセージ・ファイルからのメッセージが読めない場合、次のエントリがWindows3.1のORACLE.INIファイル、またはWindows NT、Windows95およびWindows98のレジストリに設定されていることを確認してください。

•	UB=ORACLE_HOME\OCA20


PDFドキュメント

PDFドキュメントを表示するには、PDFビューアをインストールされたディレクトリから開始し、oca_info.pdfをオープンしてください。


オブジェクト・ナビゲータについて

オブジェクト・ナビゲータで、オープンされているすべてのモジュール内にあるオブジェクトを階層表示します。オブジェクトは、該当ノードの下にグループ化されます。たとえば、フォーム・モジュール内に定義されたウィンドウはすべて、「ウィンドウ」ノードの下に表示されます。この「ウィンドウ」ノードもまた、該当するフォーム・モジュール・オブジェクトの下に表示されます。

オブジェクト・ナビゲータの最上位ノードには、「フォーム」、「メニュー」、「ライブラリ」、「オブジェクト・ライブラリ」、「ビルトイン・パッケージ」および「データベース・オブジェクト」が含まれます。その他のノードおよびそれらが含むオブジェクトは、より高位のノードに属することを示すために、インデント表示されます。

オブジェクト・ナビゲータ内のオブジェクトおよびノードは、拡張されていれば「＋」記号、縮小されていれば「－」記号を付けて表示されます。下位レベルのオブジェクトを含んでいないノードには、「＋」「－」の記号は表示されません。下位レベルのオブジェクトをもつことのできない原子オブジェクトの前には黒丸が表示されます。

オブジェクト・ナビゲータ内のそれぞれのオブジェクトは、そのタイプを示すアイコンとともに表示されます。オブジェクトによっては、アイコンをダブルクリックすることで、そのオブジェクトのタイプに適したエディタが起動されるものもあります。たとえば、キャンバスのオブジェクト・アイコンをダブルクリックすると、レイアウト・エディタが起動されます。

オブジェクト・ナビゲータ内では次の操作ができます。

•	オブジェクトの検索がすばやくできるように項目を拡張および縮小します。

•	オブジェクトを選択します。

•	オブジェクトを作成および削除します。

•	モジュール内部およびモジュール間でオブジェクトをコピーおよび移動します。

•	ビューを切り替えて、作業するオブジェクトを表示します。

•	「検索」フィールドで入力した文字列を基準に、オブジェクトを高速検索します。

•	トリガーやプログラム単位などのオブジェクトに対応付けられたコードをすばやく表示します。

メニューおよびツールバーからオブジェクト・ナビゲータのコマンドを選択できます。ツールバーにより、各コマンドへのすばやいアクセスが可能です。実行するコマンドのアイコンを一度クリックします。ツールバー・コマンドのポップアップヒントを参照するには、マウスをクリックせずに、そのアイコン上にカーソルを移動してください。

ステータス情報

オブジェクト・ナビゲータによって、これらのフラッグを使用してプログラム単位のステータス情報が表示されます。

*   プログラム単位名の後に続くアスタリスクは、ライブラリが開かれてからプログラムが変更されたため、再コンパイルする必要があることを示します。

@   プログラム単位名の後に続くアット・マークは、ライブラリが開かれてからプログラムが変更されていないことを示します。


オブジェクト・ナビゲータの同期化について

オブジェクト・ナビゲータの同期は「オン」または「オフ」に設定できます。

「同期」が「オン」の場合、オブジェクト・ナビゲータおよびオープンしているレイアウト・エディタやメニュー・エディタは同じ現行の選択内容を維持します。たとえば、レイアウト・エディタのボタンを選択すると、そのボタンは、オブジェクト・ナビゲータ上でも自動的に現行の選択内容となります。同様に、オブジェクト・ナビゲータのメニュー項目を選択すると、その項目はメニュー・エディタでも現行の選択内容となります。

「同期」が「オフ」のときは、オブジェクト・ナビゲータまたはエディタ上でオブジェクトを選択しても、他のウィンドウの現行の選択内容は更新されません。

「同期」の「オン」と「オフ」を切り替えるには、「ナビゲータ」メニューの「同期化」オプションを使用します。

注意: デフォルトでは、プロパティ・パレットは現行の選択内容と常に同期化されます。同期の「オン」および「オフ」は、「プロパティ・パレット」ツールバー上の「固定解除」ボタンをクリックすることにより切り替えられます。プロパティ・パレットの停止は、2つの「プロパティ･パレット」ウィンドウを同時にオープンするときに有効です。つまり、2つの異なるオブジェクトのプロパティを並べて比較できます。


オブジェクト・ナビゲータ表示について

オブジェクト・ナビゲータでは、「所有者」（デフォルト）および「ビジュアル」のいずれかの表示方法でモジュールを表示できます。この表示によって、オブジェクト・ナビゲータ内に表示させるオブジェクトを決めたり、それらのオブジェクトの配置方法を決めたりできます。

所有者表示  所有者表示では、すべてのフォーム・オブジェクトが可視であり、表示階層は、Form Builderオブジェクトの所有者階層、すなわちフォーム-ブロック-項目に対応しています。項目およびリレーションの所有者はブロックであり、ブロックの所有者はフォームです。フォーム、ブロックまたは項目の所有者はトリガーです。その他のフォーム・オブジェクト（ウィンドウ、エディタ、レコード・グループなど）の所有者はフォームです。

ビジュアル表示  ビジュアル表示では、ウィンドウ、キャンバスおよび項目のみが表示されます。ビジュアル表示の階層構造は、フォーム・ウィンドウの階層構造、すなわちウィンドウ-キャンバス-項目に対応しています。項目はキャンバスに割り当てられ、キャンバスはウィンドウに割り当てられます。各ウィンドウは、複数のキャンバスを持ち、1つのキャンバスに複数の項目が存在することがありえます。

オブジェクト・ナビゲータが所有者表示になっているときは、フォーム項目は、それらが割り当てられているブロックの下にリストされます。オブジェクト・ナビゲータがビジュアル表示になっているときは、フォームの項目は、それらが表示されるキャンバスの下にリストされます。

フォームに、どのキャンバスにも割り当てられていない項目が入っている（項目の「キャンバス」プロパティが<NULL>に設定されているため）場合、それらの項目は「NULL-CANVAS」ノードの下に表示されます。ウィンドウに割り当てられていないキャンバスがある場合、それらは「NULL-WINDOW」ノードの下に表示されます。

PL/SQLのみ表示オプション「表示」 [image] 「PL/SQLのみ表示」を「オン」または「オフ」に設定します。デフォルトでは、このオプションは「オフ」になっており、すべてのオブジェクトが参照できます。「PL/SQLのみ表示」を「オン」に設定すると、コード・オブジェクト（トリガー、プログラム単位など）およびトリガーを付加できるオブジェクト（フォーム、ブロック、項目）以外のすべてのオブジェクトは隠されます。


オブジェクト・ナビゲータの表示

オブジェクト・ナビゲータの表示方法:

•	「ツール」 [image] 「オブジェクト・ナビゲータ」を選択します。


「オブジェクト・ナビゲータ」表示の変更

「オブジェクト・ナビゲータ」表示の変更方法:

•	オブジェクト・ナビゲータ内で「表示」 [image] 「所有者表示」または「ビジュアル表示」を選択します。


オブジェクト・ナビゲータ内でのオブジェクトのナビゲートと選択

オブジェクト・ナビゲータ内でカーソルを上下に移動させながら、オブジェクト・ナビゲータ項目を選択します。現在のエントリはノードか、実際のオブジェクトです。オブジェクトを選択すると、そのオブジェクトのプロパティがプロパティ・パレット上に表示されます。

キーによるオブジェクトの選択  次のキーを使用すると、オブジェクト・ナビゲータ内のオブジェクトをナビゲートおよび選択できます。

[上へ]	現行項目上に表示されている上のノードまたはオブジェクトを選択します。

[下へ]	現行項目の下に表示されている下のノードまたはオブジェクトを選択します。

[←]	現行項目上のレベルにあるノードまたはオブジェクトを選択し、縮小します。

[→]	縮小されている項目を必要に応じて拡張して、現行選択内容の下にあるレベルでノードまたはオブジェクトを選択します。そのようなオブジェクトがない場合には、カーソルのすぐ下の項目を選択します。

マウスによるオブジェクトの選択  マウスを使用してノードおよびオブジェクトが選択できます。

単一選択	マウスでクリックして、単一オブジェクト・ナビゲータ項目を選択します。他の項目を選択しないときには、カーソル位置は現行の単一選択を示します。

範囲選択	オブジェクト・ナビゲータ項目の範囲を[Shift]を押しながらクリックして選択します。[Shift]を押しながらクリックすると、カーソル位置と選択ポイント間にあるすべての項目が選択されます。範囲選択内のオブジェクトは同一タイプのものにしてください。

複数選択	複数のオブジェクト・ナビゲータ項目を[Ctrl]を押しながらクリックして選択します。[Ctrl]を押しながらクリックすると、オブジェクトをいくつでも選択できます。再度[Ctrl]を押しながらクリックすると、オブジェクトの選択が解除されます。

単一オブジェクトが選択されると、そのオブジェクトのプロパティがプロパティ・パレット上に表示されます。オブジェクト・ナビゲータで複数のオブジェクトが選択されると、プロパティ・パレットは、選択されたオブジェクトのプロパティの結合または分岐を表示します。

コンテキスト・リストによる選択  オブジェクト・ナビゲータ内を上下に移動することで、「オブジェクト・ナビゲータ」ウィンドウの一番上にある「コンテキスト」リストに、現在選択されているオブジェクト、最上位階層のオブジェクトおよびオープンされているすべてのモジュールの名前が表示されます。リスト内のオブジェクトを選択すると、オブジェクト・ナビゲータ内のそのオブジェクトに移動できます。


オブジェクト・ナビゲータ内のオブジェクトの拡張および縮小

ナビゲーション・キーと一緒にオブジェクト・ナビゲータの縮小および拡張用のコマンドを使用すると、作業するオブジェクトをすばやく探し出せます。オブジェクト・ナビゲータ内の項目を拡張すると、縮小状態のためにそれまで隠されていたオブジェクトが参照できるようになります。項目を縮小すると、拡張状態で参照可能であったオブジェクトが隠されます。

オブジェクト・ナビゲータ項目には、次のように、その項目が拡張されているか縮小されているかを示すプラス、マイナスまたは黒丸が項目前に付きます。

「+」（プラス）	この項目には、その項目が縮小状態であるため隠されている下位レベルのオブジェクトが含まれています。

「□」（グレー表示）	この項目には下位レベルのオブジェクトはまだ含まれていません。

「-」（マイナス）	この項目には、その項目が拡張状態であるため参照可能になっている下位レベルのオブジェクトが含まれています。

o（bullet）	この項目は、下位レベルのオブジェクトをもてない原子オブジェクトです。

選択済みのオブジェクト・ナビゲータ項目を拡張および縮小するには次のメニュー・コマンドを使用します。これらのコマンドは、現行選択内容の前に「+」または「-」が付いているときのみ有効です。

「ナビゲータ」 [image] 「拡張」	現在選択されているオブジェクトのすぐ下のレベルにあるオブジェクトを拡張します。ノードの前で「+」をクリックするのと同じ動作をします。
「ナビゲータ」 [image] 「縮小」	現在選択されているオブジェクトのすぐ下のレベルにあるオブジェクトを縮小します。ノードの前にある「-」をクリックするのと同じ動作をします。
「ナビゲータ」 [image] 「すべて拡張」	現行項目の下のすべての項目を拡張します。ノードの前の「+」を[Shift]を押しながらクリックするのと同じ動作をします。
「ナビゲータ」 [image] 「すべて縮小」	現行項目の下のすべての項目を縮小します。ノードの前の「-」を[Shift]を押しながらクリックするのと同じ動作をします。
オブジェクト・ナビゲータ項目の拡張または縮小は、その項目の前にある「+」（プラス）または「-」（マイナス）記号をクリックすればできます。

•	現行オブジェクトのすぐ下にあるレベルのオブジェクトを拡張するには、縮小項目の前にある「+」をクリックします。これは「拡張」コマンドと同じ動作を実現します。「すべて拡張」するには［Shift］キーを押しながらクリックします。

•	現行オブジェクトのすぐ下にあるレベルのオブジェクトを縮小するには、拡張項目の前にある「-」をクリックします。これは「縮小」コマンドと同じ動作を実現します。「すべて縮小」するには[Shift]キーを押しながらクリックします。

「拡張/縮小」対「すべて拡張/縮小」 「拡張」および「縮小」コマンドは、現行項目のすぐ下のレベルのエントリのみに影響します。それに対して、「すべて拡張」および「すべて縮小」コマンドは反復的に行われます。つまり、これらのコマンドは現行項目の下にあるすべてのレベルの項目を拡張または縮小します。

縮小項目を拡張した後、下位レベルのオブジェクトの中にはまだ隠されているものがあります。たとえば、フォーム・オブジェクトを「拡張」すると、そのフォーム内のすべてのブロックが参照可能になります。しかし、各ブロック内の項目（オブジェクト階層ではその次の下位レベルにある項目）は、それまでに縮小されていれば、隠されたままです。これに対して、「すべて拡張」すると、現行項目の下のすべてのレベルのすべてのオブジェクトおよびノードが参照可能になります。


オブジェクト・ナビゲータ内のオブジェクトの作成

オブジェクト・ナビゲータ内にオブジェクトを作成する方法:

1	作成するタイプのノードまたはオブジェクトのいずれかを選択します。

2	「ナビゲータ」 [image] 「作成」を選択するか、または「作成」ボタンをクリックします。

Form Builderでは、現行選択内容のすぐ後に新規オブジェクトが挿入されます。

たとえば、ウィンドウを作成するには、カーソルを「ウィンドウ」ノードに移動し、「ナビゲータ」 [image] 「作成」を選択します。複数のオブジェクトが選択されているときは、「作成」コマンドは使用できません。

ノードにオブジェクトが含まれておらず、そのため「□」で表示されている場合、「□」をダブルクリックすれば、そのタイプのオブジェクトを作成できます。


オブジェクト・ナビゲータ内のオブジェクトの削除

オブジェクト・ナビゲータ内のオブジェクトを削除する方法:

1	削除するノードまたはオブジェクトを選択します。

2	「編集」 [image] 「カット」を選択します。

「カット」では、クリップボード上にそのオブジェクトが配置され、その後、他のモジュールにペーストできます。

注意: 現行選択内容がオブジェクトではなくノードの場合、「カット」を選択すると、そのノードの全てのオブジェクトを削除します。現行選択内容がモジュールであれば、「カット」を選択すると、そのモジュールがクローズされます。


オブジェクト・ナビゲータ内のオブジェクトの名前の変更

オブジェクト・ナビゲータ内のオブジェクトの名前の変更方法:

1	クリックまたは矢印キーでナビゲートすることによりオブジェクトを選択します。

2	その名前をクリックします。名前がハイライト表示され、カーソルがI型のカーソルに変わります。

3	希望する名前に編集し、[Return]を押します。

オブジェクトを選択し、プロパティ・パレットでその「名前」プロパティを設定しても、オブジェクト名を変更できます。

注意: オブジェクト・ナビゲータ内の「PL/SQLライブラリ」モジュールの名前は変更できません。その代わりに、「別名保存」メニュー・コマンドで希望する名前を指定して保存してください。


オブジェクト・ナビゲータ内のオブジェクトの移動およびコピー

次のコマンドを使用して、オブジェクト・ナビゲータ内のモジュール間で移動およびコピーができます。

•	現行選択内容を移動するには、それを希望する宛先にドラッグします。または、「編集」 [image] 「カット」を選択し、希望の宛先にカーソルを移動し、次に「編集」 [image] 「ペースト」を選択します。

•	現行選択内容をコピーするには、選択内容を希望する位置に[Ctrl]を押しながらドラッグします。または、「編集」 [image] 「コピー」を選択し、カーソルを希望する位置に移動し、次に「編集」 [image] 「ペースト」を選択します。

•	ノード内のすべてのブロックをカットまたはコピーするには、カーソルをそのノードに置き、次に「編集」 [image] 「カット」、または「編集」 [image] 「コピー」を選択します。

コピー先/移動先の制限  オブジェクト・ナビゲータ内のオブジェクトを移動およびコピーするとき、次の制限が適用されます。

•	オブジェクトはモジュール間でコピーできますが、モジュール間の移動はできません。

•	オブジェクトは、モジュール階層内の所定の位置にドラッグまたはペーストする必要があります。たとえば、所有者表示では、ブロックによって所有されている項目は、他のブロックの下のみにコピーできます。同様に、「パラメータ」ノードの下ではウィンドウ・オブジェクトのドラッグはできません。そのような操作は非論理的となるからです。

オブジェクト・ナビゲータ内の無効ノードの下でオブジェクトをドラッグすると、移動できないことを示すマウスアイコンが表示されます。

•	複数選択したものは、同一タイプのオブジェクトのみに移動できます。

オブジェクト所有権のコピー/移動操作への影響 オブジェクトを移動またはコピーすると、そのオブジェクトが所有するオブジェクトも移動またはコピーすることになります。たとえば、ブロックをコピーすると、そのブロックに付加されているトリガーも、そのブロックが所有する各項目も、そしてそれらの項目に付加されているトリガーもコピーされます。

オブジェクト所有権とオブジェクト間に存在する単純結合を区別することが重要です。たとえば、キャンバスはウィンドウに表示され、各キャンバスは設計時に特定のウィンドウに割り当てられます。しかし、ウィンドウはキャンバスを所有しません。どちらのオブジェクトもフォームによって所有されます。ウィンドウとキャンバスは、キャンバスの「ウィンドウ」プロパティを設定することで関係付けられます。

オブジェクトを移動またはコピーすると、そのオブジェクトが所有するオブジェクトのみが移動またはコピーされます。フォーム・モジュール内では、項目およびリレーションはブロックに属するというオブジェクト所有権のルールがあります。トリガーは項目、ブロックまたはフォームに属することができます。それ以外のすべてのオブジェクトはフォームに属します。

メニュー・モジュールの所有権のルールは、もっと単純です。つまりメニュー項目はメニューに属し、メニューはメニュー・モジュールに属します。その他のオブジェクトは、すべてメニュー・モジュールに属します。

PL/SQLライブラリ・モジュールには、サブプログラムおよびパッケージのみが含まれており、それらはすべてライブラリ・モジュールに属しています。


高速検索によるオブジェクト・ナビゲータ項目の検出

オブジェクト・ナビゲータの高速検索機能を使用して、オブジェクト・ナビゲータでオブジェクトとノードをすばやく突き止めることができます。検索を開始するには、「オブジェクト・ナビゲータ」ウィンドウの一番上の「検索」フィールドに検索する文字列を入力します。各文字を入力するにつれ、Form Builderはカーソルを、正規表現<検索文字列>*に一致する次のオブジェクト・ナビゲータのエントリに移動します。*は任意の文字列を表します。

たとえば、カーソルが「フォーム」ノード上にある場合、「検索」フィールドに文字Aを入力すると、カーソルは、「Alerts」ノードなど、Aで始まる最初の項目にカーソルが移動します。ユーザーが入力した次の文字がCであると、カーソルは、ACCOUNT_REPなど、ACで始まる最初の項目に移動します。

必要に応じて、Form Builderでは縮小項目を拡張して、探索文字列に一致するオブジェクトを表示します。

次の検索コマンドは、オブジェクト・ナビゲータ内で変更可能です。

文字入力	検索を開始または継続し、「検索」フィールドに入力された文字列に一致する文字で始まる次の項目にカーソルを移動します。

順方向検索	検索文字列が入力されると、現行項目から、検索文字列に一致する次の項目のアウトラインの最後まで検索します。

逆方向検索	検索中に、現行項目から、検索文字列に一致する次の項目のアウトラインの最初まで検索を行います。

検索は循環的に行われます。項目が検出されないと、Form Builderでは、階層の最初または最後に折り返し、その検索基準に一致するオブジェクトの検索が継続されます。


オブジェクト・ナビゲータ内でのブックマーク設定

「ブックマーク追加」および「ブックマークへジャンプ」コマンドを使用すると、オブジェクト・ナビゲータ内の項目にブックマークが付き、後でマーク箇所に戻ることができます。ノード（ブロック、トリガーなど）またはオブジェクト（CUST、ORDなど）にはブックマークを付けることができます。

ブックマークを設定するには、カーソルを希望の項目に移動し、「ナビゲータ」 [image] 「ブックマーク追加」を選択します。

ブックマークが設定されると、オブジェクト・ナビゲータおよび必要に応じて他のウィンドウで作業できます。マークされた項目に戻る場合は、「ナビゲータ」 [image] 「ブックマークへジャンプ」を選択します。必要に応じて、項目が拡張され、ブックマーク設定項目が表示されます。

ブックマークは、次に示す作業が行われるまで設定状態となります。

•	「ナビゲータ」 [image] 「ブックマーク追加」で新規ブックマークを設定します。

•	ブックマークが設定されたオブジェクトを削除します。

•	ブックマークを含むモジュールをクローズします。

•	Form Builderを終了します。

ペイン分割機能を使用中は、各ペインにブックマークを設定できます。ペイン1つにつき、1つのマークを設定できます。


オブジェクト・ナビゲータ内の分割ペインでの作業

「オブジェクト・ナビゲータ」ペインの分割方法:

1	水平スクロールバーの左の黒い線をクリックします。分割バー上にカーソルを移動すると、マウス・カーソルの形が変わります。

2	この分割バーを、「オブジェクト・ナビゲータ」ペイン内の好きな位置にドラッグします。

分割バーを追加することにより、最大8つの分割面を作成できます。各面にもスクロールバーが付きます。「オブジェクト・ナビゲータ」ペインを分割すると、分割されたペインは反対方向に分割できません。

分割バーを削除するには、それを「オブジェクト・ナビゲータ」ペインの外にドラッグしてください。


オブジェクト・ナビゲータのクローズ

オブジェクト・ナビゲータのクローズ方法:

•	「ファイル」 [image] 「クローズ」を選択します。


プロパティ･パレット･トピック

プロパティ･パレットについて

プロパティ･パレットの表示

プロパティ･パレット内のツールバー･コマンド


プロパティ・パレットについて

プロパティ・パレットで、フォームおよびメニュー・モジュール内に作成するオブジェクトのプロパティを設定します。

エディタまたはオブジェクト・ナビゲータ内のオブジェクトを選択すると、プロパティ・パレットが更新されて、そのオブジェクトのプロパティが表示されます。デフォルトでは、パレット内のプロパティのリストは、異なるオブジェクトを選択するたびに、同期して更新されます。「プロパティ・パレット」ツールバー上の「固定解除」ボタンをクリックすると、特定パレットの同期化を「オン」または「オフ」にできます。

2つのオブジェクトのプロパティを比較する必要がある場合には、必要に応じて他の「プロパティ･パレット」ウィンドウを表示できます。

プロパティ・パレットには次の機能があります。

プロパティ・リスト

プロパティ・リストは、プロパティ名およびプロパティ値の2列からなるリストです。オブジェクトが選択されていないときは、このリストにプロパティは表示されません。リスト内のプロパティは、クリックするか、上/下矢印キーで選択できます。プロパティ・リスト内のプロパティの設定は、そのプロパティを選択し、必要に応じて入力またはダブルクリックします。

名前

名前フィールドには、オブジェクト・ナビゲータまたはエディタ内で現在選択されているオブジェクトの名前が表示されます。オブジェクトが選択されていないときには複数のオブジェクトが同時に選択されているときには、「複数選択されています」が表示されます。

プロパティ制御の設定

プロパティ・リスト内でプロパティが選択されると、テキスト・フィールドまたはポップリスト、「詳細」ボタンが、次のようにプロパティの横に表示されます。

テキスト値の入力により設定するプロパティにはテキスト・フィールドが表示されます。もっと長いテキスト値が必要なプロパティのために、テキスト・フィールドの隣りにモーダル・エディタを表示するアイコン・ボタンがあります。

「はい」か「いいえ」のいずれかで設定されるプロパティや決められた有効範囲をもつプロパティについては、ポップリストが表示されます。ダブルクリックを繰り返すことにより、それぞれの値が循環します。

現行プロパティがもっと複雑な値を必要とする場合には、「詳細」ボタンが表示されます。このボタンを選択すると、必要情報を入力するためのダイアログが表示されます。


プロパティ・パレットの表示

プロパティ・パレットの表示方法:

•	「ツール」 [image] 「プロパティ・パレット」を選択します。

または

•	オブジェクト・ナビゲータで、コード・オブジェクトおよびキャンバスを除くオブジェクトのオブジェクト・アイコンをダブルクリックします。プロパティ・パレットがすでに表示されている場合、ダブルクリックすると、プロパティ・パレットが他のウィンドウの上に表示されます。

2番目のプロパティ・パレットを起動するには、そのオブジェクト・アイコンを［Shift］を押しながらダブルクリックします。

または

•	レイアウト・エディタで、項目をダブルクリックします。

または

•	希望するオブジェクトを選択し、右マウス・ボタンで表示されるポップアップ・メニューから「プロパティ･パレット」を選択します。


プロパティ・パレット内のツールバー・コマンド

  関連項目

ツールバーにより、各コマンドへのすばやいアクセスが可能です。実行するコマンドのアイコンを一度クリックします。

プロパティのコピー	プロパティ・パレット内に現在選択されているプロパティ設定をクリップボードにコピーします。

プロパティ・ペースト	クリップボードのプロパティ設定を、プロパティ・パレット内のプロパティ・リストにペーストします。クリップボード上にあってもプロパティ・リスト内にないプロパティは無視されます。

プロパティを追加	プロパティ・クラスに追加されるプロパティを選択できる値リスト（LOV）を表示します。このコマンドは、現行の単一選択がプロパティ・クラス・オブジェクトである場合のみ、変更可能です。

プロパティを削除	プロパティ・リスト内で現在選択されているプロパティを削除します。このコマンドは、現行の単一選択がプロパティ・クラス・オブジェクトである場合のみ、変更可能です。

プロパティ・クラス	パレットに現在表示されているプロパティのリストからプロパティ・クラスを作成します。新規プロパティ・クラス・オブジェクトは、オブジェクト・ナビゲータ内の「プロパティ・クラス」ノードの下に挿入され、デフォルト名が割り当てられます。

継承	現行プロパティをそのデフォルト設定に設定します。プロパティがプロパティ・クラスに基づいている場合には、このデフォルト設定がクラス内で定義される設定となります。現行プロパティ・リストがプロパティ・クラスに基づくものでない場合、または現行プロパティを含まないクラスに基づく場合には、「継承」でそのプロパティをデフォルト値に設定します。（「継承」はそのプロパティを、文字列値についてはForm Builderのデフォルトに設定しますが、ダイアログ内で設定されたものなど、複雑な値についてはForm Builderのデフォルトを設定しません。

論理積/論理和	プロパティ・パレットを、「論理和」モードと「論理積」モードの間で切り替えます。このオプションは、2つ以上のオブジェクトが同時に選択されているとき（複数選択内容）、どちらのプロパティを表示させるかを決定します。「論理積」モード（デフォルト設定）では、選択されたすべてのオブジェクトが共通してもつプロパティのみが表示されます。「論理和」モードでは、現行の選択内容すべてのオブジェクトのプロパティが表示されます。

固定/固定解除	プロパティ・パレットの同期化を「オン」または「オフ」に切り替えます。「固定」が「オフ」（デフォルト設定）の場合、プロパティ・リストは、オブジェクト・ナビゲータおよび他のウィンドウ内でユーザーが選択するオブジェクトのプロパティを表示するよう更新されます。「固定」が「オン」の場合には、プロパティ・リストは固定され、更新されないので、他のプロパティ・リストとの比較が可能です。


プロパティ・パレットのクローズ

プロパティ・パレットのクローズ方法:

•	「ファイル」 [image] 「クローズ」を選択します。


レイアウト・エディタについて

レイアウト・エディタは、フォーム内のインタフェース項目および図形オブジェクトの作成および配置を行うための図形設計機能です。レイアウト・エディタでは、単一のキャンバスで作業します。キャンバスは実行時にウィンドウに表示されます。キャンバスの「ウィンドウ」プロパティの設定により、キャンバスを表示するウィンドウを指定できます。

レイアウト・エディタ・コンテキスト  レイアウト・エディタのタイトル・バーには、現行フォームの名前、編集中のキャンバスの名前、現行ブロックの名前などの、コンテキスト情報が表示されます。レイアウト・エディタ内のキャンバスに描画して項目を作成すると、その項目が「レイアウト・エディタ」ブロック・コンテキストで指示されたとおり、現行ブロックに割り当てられます。「レイアウト・エディタ」ブロック・コンテキストの変更は、ツールバー上の「ブロック」ポップリストを使用して行います。

定規  作業領域の最上部にある水平定規および左側の垂直定規で、レイアウト・エディタのオブジェクトのサイズ設定および配置の基準が提供されます。定規を隠すには、「表示」メニュー上の「定規」オプションを「オフ」にします。

レイアウト・エディタ定規単位は、文字セル、インチ、センチメートルまたはポイントに設定できます。「定規設定」ダイアログを表示するには、「書式」 [image] 「レイアウト・オプション」 [image] 「定規」を選択します。

格子  オブジェクトの配置に役立てるため、作業領域内に格子が定義されています。この格子は、現行の定規単位で示されます。格子線を隠すには、「表示」メニュー内の「格子」オプションを「オフ」にします。

定規ガイド  定規ガイドは水平または垂直の点線で、キャンバス上にオブジェクトを整列させる際の基準として使用します。定規ガイドを作成するには、どちらかの定規にポインタを置き、作業領域内にドラッグしてください。定規ガイドは実行時には表示されません。

定規ガイドを移動するには、それを他の場所にドラッグします。定規ガイドを削除するには、それを作業領域外にドラッグします。定規ガイドを削除せずに一時的に隠すには、「表示」メニュー内の「定規ガイド」オプションを「オフ」にします。

ステータス行  「レイアウト・エディタ」ウィンドウの一番下にあるステータス行には、次の情報が表示されます。

•	絶対マウス位置

•	マウス・ドラッグ距離（オブジェクトの作成/移動時）

•	回転角度（現行選択内容の回転時）

•	拡大/縮小レベル

注意: レイアウト・エディタでは、次のオブジェクトの消去、カット、コピー、複製、エクスポートはできません。

•	キャンバス・オブジェクト（「表示」 [image] 「キャンバスを表示」オプションが「オン」の場合）

•	ビュー四角形（「表示」 [image] 「ビューを表示」オプションが「オン」の場合）

•	ブロック・スクロールバー


レイアウト・エディタの表示

レイアウト・エディタの表示方法:

•	「ツール」 [image] 「レイアウト・エディタ」 を選択し、作業するキャンバスを選択します。

•	フォームに選択したキャンバスが複数ある場合、Form Builderは値リスト（LOV）を表示するので、そこから編集するキャンバスを選択します。

•	フォームにキャンバスが1つのみある場合、Form Builderは自動的にレイアウト・エディタでそれを表示します。

•	フォームにキャンバスがない場合、Form Builderはデフォルトのキャンバスを作成します。

または

•	オブジェクト・ナビゲータで、編集するキャンバスのオブジェクト・アイコンをダブルクリックします。

または

•	オブジェクト・ナビゲータで、ポップアップ・メニューから「レイアウト・エディタ」を選択する。（Microsoft Windowsでは、マウスの右ボタンをクリックすると、ポップアップ・メニューが表示されます。同時に複数のレイアウト・エディタをオープンできます。

また、必要に応じてレイアウト・エディタ間でオブジェクトをコピーし、ペーストできます。


レイアウト・エディタ・ツール・パレット

ツール・パレットには、次のタイプのツールが含まれます。

•	レイアウト・ツール

•	図形描画ツール

•	項目描画ツール

•	塗り/線/テキストカラー・パレット

項目およびグラフィック・オブジェクトの作成および操作には、レイアウト・エディタのツールを使用します。「選択」ツールがデフォルト・ツールです。これを使用すると、オブジェクトおよびグループを選択および操作できます。他のツールをアクティブにするには、このツール・パレット内の該当するアイコンをクリックします。

ツールをクリックすると、それが単一操作のアクティブ・ツールとなり、そのアイコンの境界線がハイライト表示されます。ツール・アイコンをダブルクリックすると、そのツールをデフォルト・ツールとして固定し、アイコンがその固定状態を表示するように変わります。

ツールのポップアップヒントを表示するには、マウスをクリックせずにカーソルをそのアイコン上に移動します。


レイアウト・エディタ内の他のキャンバスビューへの切替え

レイアウト・エディタで別のキャンバスを表示する方法:

•	「キャンバス」ポップリストから、特定のキャンバスを選択します。

「キャンバス」ポップリストには、現行フォームで定義されたすべてのキャンバスが表示されます。


レイアウト・エディタのクローズ

レイアウト・エディタのクローズ方法:

•	「ファイル」 [image] 「クローズ」を選択します。


PL/SQLエディタについて

PL/SQLエディタで、コード・オブジェクトの入力およびコンパイルを行います。Form Builder内のコード・オブジェクトには、イベント・トリガーおよびサブプログラム（ファンクションおよびプロシージャ）、メニュー項目コマンド、メニュー起動コード、パッケージが含まれます。


PL/SQLエディタの表示

PL/SQLエディタの表示方法:

「プログラム」 [image] 「PL/SQLエディタ」を選択します。

または

•	オブジェクト・ナビゲータ内で、コード・オブジェクトのオブジェクト・アイコンをダブルクリックします。

PL/SQLエディタの表示中にトリガーまたはプログラム単位のアイコンをダブルクリックすると、エディタがそのオブジェクトに同期します。そのオブジェクトに他のPL/SQLエディタを起動するには、[Shift]キーを押しながらダブルクリックします。


PL/SQLエディタ・コンテキスト

PL/SQLエディタの一番上にある「タイプ」および「オブジェクト」ポップリストで、現行オブジェクト・コンテキストを定義します。「名前」ポップリストは、コンテキストに定義されるすべてのコード・オブジェクトをリストします。

PL/SQLエディタを起動すると、現在選択されているオブジェクトが、コード・オブジェクトか、コード・オブジェクトが関連づけられているオブジェクトである場合、PL/SQLエディタはそのオブジェクトに同期して更新されます。現行コンテキストにコード・オブジェクトが定義されている場合、PL/SQLエディタ内に表示されます。コード・オブジェクトが定義されていない場合には、「名前」ポップリストはブランクとなり、「作成」ボタンをクリックすると新しいコード・オブジェクトを作成できます。

コンテキストを別のコード・オブジェクトに切り替えるためには、「タイプ」、「オブジェクト」および「名前」ポップリストから選択します。また、新しいコードオブジェクトを作成するためには「作成」ボタンをクリックします。

タイプ  エディタ・コンテキストを特定タイプのコード・オブジェクトに設定します。現行モジュールがフォームのとき、「タイプ」は「トリガー」、「プログラム単位」、「メニュー項目コード」に設定できます。現行モジュールがメニューのとき、「タイプ」は「メニュー起動コード」または「メニュー項目コード」、「プログラム単位」に設定できます。現行モジュールがライブラリのときは、「タイプ」は常に「プログラム単位」になります。

オブジェクト  エディタ・コンテキストを特定のオブジェクト有効範囲に設定します。「タイプ」が「トリガー」に設定されているときは、最初のポップリストで「フォーム・レベル」を選択して、オブジェクト有効範囲をフォームに設定します。エディタ・コンテキストを特定ブロックに設定するには、最初の「オブジェクト」ポップリストでそのブロックの名前を選択します。エディタ・コンテキストを項目に設定するには、最初の「オブジェクト」ポップリストでその項目を含むブロックを選択し、次に2番目のポップリストでその項目を選択します。

現行モジュールがメニューのときは、「タイプ」を「メニュー項目コード」に設定し、次にその項目を最初の「オブジェクト」ポップリストで表示するメニューを選択し、さらに「名前」のポップリストでそのメニュー項目を選択することにより、メニュー項目PL/SQLのコマンドを編集できます。

名前  「名前」オプションは、現行コンテキストで定義されているすべてのコード・オブジェクトをリストします。「名前」ポップリストからコード・オブジェクトを選択すると、そのオブジェクトがエディタ上の現行オブジェクトになります。たとえば、コンテキストが項目レベルのトリガーに設定されている場合、「名前」ポップリストにはその項目に付加されているすべてのトリガーが表示されます。特定トリガーを表示するには、「名前」ポップリストからそれを選択します。

エディタ・コンテキストが「プログラム単位」に設定されているときは、「名前」ポップリストでは、現行モジュールに定義されているすべてのサブプログラムおよびパッケージが表示されます。


PL/SQLエディタ・コマンド

コンパイル 	コードをコンパイルします。コンパイラにより、構文エラー、意味エラーを検出し、存在しないオブジェクト、プロシージャおよびファンクションが参照されます。コンパイルに成功すると、ステータス行には、メッセージ<Successfully Compiled>が表示されます。

変更の破棄	エディタの起動または最後の「変更の破棄」操作以降にコードに加えられた変更内容を元に戻します。コードに変更が加えられていないときは、「変更の破棄」ボタンが使用不可になります。

作成	現行コード・オブジェクトと同じタイプおよび範囲の新規コード・オブジェクトを作成します。たとえば、現行オブジェクトが項目に付加されたトリガーである場合、「新規作成」を選択すると「トリガー」リスト値が表示され、その項目に新規トリガーを作成できます。現行オブジェクトがプログラム単位のときは、「作成」を選択すると「新規プログラム単位」ダイアログ・ボックスがコールされます。

削除	現行コード・オブジェクトを削除し、PL/SQLエディタを有効範囲にある同一タイプの次のオブジェクトに同期して更新します。

クローズ	PL/SQLエディタをクローズします。

ヘルプ	ヘルプ・トピックを表示します。

エラーメッセージをクリック	カーソルを、ソース・コード・ペイン内で検出されたエラーの行に移動します。

メッセージ・ペイン  現行プログラム単位をコンパイルするときにエラーが発生すると、コンパイル・メッセージを表示します。

ステータス・バー  現行コード・オブジェクトに関するステータス情報を表示します。ステータス<Not Modified|Modified>は、未保存の変更が保留中になっているかどうかを示します。ステータス<Not Compiled|Successfully Compiled|Compiled with Errors>は、現在のコンパイル状態を示します。


PL/SQLエディタのクローズ

PL/SQLエディタのクローズ方法:

•	PL/SQLエディタの「クローズ」ボタンをクリックします。


オブジェクト・ライブラリについて

  関連項目

どのような開発環境でも、開発者が遵守すべき基準や、開発作業全体を通じて再利用できる共通オブジェクトが常にあります。

オブジェクト・ライブラリは、オブジェクトの再利用、および開発組織全体で基準を遵守するための簡単な方法を提供するものです。

オブジェクト・ライブラリは、次の目的に利用できます。

•	基準および再利用可能オブジェクトの作成、格納、保守および分配

•	事前定義済みオブジェクトをフォームにドラッグ・アンド・ドロップすることによるアプリケーションの迅速な作成

オブジェクト・ライブラリを利用してアプリケーションを作成すると、いくつかの利点があります。

•	オブジェクト・ライブラリは、Form Builderを起動するときに自動的に再オープンされ、再変更可能オブジェクトがすぐにアクセス可能になります。

•	アプリケーションには複数のオブジェクト・ライブラリを対応付けられます。たとえば、オブジェクト・ライブラリを企業規格に合せて作成でき、またプロジェクト固有の要件を満たすオブジェクト・ライブラリを作成できます。

•	オブジェクト・ライブラリには、スマート・クラス機能があります。これは標準として定義するオブジェクトのことです。スマート・クラスを利用して、各オブジェクトを標準オブジェクトに変換できます。


オブジェクト・ライブラリの表示

  関連項目

オブジェクト・ライブラリの表示方法:

•	「ツール」 [image] 「オブジェクト・ライブラリ」を選択します。


オブジェクト・ライブラリ・モジュールのオープン

  関連項目

オブジェクト・ライブラリ・モジュールのオープン方法:

1	オブジェクト・ライブラリ内で、「オープン」ボタンをクリックします。

2	そのダイアログ内で、希望するファイルを選択します。


オブジェクト・ライブラリでのタブの作成

タブの作成方法:

1	オブジェクト・ナビゲータ内で、希望するオブジェクト・ライブラリの「ライブラリ・タブ」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	新規タブの名前を指定します。


オブジェクト・ライブラリ内のオブジェクトへのコメント追加

コメントの追加方法:

1	オブジェクト・ライブラリで、対象のオブジェクトをクリックします。

2	ツールバーの「コメント編集」ボタンをクリックします。

3	「コメント」ダイアログに希望のテキストを入力します。


オブジェクト・ライブラリからのオブジェクトの削除

  関連項目

オブジェクト・ライブラリからのオブジェクトの削除方法:

1	オブジェクト・ライブラリで、対象のオブジェクトをクリックします。

2	ツールバーの「オブジェクト削除」ボタンをクリックします。


オブジェクト・ライブラリ内のタブの削除

オブジェクト・ライブラリからのタブの削除方法:

1	オブジェクト・ライブラリ内で、希望のタブをクリックします。

2	ツールバーの「タブ削除」ボタンをクリックします。

注意: タブを削除すると、そのタブ上のすべてのオブジェクトが削除されます。


オブジェクト・ライブラリのオブジェクトの保存

オブジェクト・ライブラリのオブジェクトの保存方法:

1	オブジェクト・ライブラリ内の「保存」ボタンをクリックします。

2	そのダイアログ内に名前を入力します。

3	「保存」をクリックします。


オブジェクト・ライブラリのクローズ

オブジェクト・ライブラリのクローズ方法:

•	「ファイル」 [image] 「クローズ」を選択します。


メニュー・エディタについて

  関連項目

メニュー・エディタは、カスタム・フォーム・メニュー・モジュールおよびポップアップ・メニューの作成および配置用に（オブジェクト・ナビゲータおよびプロパティ・パレットと一緒に）使用するForm Builder設計ツールです。

メニュー・エディタを使用してメニュー・オブジェクトで作業をする前に、まずオブジェクト・ナビゲータ内での新規メニュー・モジュールの作成（または既存メニュー・モジュールのオープン）が必要です。

同期  作業場所がメニュー・エディタまたはオブジェクト・ナビゲータ、プロパティ・パレットであっても、その作業場所にかかわりなく、Form Builderでは、設計ツールを自動的に同期させて現在選択されているオブジェクトを同時に表示します。これは、Form Builderでそのオブジェクトを表示するためにノードおよびメニューを拡張する必要があるときにも同様です。その結果、メニューで作業を進めていても、メニュー・エディタおよびオブジェクト・ナビゲータ、プロパティ・パレット内で同じメニュー・オブジェクトが常に選択されます。


メニュー・エディタの表示

メニュー・エディタへのメニュー・モジュールの表示方法:

1	オブジェクト・ナビゲータ内で、新しいメニュー・モジュールを作成するか、または既存メニュー・モジュールを選択します。

2	「ツール」 [image] 「メニュー・エディタ」を選択するか、オブジェクト・ナビゲータでメニュー・モジュールのオブジェクト・アイコンをダブルクリックします。

メニュー・エディタ内にそのメニュー・モジュールが表示されます。

「メニュー・エディタ」ウィンドウは、同時に複数表示できます。「メニュー・エディタ」ウィンドウがオープンされた状態で、オブジェクト・ナビゲータ内の他のメニュー・モジュールを選択し、次に2番目の「メニュー・エディタ」ウィンドウを表示します。


メニュー・エディタでのオブジェクトの作成

  関連項目

既存メニュー・オブジェクトの下への新規メニュー・オブジェクトの作成方法:

1	メニュー・エディタ内で既存メイン・メニュー項目または下位レベルのメニュー項目を選択します。

2	次のいずれかの操作を行います。

•	「メニュー・エディタ」ツールバーの「下方向にメニューを作成」ボタンをクリックします。

•	「メニュー」 [image] 「下方向に作成」を選択します。

•	[Ctrl]を押しながら下矢印キーを押します。

新しいメニュー・オブジェクトが既存メニュー・オブジェクトの下に表示されます。

既存メニュー・オブジェクトの右側への新規メニュー・オブジェクトの作成方法:

1	メニュー・エディタ内で既存メニューまたはサブメニュー、メニュー項目を選択します。

2	次のいずれかの操作を行います。

•	「メニュー・エディタ」ツールバーの「右方向にメニューを作成」ボタンをクリックします。

•	「メニュー」 [image] 「右方向に作成」を選択します。

•	[Ctrl]キーを押しながら右矢印のキーを押します。

既存メニュー・オブジェクトの右側に新しいメニュー・オブジェクトが表示されます。

メニュー項目ハンドル 最初の項目を下位レベルメニューまたはサブメニューに追加するたびに、メニューハンドルが、そのオブジェクトの左側に配置されます。すべてのメニュー項目上の操作をまとめて行ったり、またはプロパティ・パレット内にメニュー・レベル・プロパティを表示するには、このハンドルを使用します。


メニュー・エディタでのオブジェクトの表示について

  関連項目

特定の項目がどのメニューに属しているかを知りたいときは、メニュー・ハンドルをダブルクリックし、プロパティ・パレット内の「名前」プロパティをチェックします。メニュー・エディタのメニュー・ハンドルはオブジェクト・ナビゲータ内のメニュー名に対応しています。

注意: メニューの一番上のメニュー項目は、そのメニューの最初の項目ではなく、その親メニューに属しています。


メニュー・オブジェクトの拡張と縮小について

  関連項目

メニュー・エディタ内のオブジェクトの拡張および縮小（下位レベル・メニューおよびサブメニュー）は、オブジェクト・ナビゲータ内のForm Builderのオブジェクトの拡張および縮小と同様です。メニュー・エディタの三角形の「拡張/縮小」インジケータは、オブジェクト・ナビゲータの「+」および「-」インジケータと等価です。白い三角形は、メニューが拡張状態であることを指示し、黒い三角形は、メニューが縮小されていることを指示します。

メニュー・オブジェクトを（「拡張」または「縮小」を使用して） 1レベル拡張または縮小したり、また（「すべて拡張」および「すべて縮小」を使用して）メニューのすべての関連レベルを拡張または縮小できます。関連メニュー・オブジェクト・レベルは現行メニュー・オブジェクト、およびそのオブジェクトの下または右側にあるすべてのオブジェクトを参照します。

（「拡張」または「縮小」前に）メニュー・エディタ内で選択するオブジェクトは、その拡張/縮小動作に影響を与えます。選択例:

•	メニューハンドルを選択すると、「拡張」、「すべて拡張」、「縮小」または「すべて縮小」が、そのメニュー・オブジェクトに属しているすべてのメニューおよびサブメニューに適用されます。

•	メニュー項目を選択すると、「拡張」、「すべて拡張」、「縮小」または「すべて縮小」が、そのメニュー項目に属している下位レベルのメニューおよびサブメニューにのみ適用されます。


メニュー・エディタ内の個々のオブジェクトの拡張および縮小

  関連項目

個々のメニュー・オブジェクトの拡張および縮小方法:

1	三角形の「拡張/縮小」インディケータを表示するオブジェクトを選択します。

2	次のいずれかの操作を行うと、「拡張」状態と「縮小」状態が切り替わります。

•	三角形のインディケータをダブルクリックします。

•	[Return]を押します。

•	「メニュー」 [image] 「拡張」または「メニュー」 [image] 「縮小」を選択します。


関連メニュー・オブジェクトの拡張および縮小

  関連項目

関連メニュー・オブジェクトの拡張および縮小方法:

1	三角形の「拡張/縮小」インディケータを表示するオブジェクトを選択します。

2	次のいずれかの操作を行うと、「すべて拡張」状態と「すべて縮小」状態が切り替わります。

•	三角形のインジケータを[Shift]を押しながら、ダブルクリックします。

•	[Shift]を押しながら、[Return]を押します。

•	「メニュー」 [image] 「すべて拡張」または「メニュー」 [image] 「すべて縮小」を選択します。


メニュー・エディタの最上位レベルでのメニュー表示

  関連項目

メニュー・エディタの最上位レベルへのメニュー表示方法:

1	「メニュー・エディタ」ツールバー内で、「表示メニュー」ポップリストをクリックします。

2	最上位レベル・メニューとして表示するメニューを選択します。

下位レベル・メニューが、一時的にメニュー・エディタの最上位レベル・メニューとして表示されます。元の表示に戻すには、「表示メニュー」ポップリストからメイン・メニューを選択します。

注意: 下位レベル・メニューをメニュー・エディタの最上位レベル・メニューとして表示するのは、一時的な設計目的に限られます。実行時には、メイン・メニューが常に最上位レベル・メニューとなります。


メニュー・エディタ方向を使用した作業

  関連項目

メニュー・エディタ方向の変更方法:

1	オブジェクト・ナビゲータで、メニューを選択します。

2	「ツール」 [image] 「メニュー・エディタ」を選択し、メニュー・エディタをオープンします。

3	「メニュー」 [image] 「方向転換」を選択します。


メニュー・エディタ内のオブジェクト名およびラベルの変更

  関連項目

メニュー・オブジェクト名の変更方法:

1	メニュー・エディタ内でメニュー・オブジェクトを選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「一般」ノードで、オブジェクトの「名前」プロパティを変更します。

注意: メニュー・エディタ内ではこの変更の結果を確認できません（このオブジェクトがメニューでない場合には、「表示メニュー」ポップリストでその新しい名を表示できます）。

メニュー・オブジェクトのラベルの変更方法:

1	メニュー・エディタ内で、メニュー・オブジェクトを選択します。

ラベルが反転表示されます。

2	もう1度クリックして編集モードに入ります。

カーソルがIビームに変わり、そして反転表示が通常表示に戻り、カーソルはクリックされた場所に位置づけられます。

3	旧ラベルを新しいラベルに置換します。

編集モードを終了するには、[Return]を押します。ラベル変更を検査するには、プロパティ・パレットでオブジェクトの「ラベル」プロパティをチェックします。

注意: メニュー・エディタまたはプロパティ・エディタでメニュー・オブジェクトのラベルを初めて編集すると、オブジェクト・ナビゲータとプロパティ・パレットは自動的に、オブジェクトの名前にこの変更を反映し（できる限り）、作成したばかりの項目を見つけやすくします。たとえば、オブジェクトITEM2のラベルを<New_Item>からSHOW_KEYSに変更すると、Form Builderは自動的にオブジェクトの名前をITEM2からSHOW_KEYSに変更します。しかし、オブジェクトのラベルへの追加変更は、オブジェクト名に自動的には反映されません。


メニュー・エディタ内のオブジェクト移動

メニューの移動方法:

1	メニュー・ハンドルをクリックしてドラッグします。

ハンドルをクリックすると、塗りつぶされた四角形として表示され、そのカーソルを特定位置に移動していくと、カーソルは四角形に変わりメニューをドロップできる場所がハイライト表示されます。

2	希望の位置でそのメニューをドロップします。

注意: メニューを移動すると、それに対応付けられているサブメニューも移動します。

メニュー項目の移動方法:

1	移動するメニュー項目をクリックしてドラッグします。

項目をドラッグしていくと、その項目の正しいドロップ場所を示す破線が表示されます。

2	希望の位置でそのメニュー項目をドロップします。

注意: サブメニューを表示するメニュー項目では、「コマンド・タイプ」プロパティを「メニュー」に設定しておくことが必要です。したがって、「コマンド・タイプ」を「PL/SQL」または「NULL」に設定してサブメニューを親項目に移動すると、次のような警告が表示されます。

RM-15207:親項目は、サブメニューが連結される前にタイプを変更する必要があります。（コードが失われるかもしれません。）

3	次のいずれかの操作を行います。

•	保存するそのメニュー項目にPL/SQLコードが付加されていない場合は、タイプ変更を受け入れるには「タイプ変更」を選択します。

•	そのメニュー項目にPL/SQLコードが付加されている場合には、「取消」を選択し、PL/SQLコードをコピーしてから、その項目を移動します。


メニュー・エディタ内でのオブジェクトのコピ－

メニューのコピー方法:

1	メニュー・ハンドルをターゲット項目に[Ctrl]を押しながらドラッグします。

ハンドルをクリックすると、塗りつぶされた四角形として表示され、そのカーソルを特定位置に移動していくと、カーソルは四角形に変わりメニューをドロップできる場所がハイライト表示されます。

その後、次の注意が表示されます。

「メニューを複製しますか、またはオリジナルを再使用しますか?」

2	次のいずれかの操作を行います。

•	「複製」を選択して、メニューの別コピーを作成します。

サブメニューがある場合、次のメッセージが表示されます。

   「サブメニューをコピーしますか?」

すべてのレベルのサブメニューをコピーするには「はい」を、最初のレベルのみをコピーするには「いいえ」を選択します。

•	「再使用」を選択するとメニューのコピーを1つのみ保持しますが、それを2つの箇所から参照します。

「再使用」は、オリジナルの新しいインスタンスを作成せず、単にオリジナルにポインタを定義します。これにより、複数のメニュー項目から同一メニューが起動できます。両方のメニューは同一のものであり、名前を共有するため、両方とも「共有」インジケータを表示します。このメニューのいずれかのインスタンスへの変更内容は、もう1方のメニューに反映されます。

ヒント: 共用メニューのインスタンスを1つ選択済みであり、もう1つのインスタンスの存在する場所を知りたい場合は、「メニュー」 [image] 「次インスタンス」を選択します。

メニュー項目のコピー方法:

•	メニュー項目を選択し、そのメニュー項目をターゲット項目に[Ctrl]を押しながらドラッグします。


メニュー・エディタ内のオブジェクトの削除

メニューまたはサブメニューの削除方法:

1	メニューまたはサブメニュー・ハンドルをクリックします。

2	次のいずれかの操作を行います。

•	「メニュー・エディタ」ツールバーの「削除」ボタンをクリックします。

•	「メニュー」 [image] 「削除」を選択します。

•	「削除」ボタンをクリックします。

次のような注意が表示されます。

「親からメニューを切離しますか、それとも削除しますか?」

3	得られたメニュー断片部分を再利用しないかぎり、「削除」を選択します。

削除されるメニューの下にサブメニューがある場合、サブメニューを削除するかどうか確認するメッセージが表示されます。

•	「はい」ボタンを選択すると、サブメニューも含め、メニュー全体が削除されます。

•	そのサブメニューを後で使用するために保存しておく場合には、「いいえ」ボタンを選択します（親なしサブメニューを使用するには、オブジェクト・ナビゲータに入り、新しい位置にそれを移動します）。

そのメニュー断片部分を後で使用するために保持する場合には、｢解除」 を選択します。（この断片部分を再付加するには、オブジェクト・ナビゲータに入り、そのメニュー断片部分を新しい親に付加します。

メニューまたはサブメニューからの項目の削除方法:

1	項目を選択します。

2	「メニュー」 [image] 「削除」を選択します（または「削除」ボタンをクリックします）。

本当に削除するかどうかを確認する注意が表示されます。

3	「はい」ボタンをクリックします。


メイン・メニューの作成

  関連項目

メイン・メニューの作成方法:

1	メニュー・エディタにメニュー・モジュールを表示します。

MENU1のようなデフォルト・オブジェクト名を表示するメニュー・エディタが表示されます。<New_Item>というラベルの項目が1つ強調されます。

2	デフォルトのラベルを置換します（たとえば、アクション）。

3	既存のメイン・メニュー項目の右側に新しいメニュー・オブジェクトを作成することにより、新しいメイン・メニュー項目を追加します。

メニュー・エディタは、<新規項目>というラベルの項目を作成します。

4	デフォルトのラベルを置換します。

5	ステップ3と4を繰り返して、追加するメイン・メニューの項目を作成します。

メイン・メニューを作成したら、個々のメニューを、各メイン・メニュー項目の下に項目を加えて、作成します。メイン・メニュー（アクション、編集、ブロックなど）での各"親"項目の場合、"子"メニュー項目のリストを作成できます。


下位レベル・メニューの作成

  関連項目

下位レベル・メニューの作成方法:

1	メイン・メニューで、親項目を選択します。

2	既存のメイン・メニュー項目の下に新しいメニュー・オブジェクトを作成します。

「メニュー・エディタ」は<New_Item>というラベルのメニュー項目を作成します。

3	デフォルトのラベルを置換します。

4	追加項目を作成するには、ステップ2と3を繰り返します。

注意: メイン・メニュー親項目の下にメニュー項目を追加することで、親項目をメニュー・ヘッダーに変換します。Form Builderは、親項目の「コマンド・タイプ」プロパティを自動的に変更して、これを反映します。プロパティ・パレットで親項目のプロパティを検査します。「コマンド・タイプ」プロパティは「PL/SQL」から「メニュー」に変わっています。

メイン・メニューのメニューを作成すると、サブメニューが作成できます。このサブメニューは、メニュー項目の右側に表示されます。


サブメニューの作成

  関連項目

サブメニューの作成方法:

1	個々のメニュー項目を選択します。

2	既存メニュー項目の右側に新しいメニュー・オブジェクトを作成します。

「メニュー・エディタ」は<New_Item>というラベルのメニュー項目を作成します。

3	デフォルトのラベルを置換します。

4	いま作成したサブメニュー項目の下に新規メニュー・オブジェクトを作成します。

5	デフォルトのラベルを置換します。

6	ステップ4と5を繰り返して、追加するサブメニューの項目を作成します。


ウィザードについて

Form Builderには、初心者および上級者のために、頻繁に実行される作業を自動化するためのウィザードがいくつかあります。

ウィザードを使用すると、次のことができます。

•	フォームの作成または変更

•	データ・ブロックの作成または変更

•	枠内での項目の作成および配置

•	値リストの作成または変更

•	チャート項目の作成または変更

ウィザードの起動方法:

•	「ツール」メニューから希望のウィザード・オプションを選択します。


Form Builderでのテキスト編集

この項では、Form Builder内でテキストを編集および選択するのに使用できるコマンドについて説明します。テキストを「挿入」モードまたは「置換」モードで行えます。現行の編集モードはForm Builderのステータス行に表示されます。モードを切り替えるには、[Insert/Replace]を押します。

テキストの編集には次のコマンドが使用できます。

目的	操作方法
1つの文字を右または左に移動する。	「Left」または「Right」を押す。
エディタ内で次の行またはひとつ前の行に移動する。	「Up」または「Down」を押す。
行の末尾に移動する。	「End of Line」を押す。
行開始点に移動する。	「Beginning of Line」を押す。
マウスでテキストを選択する。	希望のテキストをクリックしてドラッグする。
選択したテキストを削除する。	「編集」 [image] 「消去」を選択する。
選択したテキストを削除し、それをクリップボードにコピーする。	「編集」 [image] 「カット」を選択する。または「Cut」を押す。
選択したテキストをクリップボードにコピーする。	「編集」 [image] 「コピー」を選択する。または「Copy」を押す。
挿入点でクリップ_ボードのテキストを挿入する。	「編集」 [image] 「ペースト」を選択する。または「Paste」を押す。
挿入点の左側の文字を削除する。	「Back Space」を押します。


エディタの作成


エディタについて

 関連項目

実行時に使用されるエディタは3つです。デフォルト・エディタ、システム・エディタまたはユーザー命名エディタです。

デフォルト・エディタ	デフォルト・エディタは、検索/置換、カット、コピーおよびペーストを含めた、標準編集機能を提供します。デフォルト・エディタは、すべてのフォームに組み込まれており、どのテキスト項目からも自動的に利用できます。

システム・エディタ	システム・エディタが変更可能な場合には、Form Builderで、デフォルト・エディタではなく、現行のシステム・エディタを使用するよう指定できます。

ユーザー命名エディタ	ユーザー命名エディタは、デフォルト・エディタと同じテキスト編集機能を備えていますが、名前が付けられたエディタなので、ウィンドウ表示サイズ、位置およびタイトルなどのエディタ属性を指定できます。また、ユーザー命名エディタは、特定のテキスト項目とは関係なく、ビルトイン・プロシージャSHOW_EDITORを使用したプログミングで表示することもできます。

デフォルトでは、オペレータは、テキスト項目にナビゲートし、[Edit]を押すか、デフォルト・メニュー上で「編集」 [image] 「編集」を選択することにより、エディタを起動できます。エディタはまた、カーソルがテキスト項目にあるとき、ビルトイン・プロシージャEDIT_TEXTITEMを実行することによってプログラミングで表示することもできます。


デフォルト・エディタの使用

 関連項目

ユーザー命名エディタとは異なり、デフォルト・エディタを作成または付加する必要はありません。デフォルト・エディタは、すべてのフォームに組み込まれ、どのテキスト項目からも起動できます。

デフォルト・エディタが実行時に起動されると、エディタ起動元のテキスト項目のサイズと位置に基づいて、その表示サイズおよび表示位置が動的に決定されます。

デフォルトのエディタの表示サイズと位置の修正方法:

1	オブジェクト・ナビゲータ内で、希望のテキスト項目を選択します。

2	プロパティ・パレット内で、「エディタ」プロパティ・ポップリストから<NULL>を選択することにより、「エディタ」プロパティを<NULL>に設定します。

3	「エディタX位置」と「エディタY位置」を設定することにより、エディタの表示座標を指定します。


ユーザー命名エディタの使用

 関連項目

ユーザー命名エディタは、デフォルト・エディタと同じテキスト編集機能を備えています。SHOW_EDITORとともにプログラムでこのエディタを表示するとき、またはスクロールバーやタイトルなどのカスタム・エディタの属性を指定するときに、ユーザー命名エディタを作成します。

ユーザー命名エディタを定義しておくと、フォーム内のどのテキスト項目にもそれを付加できます。オペレータがそのテキスト項目にナビゲートしてエディタを起動すると、ユーザー命名エディタでその項目のデフォルト・エディタが置換されます。

ユーザー命名エディタの作成方法:

1	オブジェクト・ナビゲータ内で、エディタ・オブジェクトを作成します。

エディタを作成するには、オブジェクト・ナビゲータ内で「エディタ」ノードを選択し、次に「ナビゲータ」 [image] 「作成」を選択します。

2	プロパティ・パレット内で、「高さ」および「幅」、「X位置」、「Y位置」、「ラップ形式」、「水平スクロール・バー表示」、「垂直スクロール・バー・表示」など、希望のエディタ・プロパティを設定します。

3	このエディタを、フォーム内の1つ以上のテキスト項目に付加するか、またはSHOW_EDITORビルトイン・プロシージャをコールしてエディタを表示します。

テキスト項目へのユーザー命名エディタの付加方法:

1	オブジェクト・ナビゲータ内で、希望のテキスト項目を選択します。

2	プロパティ・パレット内で、「エディタ」プロパティを希望のユーザー命名エディタに設定します（「エディタ」プロパティ・ポップリストから選択）。

3	「X位置」と「Y位置」を設定することにより、エディタの表示座標を指定します。


システム・エディタの使用

 関連項目

Form Builderが、デフォルト・エディタではなく、システム・エディタを使用するよう指定できます。オペレータは、システム・エディタを、デフォルト・エディタと同様に起動します。

使用するシステム・エディタは、FORMS60_EDITOR環境変数により定義されます。指定されたエディタでは、ASCIIテキスト形式を使用する必要があります。環境変数およびシステム・エディタの詳細は、オペレーティング・システムのForm Builderマニュアルを参照してください。

システム・エディタの使用方法:

1	オブジェクト・ナビゲータ内で、希望のテキスト項目を選択します。

2	希望のテキスト項目の横のアイコンをダブルクリックして、プロパティ･パレットを表示します。

3	プロパティ・パレット内で、「エディタ」プロパティ・ポップリストから「SYSTEM_EDITOR」を選択します。

4	プロパティ・パレット内で、「エディタX位置」と「エディタY位置」を設定することにより、エディタの表示座標を指定します。

5	FORMS60_EDITOR環境変数を定義します。

たとえば、Microsoft Windows上では、FORMS50_EDITORを定義して、ノートパッドをシステム・エディタとして使用します。

FORMS60_EDITOR = C:\WINDOWS\NOTEPAD.EXE


エディタ表示のためのEDIT_TEXTITEMの使用

 関連項目

EDIT_TEXTITEMプロシージャでは、フォーム内の現行テキスト項目と対応付けがなされているエディタ（デフォルト・エディタ、ユーザー命名エディタまたは現行システム・エディタ）を起動します。次の例では、テキスト項目にナビゲートし、次にその項目と対応付けのあるエディタを表示します。

Go_Item('cust.comments');
Edit_TextItem;

正しく実行するためには、入力フォーカスをEDIT_TEXTITEM用のテキスト項目に置く必要があります。入力フォーカスが他のタイプの項目にある場合は、「FRM-41026: フィールドが操作を認識しません。」メッセージが表示されます。EDIT_TEXTITEMでは、動的なサイズの変更および座標位置を指定できるオプションのパラメータがあります。

Edit_Textitem(x, y, width, height);


エディタ表示のためのSHOW_EDITORの使用

 関連項目

SHOW_EDITORプロシージャでは、指定された表示座標にユーザー命名エディタが表示されます。SHOW_EDITORでは、テキスト文字列をエディタに渡したり、またオペレータがそのエディタでの編集作業を終えたときに編集済みテキスト文字列を取得するためのmessage_inおよびmessage_outパラメータがあります。

SHOW_EDITOR(editor_name, message_in, x, y, message_out, result);

resultパラメータは、BOOLEAN型のIN OUTパラメータです。オペレータがそのエディタでの編集作業を終えると、SHOW_EDITORによってresultが「TRUE」に、message_outが現行テキスト文字列に設定されます。オペレータがそのエディタでの編集作業を取り消すと、SHOW_EDITORではresultが「FALSE」に、message_outが「NULL」に設定されます。


トリガーでのランタイム・エラーの処理について

関連項目

設計段階でのトリガーのコンパイル時、またはフォーム・モジュールの生成時、コンパイラは、実行時にトリガーが正常に動作するのを妨げる恐れのあるエラーを検出します。しかし、論理エラーは実行時のみに現れるため、多くの場合回避できません。

発生したランタイム・エラーを検出して反応するコードをトリガーに記述して、アプリケーションの処理の流れを妨げないようにする必要があります。トリガーは、フォームのオペレータの作業が中断することなくランタイム・エラーを整然と処理するように記述する必要があります。

Form Builderのデフォルトの機能では、ランタイム ・エラー発生の検出および、エラー・メッセージの発行、エラー変数値の設定、正常に完了しなかったトランザクションの状況に応じたロールバックが可能になっており、これらの機能をランタイム・エラーの処理に役立てることができます。また、エラーに反応するトリガーを特定のアプリケーション用に記述して、デフォルトのエラー処理を強化することができます。

注意: この項では、PL/SQLのエラー処理手法に関する知識があることを前提としています。詳細は、『PL/SQLユーザーズ・ガイドおよびリファレンス』を参照してください。


トリガーでのPL/SQL例外処理の使用について

関連項目

PL/SQLコードでのエラーを例外と呼びます。エラーが発生すると、例外が呼び出されます。呼び出された例外を処理するために、例外ハンドラを記述します。Form Builderでは、次のタイプの文で発生するランタイム・エラーを、例外ハンドラで処理できます。

•	SQL文

•	PL/SQL文

•	ユーザー命名サブプログラムのコール

トリガーまたはPL/SQLブロック内のこれらのいずれかの文が例外を呼び出すと、通常の処理が停止し、トリガーの例外処理ブロックに制御が移されます。

トリガーでの例外の波及  Form Builderのトリガーでは、PL/SQLブロックをインライン・ブロックとしてネストできます。たとえば、トリガー内のブロックがさらに別のブロックを含んでいる場合があります。

例外ハンドラがない内部ブロックで例外が発生すると、そのブロックが終了し、例外が囲みブロックへ波及、つまり「フォール・アウト」します。囲みブロックに例外ハンドラがない場合、例外はさらに波及し、最後には最も外側のブロックまで達します。最も外側のブロックがその例外を処理しなかった場合、トリガーは失敗し、Form Builderはランタイム・エラーを戻します。

ユーザー命名サブプログラムで呼び出された例外  例外処理の理由から、ユーザー命名サブプログラムへのコールがトリガー内のインラインPL/SQLブロックとして処理されます。つまり、ユーザー命名サブプログラム内で呼び出された未処理例外は、そのサブプログラムがコールされたブロックまで波及します。


トリガー障害の結果について

関連項目

起動したトリガーの結果は、成功または失敗のどちらかになります。トリガーが失敗するのは、未処理例外を呼び出した場合です。トリガーが失敗すると、Form Builderはトリガーを中止して適切な障害後処理を実行します。Form Builderが実行する処理は、失敗したトリガーのタイプによって異なります。

次の表は、3つのタイプのトリガーの障害後処理を示しています。

トリガーのタイプ	トリガー障害の結果
Key - *（任意のキー・トリガー）	トリガー失敗は無視されます。
Pre-Item	入力フォーカスがソース項目に戻されます。
On-Insert	現コミット・プロセスで転記されたデータベースの変更内容がすべてロールバックされます。
When-Validate-Item	When-Validate-Item項目の妥当性チェックが失敗します。エラー位置がForm Builderによって設定され、可能な場合、入力フォーカスがソース項目に戻されます。

トリガーが失敗すると、Form Builderはトリガー障害の結果として、ランタイム・エラーが発生した状況を元に戻そうとします。

たとえば、Pre-Itemトリガーは、Form Builderがソース項目からターゲット項目への入力フォーカスの移動を試みた時に起動します。Pre-Itemトリガーが失敗すると、ナビゲーションは正常に完了せず、入力フォーカスがソース項目に戻されます。

同様に、On-Insertなどのコミット処理トリガーが失敗すると、データの整合性を保つために、ロールバックが適宜実行されます。


トリガーで呼び出された例外の処理について

関連項目

SQL文またはPL/SQL文、ユーザー命名サブプログラムのコールを含んだトリガーを記述する場合は、呼び出されるすべての例外について処理方法を検討する必要があります。目的の動作に応じて、次の3つの方法のうちいずれかを使用して例外に反応できます。

•	トリガーに例外ハンドラを記述して、呼び出された例外をすべて処理します。

•	例外ハンドラを意図的に省略することにより、Form Builderのデフォルトの障害後トリガー処理を利用します。例外が呼び出されると、トリガーは失敗し、適切な障害後処理が実行されます。

•	特定の例外のみを処理する例外ハンドラをトリガー内に記述します。他の例外は処理せず、トリガーを意図的に失敗させます。


エラーへの対応

関連項目

エラーが発生した場合、次のビルトイン・サブプログラムを使用して、エラーの数値、タイプおよびメッセージの情報を取得できます。

•	ERROR_TYPE（CHARを戻します）

•	ERROR_CODE（NUMBERを戻します）

•	ERROR_TEXT（CHARを戻します）

•	DBMS_ERROR_CODE（NUMBERを戻します）

•	DBMS_ERROR_TEXT（CHARを戻します）


ビルトインの成功または失敗の評価について

関連項目

ビルトイン・サブプログラムの実行結果は、成功、失敗、致命的エラーの3つのうちいずれかになります。ビルトイン・サブプログラムが失敗すると、ランタイム・エラーが発生し、適切なエラー・メッセージが発行されます。しかし、トリガーでは例外は呼び出されません。このため、トリガー自体は失敗せず、トリガーの後続の文はすべて実行されます。

トリガー内でビルトイン・サブプログラムをコールする際に、サブプログラムの成功または失敗を検出させて、エラーを修正したりトリガーを明示的に失敗させたい場合があります。特に、後続のトリガー文が前のビルトイン・サブプログラムの成功した実行結果に依存する場合などがこれに該当します。

ビルトイン・サブプログラムの成功または失敗を検出させるには、Form Builderの次のビルトイン・ファンクションを使用します。

•	FORM_SUCCESS（BOOLEANを戻します）

•	FORM_FAILURE（BOOLEANを戻します）

•	FORM_FATAL（BOOLEANを戻します）

FORM_SUCCESSファンクションは、最後に実行されたビルトイン・サブプログラムの結果をレポートします。次のWhen-Button-Pressedトリガーでは、FORM_SUCCESSファンクションを使用してGO_BLOCKビルトイン・プロシージャの結果をテストします。

Go_Block('xyz_block');

IF NOT Form_Success THEN

--handle the error

END IF;

このテストは、致命的エラーと失敗エラーの両方を検出します。したがって、FORM_FAILUREやFORM_FATALを単独で使用するよりも、多くの機能を持っていることになります。


ビルトイン・サブプログラムでのエラーの処理

関連項目

ビルトイン・サブプログラムが失敗したり致命的エラーを発生させた場合、Form Builderにトリガーの後続の文を継続して処理させるのではなく、そのサブプログラムをコールしたトリガーを失敗させたい場合があります。

前述のとおり、トリガーは未処理例外を呼び出すと失敗します。しかし、ビルトイン・サブプログラムのエラーは例外を呼び出さないため、トリガーを失敗させるためには、例外を明示的に呼び出すコードを記述する必要があります。

/*  When-Button-Pressed Trigger:  */

Go_Block('xyz_block');

IF NOT Form_Success THEN

RAISE Form_Trigger_Failure;

END IF; END IF;

このトリガーには例外処理セクションがないため、例外が呼び出されるとトリガーは失敗し、そのトリガーに対する適切な障害後処理が実行されます。トリガーを失敗させるには任意の有効な例外を使用できますが、この例では、ビルトイン例外FORM_TRIGGER_FAILUREを使用しています。


FORM_TRIGGER_FAILURE例外の呼出し

関連項目

FORM_TRIGGER_FAILURE例外は事前定義済みのPL/SQL例外であり、Form Builderのみで変更可能です。この例外は事前定義済みであるため、トリガーまたはユーザー命名サブプログラムの宣言セクションで最初に定義しなくても呼び出せます。

この例外はForm Builderで非常によく使用されるので、ユーザー命名プロシージャを記述して、ビルトイン・プロシージャおよびファンクションの結果のテストに使用するのが一般的です。

/*  user-named subprogram:  */

PROCEDURE Check_Builtin ISBEGIN

IF NOT Form_Success THEN

RAISE Form_Trigger_Failure;

END IF;

END;

プロシージャは、フォームまたは連結ライブラリで定義しておけば、ユーザーのフォームのすべてのトリガーからコールできます。

/*  When-Button-Pressed Trigger:  */

Go_Block('xyz_block');

Check_Builtin;

注意: FORM_TRIGGER_FAILURE例外に関連する内部エラー・コードは、予告なしに変更される可能性があるので使用しないでください。


ユーザー命名トリガーでのエラーの処理

関連項目

ユーザー命名トリガーは、EXECUTE_TRIGGERビルトイン・サブプログラムのコールにより、起動されます。

/*  Built-in Trigger:  */

statement a;

Execute_Trigger('my_user_named_trigger');

statement b;

ユーザー命名トリガーで未処理例外が呼び出された場合、そのユーザー命名トリガーは失敗しますが、呼出し側のトリガーには例外は波及しません。Form Builderでは、この失敗はビルトイン・プロシージャEXECUTE_TRIGGERのエラーとして扱われ、そのエラーに応じてビルトイン・エラー・ファンクションの戻り値が設定されます。したがって、ユーザー命名トリガーの結果は、他のビルトイン・サブプログラムのコールと同じ方法、つまり、ビルトイン・エラー・ファンクションの評価によって、検出させることができます。

/*  Built-in Trigger:  */

statement a;

Execute_Trigger('my_usernamed_trigger');

IF NOT Form_Success THEN

RAISE Form_Trigger_Failure;

END IF;

statement b;


ストアド・プロシージャに対するエラー処理

関連項目

PL/SQLコードの処理中にカーネルから戻されるOracleエラーを検出させるには、主に次の3つの方法があります。

•	フォーム・レベルON-ERRORトリガー内でDBMS_ERROR_TEXT、DBMS_ERROR_CODEビルトイン・サブプログラムを使用してチェックします。

•	適切なユーザー定義例外を作成します。

•	WHEN OTHERS例外ハンドラでSQLCODE、SQLERRMファンクションを評価します。


DBMS_ERROR_TEXTおよびDBMS_ERROR_CODEのチェック

関連項目

ON-ERRORトリガー内から、ERROR_CODEファンクションが次のデータベース関連エラーを返しているかどうかをチェックできます。

40501: ORACLE err - unable to reserve record for update or delete

40502: ORACLE err - unable to read list of values

40505: ORACLE err - unable to perform query

40506: ORACLE err - unable to check for record uniqueness

40507: ORACLE err - unable to fetch next query record

40508: ORACLE err - unable to INSERT record

40509: ORACLE err - unable to UPDATE record

40510: ORACLE err - unable to DELETE record

40512: ORACLE err - unable to issue SAVEPOINT command

40513: ORACLE err - unable to get date/time from database

40504: ORACLE err - unable to execute a gname trigger

40511: ORACLE err occurred while executing a gname trigger

データベース・エラーによってフォーム処理が失敗した場合、DBMS_ERROR_TEXTとDBMS_ERROR_CODEの両ファンクションを調べることにより、どのサーバー・エラーが発生したかを正確に判別できます。エラー・メッセージのテキストの戻り値全体は、DBMS_ERROR_TEXTメッセージの戻り値から取得できます。


ユーザー定義例外

例   {button   , ALink(F503201; F503202; AT102,,,)} 関連項目

PL/SQLでは、多数の例外（NO_DATA_FOUND、DUP_VAL_ON_INDEX、VALUE_ERRORなど）が定義済みですが、それらのみでは検出するOracleエラーを完全にカバーできません。そのため、PL/SQLでは、ユーザー独自に定義した例外を、ユーザーの選択した特定のOracleエラーの候補に関連付けることができます。次のコードは、EXCEPTION_INITを使用してPL/SQLに通知することにより、選択したエラーを通知する方法を示しています。詳細は、『PL/SQLユーザーズ・ガイドおよびリファレンス』を参照してください。


ユーザー定義例外の例

例

/*

**	Example of declaring your own error-driven exceptions

*/

DECLARE

    /*

** First declare the name of the exception

    */

cannot_del_parent  EXCEPTION;

    /*

** Then associate it with the ORA-2292 error

** which is "violated integrity constraint XYZ -

** child record found".Note error number is negative.

    */

PRAGMA Exception_Init (cannot_del_parent, -2292);

BEGIN

DELETE FROM PARENT_TABLE

WHERE PRIMARY_KEY_FIELD = :BLOCK.PK;

    /*

** If we get here, then things went ok.

    */

EXCEPTION

    /*

** If our error arises, then this exception

** will be raised.We can deal with it elegantly.

    */

WHEN cannot_del_parent THEN

Message('You cannot remove open '||

'order number'||:block.pk);

RAISE Form_Trigger_Failure;

END;

この方法は、アプリケーションで、Oracleエラー番号のみから発生したエラーを判別できる場合に最適です。ユーザー定義エラー・メッセージは、RAISE_APPLICATION_ERRORの項で示したように、データベース・トリガー、プロシージャまたはファンクションの戻り値とすることが可能です。ユーザーの呼び出すエラーを検出させる場合は、そのエラーに対応するユーザー定義例外を作成するのが一般的な方法です。

しかし、カーネルから戻されるエラーのうち、違反した制約（可能性のある多数の制約のうちの1つ）の名前が含まれるエラーは、常にOracleエラー番号を1個のみ戻します。その例を次に示します。

ORA-02290: violated check constraint (SCOTT.C_CK)


SQLCODEおよびSQLERRMの検出

例   {button  , ALink(F503201; F503202; AT102,,,)} 関連項目

この場合、発生したエラーの情報を得るには、エラー・メッセージ自体にアクセスする必要があります。SQLCODEとSQLERRMを取得し評価するには、WHEN OTHERS句を使用する必要があります。SQLCODEとSQLERRMは「PRO*言語」の対応するファンクションを擬似的に実行しますが、例外ハンドラ内でのみ変更可能です。この2つのPL/SQLファンクションは、WHEN OTHERS句で使用すると特に便利です。さらに、strip_constraint_nameと呼ばれる関数がOracleエラーのテキストを受け入れ、違反が発生した制約の名前を大文字で戻します。2つの例を次に示します。


SQLCODEおよびSQLERRMの検出の例

例1

/*

** Example of using SQLCODE/SQLERRM in WHEN OTHERS

*/

DECLARE

lv_sqlcode NUMBER; /* Place to hold SQLCODE */

lv_sqlerrm VARCHAR2(240); /* Place to hold SQLERRM */

lv_constr  VARCHAR2(41); /* Place for Constraint Name */

BEGIN

UPDATE PARENT_TABLE

SET SOME_FIELD = 5

WHERE PRIMARY_KEY_FIELD = :BLOCK.PK;

    /*

** If we get here, then things went ok.

    */

EXCEPTION

    /*

** If an error arises, the exception handler gets control

    */

WHEN OTHERS THEN

lv_sqlcode := SQLCODE;

lv_sqlerrm := SQLERRM;

IF (lv_sqlcode = -2290) THEN

          /*

** Strip out the name of the violated constraint

          */

lv_constr := strip_constraint_name(lv_sqlerrm);

IF (lv_constr = 'SCOTT.C_CK') THEN

Message('Code must be A,B, or C');

RAISE Form_Trigger_Failure;

          END IF;

       END IF;

END;

例2

/*  STRIP_CONSTRAINT_NAME:  Returns constraint name from error

**  Constraint name should appear enclosed by parentheses

**  in the Oracle errors 02290-02292 and 02296-02299.

**  Return the text between the parentheses when passed

**  the error message text.

*/

FUNCTION strip_constraint_name( errmsg VARCHAR2 )

RETURN VARCHAR2

IS

   lv_pos1 NUMBER;

   lv_pos2 NUMBER;

BEGIN

   lv_pos1 := INSTR(errmsg, '(');

   lv_pos2 := INSTR(errmsg, ')');

   IF (lv_pos1 = 0 OR lv_pos2 = 0 ) THEN

       RETURN(NULL);

     ELSE

        RETURN(UPPER(SUBSTR(errmsg, lv_pos1+1,

                               lv_pos2-lv_pos1-1)));

    END IF;

END;

データベース・ブロックのINSERTおよびUPDATE、DELETE操作の結果発生したOracleエラーを検出させるには、各操作にそれぞれON-INSERTまたはON-UPDATE、ON-DELETEトリガー（あるいは複数）を記述してDML操作を実行する必要があります。

上の機能に関連したエラーのうち、1番目の例のプログラムで検出可能なエラーは次のとおりです。

•	SET ROLEの後:

        ORA-01919: Role ROLENAME does not exist

        ORA-01979: Missing or invalid password

•	関連DMLの後:

        ORA-00001: Duplicate key in index

        ORA-01400: Mandatory NOT NULL column missing

        ORA-01407: cannot update mandatory (NOT NULL)

                   column to NULL

        ORA-04088: error during execution of trigger

                  (OWNER.TRIGGERNAME)

        ORA-04092: trigger may not commit or rollback


チャート・ウィザードについて

  次へ

チャート・ウィザードについて

チャート・ウィザードは、フォームまたはレポートの内部からチャートを作成するプロセスを段階的に指示します。このウィザードでは次の処理が可能です。

•	チャート・タイプおよびサブタイプの指定

•	チャート列に割り当てるデータを含んだデータ・ブロックの指定

•	チャートのカテゴリ（X）軸に表示するデータの指定

•	チャートの値（Y）軸に表示するデータの指定

ウィザードの各ページのプロンプトに従って、作成するチャートの設定を指定します。

リエントラントなチャート・ウィザード

チャート・ウィザードの強力な点は、リエントラント・モードで操作できることです。つまり、チャート・ウィザードで作成した既存のチャートを、チャート・ウィザードを使用して変更できます。

チャート・ウィザードをリエントラント・モードで起動するには、オブジェクト・ナビゲータでチャート・オブジェクトを選択し、メニューから「ツール」 [image] 「チャート・ウィザード」コマンドを選びます。

チャート・ウィザードでのナビゲート

チャート・ウィザードでは、そのページ内をナビゲートするための次の5つのボタンを用意しています。

•	「取消」: 加えた変更があれば、すべての変更を取り消し、ウィザードを終了します。

•	「ヘルプ」: ウィザードの現行のページのオンライン・ヘルプ・テキストを表示します。

•	「戻る」: ウィザード内の前ページにナビゲートします。

•	「次へ」: ウィザード内の次ページにナビゲートします。

•	「完了」: ウィザードで加えた変更があれば保存し、ウィザードを終了します。

注意: ある特定のウィザード・ページで必要な情報をすべて入力し終わらずに「次へ」または「戻る」をクリックすると、次（または前）のページへナビゲートできません。同様に、必要なすべての情報をウィザードに入力する前に「終了」ボタンをクリックすると、ウィザードが必要なデータを入力するページを自動的に表示します。


チャート・ウィザード: 「タイプ」ページ

  次へ 	  ウィザードについて

チャート・ウィザードを使用してチャート・タイプを指定する手順は、次のとおりです。

1	（オプション）チャートの上に表示するタイトルを、「タイトル」フィールドに入力します。

2	「チャート・タイプ」リストでチャート・タイプを選択します。チャート・タイプは、円グラフや棒グラフなどの、表示の基本書式を指定します。選択するチャート・タイプの例が表示ウィンドウに表示されます。

3	「チャート・サブタイプ」リストで、チャート・サブタイプを選択します。チャート・サブタイプは、シャドウなどの、表示の固有のスタイルまたはテンプレートです。「チャート・サブタイプ」リストには、選択したチャート・タイプに対して指定できるサブタイプが表示されます。


チャート・ウィザード: 「ブロック」ページ

  次へ 	  ウィザードについて

チャート・ウィザードを使用してチャートのデータ・ブロックを選択する手順は、次のとおりです。

  「ブロック名」リストからチャートで使用するデータ・ブロックをクリックします。選択するデータ・ブロックによって、チャートの項目軸と値軸に割り当てることのできるデータが決まります。


チャート・ウィザード: 「項目」ページ

  次へ 	  ウィザードについて

チャート・ウィザードを使用してチャートの項目（X）軸にデータをマップする手順は、次のとおりです。

1	「変更可能なフィールド」リストから、チャートの項目（X）軸にマップするフィールドを選択します。

注意: 最低1つのフィールドを選択しないと、次のページへナビゲートできません。

2	をクリックして、選択したフィールドを「変更可能フィールド」リストから「項目軸」リストへ移動します。

注意: 最低1つのフィールドを「変更可能フィールド」リストから「項目軸」リストへ移動しないと、次のページへナビゲートできません。


チャート・ウィザード: 「値」ページ

  次へ 	  ウィザードについて

チャート・ウィザードを使用して、チャートの値（Y）軸にデータをマップする手順は次のとおりです。

1	「変更可能なフィールド」リストから、チャートの値（Y）軸にマップするフィールドを選択します。

2	をクリックして、選択したフィールドを「変更可能フィールド」リストから「値軸」リストへ転送します。Tip

注意: 最低1つのフィールドを「変更可能フィールド」リストから「値」リストへ移動しないと、次のページへナビゲートできません。


チャート・ウィザード: 「ファイル名」ページ

  ウィザードについて

チャートをデフォルトの名前で保存する手順は、次のとおりです。

  「完了」ボタンをクリックします。「ファイル名」フィールドに表示されている自動生成されたデフォルト名で、チャートが保存されます。完成したチャートがレイアウト上に表示されます。

デフォルト以外のファイル名でチャートを保存する手順は、次のとおりです。

1	「別名保存」ボタンをクリックします。

2	「ファイル名を付けて保存」ダイアログ・ボックスで、チャートを保存するディレクトリまでナビゲートし、新しいファイル名を入力します。「保存」をクリックします。

3	「完了」ボタンをクリックします。チャートがレイアウト上に表示されます。

次の手順

「完了」ボタンをクリックすると、Forms Builderが完成したチャートをレイアウトに表示します。ウィザードを用いて、再度、チャートを変更するには、完成したチャート・オブジェクトを選択して、メニューから「ツール」 [image] 「チャート・ウィザード」コマンドを選択します。


ヒント
ヒント [image] をクリックして、選択したフィールドを「項目軸」リストから「変更可能なフィールド」リストへ戻します。


ヒント
ヒント [image] をクリックして、選択したフィールドを「値軸」リストから「変更可能なフィールド」リストへ戻します。


FRM-50001;
FRM-50001: 使用可能な文字はa-z、A-Z、スペースです。

原因:	使用不能な文字を項目に入力しました。

処置:	a～z、A～Zまたはスペースを入力します。

レベル:	15

タイプ:	エラー


FRM-50002;
FRM-50002: 月は1～12の間の値でなければいけません。

原因:	無効な月を日付フィールドに入力しました。

処置:	1（1月）～12（12月）の月の値を入力します。

レベル:	15

タイプ:	エラー


FRM-50003;
FRM-50003: 年は00～99または1000～4712の間の値でなければいけません。

原因:	無効な年を入力しました。

処置:	有効な年を入力します。入力可能な年の数値は、0～99（1900～1999を表します）または1000～4712です。

レベル:	15

タイプ:	エラー


FRM-50004;
FRM-50004: 日は1～月の最終日までの間の値でなければいけません。

原因:	無効な日を入力しました。

処置:	有効な日を入力します。たとえば4月であれば、1～30の間の数値を入力します。

レベル:	15

タイプ:	エラー


FRM-50006;
FRM-50006: 正しい文字は0～9、+、-です。

原因:	数値項目に受け入れられない文字を入力しました。

処置:	有効な数値を入力します。有効な数値とは、各桁に0～9の数字を使用したものです。数値の先頭には、正（+）または負（-）の符号を付けることができます。メッセージで許容されていれば、その数値には正負符号の前以外の位置に小数点を1つ付けられます。

レベル:	15

タイプ:	エラー


FRM-50007;
FRM-50007: 小数点以降の桁数が多すぎます。

原因:	MoneyまたはRmoneyデータ型を持つ項目に、小数点以降の桁数が3桁以上の数値を入力しました。

処置:	有効な数値を再入力します。

レベル:	15

タイプ:	エラー


FRM-50009;
FRM-50009: 小数点が多すぎます。

原因:	小数点が2つ以上ある数値を入力したか、または自然数（非小数値）が必要な項目に小数点がある数値を入力しました。

処置:	小数点が1つ以下の数値を入力します。小数点を1つのみ使用した場合は、その小数点およびその数値の小数部を削除します。

レベル:	15

タイプ:	エラー


FRM-50010;
FRM-50010: 通貨フォーマットは、[+-]9999999.99です。

原因:	MoneyまたはRmoney項目に無効な値を入力しました。

処置:	有効値を入力します。この値には、0（ゼロ）またはドル数、そしてその後に小数点とセント2桁が必要です。この数値の前に正符号（+）またはマイナス符号（-）を付けられます。

レベル:	15

タイプ:	エラー


FRM-50011;
FRM-50011: 月名が無効です。

原因:	日付フィールドに無効な月名を入力しました。

処置:	有効な月名を入力します。Form Builderでは、月名の最初の3文字を認識します。たとえば、JANはJanuary、JUNはJuneを表します。

レベル:	15

タイプ:	エラー


FRM-50012;
FRM-50012: 日付は<書式>のような書式で入力しなければなりません。

原因:	無効または不正確な書式の日付が入力されました。

処置:	適切な書式の日付を再入力します。

レベル:	15

タイプ:	エラー


FRM-50013;
FRM-50013: +または-は先頭になければいけません。

原因:	正符合（+）または負符号（-）が誤った位置に入力されました。

処置:	正符合（+）または負符合（-）を先頭に入力します。

レベル:	15

タイプ:	エラー


FRM-50014;
FRM-50014: 指数が間違っています。

原因:	指数を受け入れない項目に指数が入力されました。

処置:	指数のない値を入力します。

レベル:	15

タイプ:	エラー


FRM-50016;
FRM-50016: 正しい文字は0～9、-、+、Eです。

原因:	数値項目に受け入れられない文字を入力しました。

処置:	有効な数値を入力します。有効な数値とは、各桁に0～9の数字を使用したものです。数値の先頭には、正（+）または負（-）の符号を付けることができます。メッセージで許容されていれば、その数値には正負符号の前以外の位置に小数点を1つ付けられます。Eを使用すると科学表記法を指定できます。

レベル:	15

タイプ:	エラー


FRM-50017;
FRM-50017: 時間は0～23の間の値でなければいけません。

原因:	無効な時間を入力しました。

処置:	有効な時間を入力します。Form Builderでは、24時間ベ－スで時間を記録します。

レベル:	15

タイプ:	エラー


FRM-50018;
FRM-50018: 分は00～59の間の値でなければいけません。

原因:	無効な分を入力しました。

処置:	00～59の値を入力します。

レベル:	15

タイプ:	エラー


FRM-50019;
FRM-50019: 秒は00～59の間の値でなければいけません。

原因:	無効値を入力しました。

処置:	00～59の値を入力します。

レベル:	15

タイプ:	エラー


FRM-50020;
FRM-50020: 指数がありません。

原因:	指数を入力していません。

処置:	指数を入力します。

レベル:	15

タイプ:	エラー


FRM-50021;
FRM-50021: 日付は<書式>のような書式で入力しなければなりません。

原因:	無効または不正確な書式の日付が入力されました。

処置:	適切な書式の日付を再入力します。

レベル:	15

タイプ:	エラー


FRM-50022;
FRM-50022: 時間は<書式>のような書式で入力しなければなりません。

原因:	無効または不正な書式の時間が入力されました。

処置:	適切な書式で時間を再入力します。

レベル:	15

タイプ:	エラー


FRM-50023;
FRM-50023: 日付は<書式>のような書式で入力しなければなりません。

原因:	無効または不正確な書式の日付が入力されました。

処置:	適切な書式の日付を再入力します。

レベル:	15

タイプ:	エラー


FRM-50024;
FRM-50024: スペースは、先頭のみで使用できます。

原因:	スペースの混じったデータを入力しました。

処置:	スペースの混じっていないデータを再入力します。

レベル:	15

タイプ:	エラー


FRM-50025;
FRM-50025: 日付/時間は<書式>のような書式で入力しなければなりません。

原因:	無効または不正な書式の日付および時間が入力されました。

処置:	日付および時間を適切な書式で再入力します。

レベル:	15

タイプ:	エラー


FRM-50026;
FRM-50026: 日付は<書式>のような書式で入力しなければなりません。

原因:	無効または不正確な書式の日付が入力されました。

処置:	適切な書式の日付を再入力します。

レベル:	15

タイプ:	エラー


FRM-50027;
FRM-50027: 与えられたデータ型の書式マスクが無効です。

原因:	テキスト項目に割り当てた書式マスクが、このテキスト項目のデータ型とは非互換です。

処置:	そのテキスト項目に新しい書式マスクを割り当てます。詳細は、項目の書式マスクのヘルプを参照してください。

レベル:	15

タイプ:	エラー


FRM-50028;
FRM-50028: 書式マスクはこのデータ型では使用できません。

原因:	LONG型、IMAGE型、GRAPHICS型は、書式マスクをサポートしていません。

処置:	LONG型、IMAGE型、GRAPHICS型には書式マスクの作成を行わないでください。

レベル:	15

タイプ:	エラー


FRM-50029;
FRM-50029: 科学表記法の小数点より前の桁数が多すぎます。

原因:	科学表記法を使用して数値を指定しましたが、小数点より前の桁数が2つ以上あります。

処置:	科学表記法を使用して数値を再入力します。

レベル:	15

タイプ:	エラー


FRM-50045;
FRM-50045: 0時を過ぎた秒数が時間と合いません。

原因:	入力された時間の秒が深夜0時を過ぎています。この時間は許容範囲ではありません。

処置:	時間と深夜0時を過ぎた秒の一致を確認するか、深夜を過ぎた秒を指定せずに書式マスクを使用します。

レベル:	15

タイプ:	エラー


FRM-50048;
FRM-50048: 新しいパスワードが一致しません。同じパスワードを入力してください。

原因:	「新しいパスワード」および「新しいパスワードの確認」フィールドで異なる文字列が入力されました。

処置:	「新しいパスワード」および「新しいパスワードの確認」フィールドに同一の値を再入力します。

レベル:	15

タイプ:	エラー


FRM-90925;
FRM-90925: コマンド・ラインの引数が多すぎます。

原因:	コマンド・ライン上に指定された引数が多すぎます。

処置:	コマンドを再入力します。


FRM-90926;
FRM-90926: コマンド・ラインでパラメータが重複しています。

原因:	コマンド・ライン上で2つの同一パラメータが入力されました。

処置:	入力したコマンドを訂正し、再入力します。


FRM-90927;
FRM-90927: コマンド・ラインのパラメータが不明です。

原因:	コマンド・ライン上に不明なパラメータが指定されました。

処置:	コマンド・ラインをチェックし、必要に応じて編集します。


FRM-90928;
FRM-90928: コマンド・ラインではキーの後がパラメータの位置です。

原因:	パラメータがコマンド・ラインに正しい順序で並んでいないか、パラメータまたは'='符号が不足しています。

処置:	必要に応じてコマンド・ラインを訂正し、再入力します。


FRM-90929;
FRM-90929: コマンド・ラインのパラメータ値が無効です。

原因:	コマンド・ライン上で無効なパラメータ値が指定されました。

処置:	コマンド・ラインをチェックし、必要に応じて編集します。


FRM-90930;
FRM-90930: コマンド・ラインのファイル・パラメータが無効です。

原因:	コマンド・ライン上で無効なファイル・パラメータを指定しました。

処置:	コマンド・ラインをチェックし、必要に応じて編集します。


FRM-90931;
FRM-90931: コマンド・ラインを処理中にエラーが発生しました。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


FRM-90932;
FRM-90932: コマンド・ラインのリスト値が無効です。

原因:	指定されたリスト値が無効です。

処置:	正しい値を指定し、再入力します。


FRM-90933;
FRM-90933: コマンド・ラインのリスト値が間違っています。

原因:	コマンド・ライン上に間違ったリスト値が指定されました。

処置:	コマンド・ラインをチェックし、再入力します。


FRM-91010;
FRM-91010: Module_AccessパラメータはFILEまたはDATABASEでなければいけません。

原因:	Module_Accessに指定されたパラメータが、FILEまたはDATABASEではありません。

処置:	Module_AccessパラメータにFILEまたはDATABASEを指定します。


FRM-91017;
FRM-91017: Module_Type パラメータはFORM、MENU、LIBRARY、PECSのいずれかにする必要があります。

原因:	Module_Typeに指定されたパラメータが、FORM,、MENU、LIBRARYまたはPECSではありません。

処置:	 Module_TypeパラメータにFORM,、MENU、LIBRARYまたはPECSを指定します。


FRM-91100;
FRM-91100: 内部エラー: 共有コンテキストを作成できません。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


FRM-91101;
FRM-91101: 内部エラー: 基本コンテキストを作成できません。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


FRM-91102;
FRM-91102: 内部エラー: コマンド・ラインをトークン化できません。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


FRM-91103;
FRM-91103: 内部エラー: メモリーが足りません。

原因:	内部エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-91104;
FRM-91104: 内部エラー: エラーが不明です。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


FRM-91108;
FRM-91108: 内部エラー: PL/SQLを初期化できません。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


FRM-91109;
FRM-91109: 内部エラー: アプリケーションの起動に失敗しました。

原因:	ウィンドウ・システムを起動できません。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91110;
FRM-91110: 内部エラー: ファイル名 <ファイル名>が見つかりません。

原因:	リソース・ファイルが見つかりませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91111;
FRM-91111: 内部エラー: ウィンドウ・システムの起動に失敗しました。

原因:	キャラクタ・モードで、ウィンドウ・システム上のForm Builderを実行しようとしています。

処置:	正しい実行可能プログラムを指定します。

レベル:	15

タイプ:	エラー


FRM-91112;
FRM-91112: 内部エラー: Resource Managerの起動に失敗しました。

原因:	リソース・ファイルが見つかりませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91113;
FRM-91113: 内部エラー: デフォルト・リソース・ファイル名を取得できません。

原因:	リソース・ファイルが見つかりませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91115;
FRM-91115: 内部エラー: 表のバインドで失敗しました。

原因:	キー・マッピングが見つかりませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91116;
FRM-91116: 内部エラー: Oracle*Imageの起動に失敗しました。

原因:	リソース・ファイルが見つかりませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91117;
FRM-91117: 内部エラー: フォントMETRICの初期化に失敗しました。

原因:	リソース・ファイルが見つかりませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91118;
FRM-91118: 内部エラー: ルート・ウィンドウの初期化に失敗しました。

原因:	ルート・ウィンドウが見つかりませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91119;
FRM-91119: Oracle*VGSの起動に失敗しました。

原因:	VGSコンテキストを起動できません。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91120;
FRM-91120: 内部エラー: NLSキャラクタ・セットをロードできません。

原因:	指定されたNLSキャラクタ・セットをロードできませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91121;
FRM-91121: 内部エラー: キュー・カード・ビューアを起動できません。

原因:	キュー・カード・ビューアを起動できませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91122;
FRM-91122: 内部エラー: 文字列コンテキストを作成できません。

原因:	文字列コンテキストを起動できませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91123;
FRM-91123: 内部エラー: クォーック・マネージャを起動できません。

原因:	クォーック・マネージャを起動できませんでした。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-91124;
FRM-91124: 警告: ORAFORMS_DECIMAL_PREFIXに<環境変数値>が指定されています。0（ゼロ）または' '（空文字列）を指定してください。

原因:	環境変数ORAFORMS_DECIMAL_PREFIXに無効な値が指定されました。

処置:	次のいずれかの操作を行います。

1.  ORAFORMS_DECIMAL_PREFIXを0と指定して、アプリケーション内で書式マスクなしで表示される数値の先頭が小数点の場合、その前に0が来るようにします。

2.  ORAFORMS_DECIMAL_PREFIXを ' ' （空の文字列）と指定します。

3.  変数値を指定しません。


FRM-91125;
FRM-91125: 内部エラー: ブラウザ・レイヤーを起動できません。

原因:	ブラウザ・レイヤーを起動できません。

処置:	サポート担当に連絡してください。

レベル:	15

タイプ:	エラー


FRM-10063;
FRM-10063: ヘルプ・ファイルが見つからないか、壊れています。

原因:	Form Builderがヘルプ・ファイルを見つけられないか、ロードできません。

処置:	現在の環境をチェックし、ヘルプ・ファイルへのパスをチェックします。必要であれば、DBAに連絡してください。


FRM-91500;
FRM-91500: ビルドを開始/完了できません。

原因:	リソース・ファイルが見つかりませんでした。

処置:	サポート担当に連絡してください。


FRM-91506;
FRM-91506: データベースへのライブラリ･モジュールの挿入はサポートされていません。

原因:	ライブラリ・モジュールをデータベースに挿入することができません。

処置:	ライブラリ・モジュールをファイル・システムに保存します。


FRM-91507;
FRM-91507: 内部エラー: ライブラリを生成できません。

原因:	内部エラーにより、ライブラリを生成できません。

処置:	このエラーは、次の理由のいずれかにより発生しました。

ファイル・システムがいっぱいです。

PLX ファイルは読取り専用または別のファイルで使用中です。

処置:	それ以外の場合には、サポート担当に連絡してください。


FRM-99999;
FRM-99999: エラー<エラー番号>が発生しました。このエラーに関する情報は、リリース・ノート・ファイル（relnotes）を参照してください。

原因:	エラーが発生しました。このエラーは、リリース・ノート・ファイルで説明されています。

処置:	リリース・ノート・ファイルを参照してください。


FRM-99999;
FRM-99999: エラー<エラー番号>が発生しました。このエラーに関する情報は、リリース・ノート・ファイル（relnotes）を参照してください。

原因:	エラーが発生しました。このエラーは、リリース・ノート・ファイルで説明されています。

処置:	リリース・ノート・ファイルを参照してください。


FRM-10000;
FRM-10000: 項目上で妥当性チェック・エラーが発生しました。

原因:	無効な項目定義を適用しようとしました。

処置:	項目のプロパティ設定を変更し、項目の定義を有効にします。


FRM-10001;
FRM-10001: 内部エラー: TOS。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10002;
FRM-10002: 現行モジュールが保存できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10003;
FRM-10003: ファイルからモジュールを取出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10004;
FRM-10004: 一意および有効な値を入力してください。

原因:	無効値を入力しました。

処置:	値を有効値に変更します。


FRM-10005;
FRM-10005: 値が必要です。

原因:	値を入力せずに、フィールドを終了しようとしました。

処置:	値を入力します。


FRM-10006;
FRM-10006: 内部エラーが発生しました。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10007;
FRM-10007: 表にアクセスできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10008;
FRM-10008: 表を作成できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10009;
FRM-10009: オブジェクトが見つかりません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10010;
FRM-10010: 内部エラー: オブジェクトが挿入できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10011;
FRM-10011: 内部エラー: オブジェクトが削除できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10012;
FRM-10012: 内部エラー: メモリーがありません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10013;
FRM-10013: 複製オブジェクトが見つかりました。

原因:	モジュールをデータベースに保存中に内部システム・エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10014;
FRM-10014: この名前のモジュールはすでに存在しています。

原因:	モジュールをデータベースに保存中に内部システム・エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10015;
FRM-10015: 複製参照情報が見つかりました。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10016;
FRM-10016: 内部エラー: オブジェクト格納がクローズできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10017;
FRM-10017: 内部エラー: ロールバックできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10018;
FRM-10018: 内部エラー: 変更がコミットできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10019;
FRM-10019: 内部エラー: オブジェクト・ストアがオープンできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10020;
FRM-10020: モジュールが存在します。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10021;
FRM-10021: モジュールが見つかりません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10022;
FRM-10022: 内部エラー: オブジェクトが参照できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10023;
FRM-10023: 内部エラー: オブジェクト・ストアからオブジェクトを取出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10025;
FRM-10025: 列マッピング・オブジェクトを取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10027;
FRM-10027: 列仕様オブジェクトが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10029;
FRM-10029: ユーザー命名のリスト・オブジェクトが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10031;
FRM-10031: ラジオ・ボタン・オブジェクトが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10033;
FRM-10033: VGSオブジェクトを取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10034;
FRM-10034: 有効なモジュール名を入力してください。

原因:	データベースからモジュールをオープンしようとしたときに、内部システム・エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10035;
FRM-10035: モジュールが存在しません。

原因:	指定したモジュール名が存在しません。

処置:	モジュール名をチェックするか、他の名前を使用します。


FRM-10037;
FRM-10037: リレーションが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10038;
FRM-10038: 削除できません。オブジェクトはロックされています。

原因:	項目やキャンバスなど、アクティブなレイアウト・エディタによりロックされているオブジェクトを削除しようとしました。レイアウト・エディタで変更されたオブジェクトはロックされます。

処置:	そのオブジェクトのロックを外します。


FRM-10039;
FRM-10039: Form Builderを起動できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10040;
FRM-10040: 新規モジュールを編集取消しできません。

原因:	保存されていないモジュールの「ファイル」->「変更の破棄」が選択されました。このモジュールはまだ保存されていないので、回復元のバージョンがありません。

処置:	そのモジュールを保存せずにクローズしてから、新規モジュールをオープンします。


FRM-10041;
FRM-10041: データベースに接続しないと操作は無効です。

原因:	Form Builderがデータベースに接続されていなければ実行できない設計操作を実行しようとしました。

処置:	データベースにログオンし、接続します。


FRM-10042;
FRM-10042: これはForm Builderファイルではありません。

原因:	無効なForm Builder設計モジュールのファイルをオープンしようとしました。

処置:	フォーム（.FMB）またはメニュー（.MMB）、ライブラリ（.PLL）モジュールをオープンします。


FRM-10043;
FRM-10043: ファイルをオープンできません。

原因:	無効なForm Builder設計モジュールのファイルをオープンしようとしました。

処置:	フォーム（.FMB）またはメニュー（.MMB）、ライブラリ（.PLL）モジュールをオープンします。


FRM-10044;
FRM-10044: ファイルを作成できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10045;
FRM-10045:  データベースに接続できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10046;
FRM-10046: VGSオブジェクトが削除できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10047;
FRM-10047: 複数行のテキスト項目のみインポートが可能です。

原因:	単一行テキスト・フィールドまたは他の制御タイプにテキストをインポートしようとしました（テキストがインポートできるのは、複数行のテキスト項目のみです）。

処置:	なし。


FRM-10048;
FRM-10048: エクスポートは複数行のテキスト項目からしか使用できません。

原因:	単一行テキスト・フィールドまたは別の制御タイプからテキストをエクスポートしようとしました（テキストのエクスポートは、複数行のテキスト・フィールド以外からはできません）。

処置:	なし。


FRM-10049;
FRM-10049: 複数行のテキスト項目からしか操作できません。

原因:	複数行のテキスト・フィールド以外からは起動できないデフォルトの操作を起動しようとしました。

処置:	なし。


FRM-10050;
FRM-10050: 有効な値を入力してください。

原因:	無効な値を指定したか、必須フィールドが未入力のままです。

処置:	有効値を指定します。


FRM-10051;
FRM-10051: テキストのインポート中にエラーが発生しました。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10052;
FRM-10052:テキストのエクスポート中にエラーが発生しました。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10053;
FRM-10053: プリンタが使用できません。

原因:	指定したプリンタが使用中か、または接続されていません。

処置:	プリンタの接続状態をチェックするか、もう少し後で再試行します。


FRM-10054;
FRM-10054: PL/SQLライブラリ<ライブラリ名>に連結できません。

原因:	指定されたライブラリが他のユーザーによりロックされているか、またはライブラリ名が無効です。

処置:	ライブラリ名をチェックし、再試行します。


FRM-10056;
FRM-10056: ファイルに格納されているモジュール・タイプが正しくありません。

原因:	このファイルは、実行しようとしている操作に対応したモジュール・タイプではありません。

処置:	なし。


FRM-10057;
FRM-10057: この操作はユーザーが所有していないモジュール上では実行できません。

原因:	ユーザーが所有者となっていないデータベースのモジュールに、アクセス権限の取消しなどの操作を実行しようとしました。

処置:	なし。


FRM-10058;
FRM-10058: コピー/参照するオブジェクトが見つかりませんでした。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10059;
FRM-10059: ビルド前に、変更がPL/SQLライブラリに保存されませんでした。

原因:	変更内容の保存前にライブラリをコンパイルしようとしました。

処置:	変更内容を保存してから、ライブラリをコンパイルします。


FRM-10060;
FRM-10060: 参照オブジェクトを取り出すには、データベースに接続する必要があります。

原因:	Form Builderがデータベースに接続されていないときに、オブジェクトを参照しようとしました。参照できるのは、データベースに格納されているモジュール内のオブジェクトのみです。

処置:	データベースにログオンし、接続します。


FRM-10061;
FRM-10061: PL/SQLライブラリ・ファイルをスクリプト/解析できません。

原因:	ライブラリ・ファイルを解析またはスクリプトしようとしました。

処置:	ライブラリ・ファイルを解析またはスクリプトしないでください。


FRM-10062;
FRM-10062: 終了する前にモーダル･ウィンドウをクローズしてください。

原因:	システムは、モーダル・ウィンドウへのユーザー応答を取得できませんでした。

処置:	モーダル・ウィンドウに応答してから、終了します。


FRM-10064;
FRM-10064: リソース・ファイルからオブジェクトをロードできません。

原因:	リソース・ファイルの不良、メモリー上の問題またはその他のリソースの問題があります。

処置:	開発環境をチェックします。


FRM-10065;
FRM-10065: 開発環境（DE）の初期化に失敗しました。

原因:	システムがリソースを見つけられないなどの理由により、開発環境を初期化できませんでした。

処置:	開発環境をチェックします。


FRM-10066;
FRM-10066: モジュールを作成できません。

原因:	システムが必要なリソースを見つけられませんでした。

処置:	開発環境をチェックします。


FRM-10067;
FRM-10067: モジュールをロックできません。

原因:	このモジュールは現在、他のユーザーがオープンしています。

処置:	モジュールが解放されるまで待機するか、このモジュールのユーザーに終了してもらいます。


FRM-10068;
FRM-10068: モジュールのロック解除ができません。

原因:	このモジュールは他のユーザーがロックしています。

処置:	そのユーザーがモジュールのロック解除を行う必要があります。


FRM-10069;
FRM-10069: 現在作業中のPL/SQLライブラリ・モジュールを切り離せません。

原因:	作業中のライブラリを切り離そうとしました。

処置:	作業中のライブラリを切り離さないでください。


FRM-10070;
FRM-10070: 現行PL/SQLライブラリの連結ライブラリ情報をロードできません。

原因:	Oracle Forms 4.0のライブラリ・モジュールをロードしようとしましたが、Oracle Formsでは、そのモジュールをロードできませんでした。

処置:	ライブラリがForms 4.0でロードできることを確認します。これが可能な場合は、DBAまたはサポート担当に連絡してください。


FRM-10071;
FRM-10071: 内部エラー: リソース・ファイル<ファイル名>をオープンできません。

原因:	リソース・ファイルが見つかりません。

処置:	Form Builderを再インストールするか、サポート担当に連絡してください。


FRM-10072;
FRM-10072: 内部エラー: メニュー定義<メニュー定義名>をオープンできません。

原因:	メニューのリソース定義が見つかりません。

処置:	Form Builderを再インストールするか、サポート担当に連絡してください。


FRM-10074;
FRM-10074: PL/SQLライブラリのスクリプト・ファイルをビルドできません。

原因:	ライブラリ・ファイルの読込み時にエラーが発生しました。

処置:	スクリプト処理中に検出されたエラーを修正します。


FRM-10075;
FRM-10075: スクリプト・ファイルからPL/SQLライブラリをビルドできません。

原因:	ASCIIライブラリ・ファイルをライブラリ形式に変換できません。

処置:	変換処理中に検出されたエラーを修正します。


FRM-10076;
FRM-10076: 入力された値はスペースに応じて短くされます。

原因:	フィールドに入りきらない長い文字列を入力しました。

処置:	その文字列の長さを短くします。


FRM-10077;
FRM-10077: 日本語化する文字列をNXファイルに抜き出せません。

原因:	NXファイルの文字列を日本語化するときに内部エラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-10078;
FRM-10078: NXファイルから日本語文字列のマージはできません。

原因:	NXファイルの文字列を日本語化するときに内部エラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-10080;
FRM-10080: ソース制御サービスは、このマシンにインストールされていません。

原因:	Form Builderのソース制御サービスが、使用しているマシンにインストールされていません。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10081;
FRM-10081: <ファイル名>（モジュール'<モジュール名>'中）を取り出せません。

原因:	退避処理中に内部エラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-10082;
FRM-10082: <ファイル名>を保存できません。

原因:	退避処理中に内部エラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-10083;
FRM-10083: 参照オブジェクトのモジュール<モジュール名>を検索/オープンできません。

原因:	フォーム・モジュールを含むファイルが見つからないか、またはデータベースへのログオン用ユーザーIDが間違っています。

処置:	このフォーム・モジュールのあるファイルがローカル・ディレクトリの中、または検索パスFORMS50_PATHの下にあることを確認します。また、正しいユーザーIDを使用してデータベースにログオンしているか確認します。


FRM-10084;
FRM-10084: モジュールはForm Builderファイルの古いバージョンのようです。

原因:	参照するモジュールが最新のForm Builder形式になっていません。

処置:	参照するファイルをロードし、最新のForm Builder形式で保存します。


FRM-10085;
FRM-10085: モジュールの情報を読み込めません｡

原因:	オープンしようとしたファイルがForm Builderファイルでないか、破壊されています。

処置:	サポート担当に連絡してください。


FRM-10086;
FRM-10086: ファイルはすでにオープンされています。

原因:	すでにオープンされているファイルをオープンしようとしました。

処置:	なし。


FRM-10087;
FRM-10087: ライブラリをコンパイルできません。

原因:	ライブラリはコンパイルできません。

処置:	なし。


FRM-10088;
FRM-10088: ライブラリが実行できません。

原因:	ライブラリが実行できません。

処置:	なし。


FRM-10089;
FRM-10089: Form Builderからはメニューを実行できません。

原因:	メニュー・モジュールを選択した状態で「実行」ボタンをクリックしました。

処置:	フォーム・モジュールを選択してから、「実行」ボタンをクリックします。


FRM-10090;
FRM-10090: モジュールをデータベースに保存できません。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


FRM-10091;
FRM-10091: スクリプト/解析ファイルを作成できません。

原因:	内部エラーです。変換処理中にエラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-10092;
FRM-10092: 古いモジュールを現行のフォーマットに変換できません。

原因:	Oracle Forms 4.0構造体をOracle Forms 4.5構造体に変換する際に、内部エラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-10093;
FRM-10093: PL/SQLソース・コードがありません。

原因:	PL/SQLソース・コードのないトリガーを作成しました。

処置:	トリガーにPL/SQLソース・コードを追加するか、そのトリガーを削除します。


FRM-10094;
FRM-10094: 式をコンパイルできませんでした。

原因:	「式」プロパティで指定されるPL/SQL式をコンパイルできませんでした。

処置:	PL/SQL式に構文エラーがないかチェックし、再コンパイルします。


FRM-10095;
FRM-10095: <ファイル名>の<ファイル名>:<行数>での確定に失敗しました。

原因:	内部矛盾が検出されました。

処置:	サポート担当に連絡し、注意しながら先に進みます。


FRM-10096;
FRM-10096: キュー・カード・ファイルをロードできません。

原因:	Form Builderがキュー・カード・ファイルをロードできませんでした。存在しないか、壊れています。

処置:	Form Builderを再インストールするか、サポート担当に連絡してください。


FRM-10097;
FRM-10097: クイック・ツアー・ファイルをロードできません。

原因:	Oracle Formsではクイック・ツアー・ファイルをロードできませんでした。存在しないか、壊れています。

処置:	Form Builderを再インストールするか、サポート担当に連絡してください。


FRM-10098;
FRM-10098: オブジェクト・ライブラリにモジュール全体を配置できません。

原因:	Form Builderモジュール全体をオブジェクト・ライブラリに配置しようとしました。

処置:	オブジェクト・ライブラリに配置できるのは個々のオブジェクトのみです。


FRM-10099;
FRM-10099: オブジェクトをスマートクラスで使用できません。この名前のオブジェクトはすでに存在します。

原因:	同一名の別のオブジェクトと対立するオブジェクトをスマート・クラスで実行しようとしました。

処置:	既存オブジェクトを改名します。


FRM-10100;
FRM-10100: ファイル名を入力しなければなりません。

原因:	有効なファイル名の指定が必要な操作を実行しようとしました。

処置:	有効なファイル名を指定します。


FRM-10101;
FRM-10101: モジュールをビルドできません。

原因:	このモジュールは、エラーがあるため作成されませんでした。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10102;
FRM-10102: PL/SQLライブラリ<ライブラリ名>に連結できません。このライブラリの連結は、モジュールが保存されると失われます。

原因:	指定されたライブラリが他のユーザーによりロックされているか、またはライブラリ名が無効です。

処置:	ライブラリ名をチェックし、再試行します。


FRM-10103;
FRM-10103: 新しいバージョンにアップグレードしていない場合、このフォームをスクリプトできません。

原因:	内部エラーです。新しいバージョンにアップグレードしていない場合、バージョン5.0.0.0.0～5.0.4.8.3のフォームをスクリプトできません。

処置:	サポート担当に連絡してください。


FRM-10150;
FRM-10150: 作業環境の保存中にエラーが発生しました。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10200;
FRM-10200: 再入力したパスワードが新しいパスワードと一致しません。

原因:	再入力したパスワードが新しいパスワードと異なります。

処置:	再入力したパスワードと新しいパスワードとを一致させます。


FRM-10201;
FRM-10201: パスワード＜パスワード名＞を変更できません。

原因:	パスワードを変更中に、データベース・エラーが発生しました。

処置:	処置は不要です。DBAに発生したデータベース・エラーを知らせます。


FRM-10250;
FRM-10250: 削除操作のモジュール・タイプを指定してください。

原因:	モジュールの命名が誤っています。

処置:	モジュール名をチェックし、それを正しく入力します。


FRM-10275;
FRM-10275: 宛先モジュールがすでに存在しています。

原因:	データベース内のモジュールの名前を、既存モジュールと重複する名前に改名しようとしました。

処置:	モジュールに一意の名前を指定します。


FRM-10325;
FRM-10325: モジュール・タイプが無効です。

原因:	誤ったファイル拡張子が指定されました。

処置:	正しい拡張子（.FMX、.MMXまたは.LIB）を使用します。


FRM-10326;
FRM-10326: モジュール所有者のアクセス権限を取り消せません。

原因:	モジュール所有者の設計権限を取り消そうとしました。モジュール所有者と識別されるユーザーは常にそのモジュールにアクセスできます。

処置:	なし。


FRM-10327;
FRM-10327: モジュールの所有者のみがモジュール・アクセスを変更できます。

原因:	所有権のないモジュールにアクセス権限を付与または取り消そうとしました。

処置:	処置は不要です。そのモジュールへのアクセス権限を変更するには、DBAまたはそのモジュールの所有者に連絡してください。


FRM-10328;
FRM-10328: このモジュールへのアクセスは変更できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10329;
FRM-10329: ユーザー名を入力してください。

原因:	Form Builderは、有効なユーザー名を必要とします。

処置:	有効なユーザー名を入力します。


FRM-10350;
FRM-10350: ユーザーにこの操作を実行する権限はありません。

原因:	アクセス権限のない操作を実行しようとしました。

処置:	この操作を実行する場合は、DBAに連絡してアクセス権限を取得してください。


FRM-10400;
FRM-10400:  Report Builderをオープンできません。

原因:	Form Builderは、Report Builderを起動できませんでした。

処置:	Report Builderを別プロセスとして起動します。


FRM-10401;
FRM-10401: 有効なデータ・ブロック名が必要です。

原因:	ダイアログにデータ・ブロック名を入力していません。

処置:	データ・ブロック名を入力してから、ダイアログの受入れまたは取消しを行います。


FRM-10651;
FRM-10651: 表のリストを取り出せません。

原因:	Form Builderは表のリストを取り出せません。

処置:	データベース接続をチェックするか、DBAまたはサポート担当に連絡します。


FRM-10700;
FRM-10700: 置換オブジェクトは、宛先モジュールに存在しません。

原因:	「オブジェクト・オプション・コピー」ダイアログで指定した名前が、宛先モジュールに、対応するオブジェクト・タイプとして存在しません。

処置:	ダイアログ内の「選択」ボタンをクリックすると、宛先モジュールに適切なオブジェクト・タイプが表示されます。


FRM-10725;
FRM-10725: リソース・ファイルからのウィザードのロードに失敗しました。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10750;
FRM-10750:  表名が必要です。

原因:	ウィザードのこのページを離れる前に、表名の入力が必要です。

処置:	表名を入力するか、「参照」をクリックしてデータベース内の表を検索します。


FRM-10751;
FRM-10751: 少なくともデータベース列を1つ選択してください。

原因:	ウィザードのこのページを離れるには、「データベース項目」リストのフィールドに最低1つの列が表示されていることが必要です。

処置:	「使用可能な列」リストから「データベース項目」リストのフィールドに1つ以上の列を移動します。


FRM-10752;
FRM-10752: ウィザードでは一度に１つのデータ・ブロックしか変更できません。

原因:	オブジェクト・ナビゲータで2つ以上のデータ・ブロックが選択されているときに、データ・ブロック・ウィザードを起動しました。このウィザードでは、一度に1つのデータ・ブロックしか変更できません。

処置:	データ・ブロック・ウィザードを起動するときは、まずオブジェクト・ナビゲータで選択されているデータ・ブロックが1つのみであるか確認してください。


FRM-10753;
FRM-10753: マスター・データ・ブロック<データ･ブロック名>に対する結合条件が無効です。

原因:	データ・ブロックの更新中に、データ・ブロック・ウィザードが、与えられたマスター・データ・ブロックとの無効な結合条件を検出しました。

処置:	与えられたマスター・データ・ブロックと適合するリレーション・オブジェクトを見つけ、結合条件を訂正してから、データ・ブロック・ウィザードを再起動します。


FRM-10754;
FRM-10754: マスター・データ・ブロック<データ･ブロック名>に対して2つ以上結合しようとしています。

原因:	データ・ブロックの更新中に、そのデータブロックが与えられたマスター・データ・ブロックに1回以上結合していることをデータ・ブロック・ウィザードが検出しました。これは通常の場合には遭遇しない内部エラーです。

処置:	次のいずれかの操作を行います。

1. 1つのリレーション・オブジェクトのみがマスター・データ・ブロックをディテール・データ・ブロックにリンクしていることを確認します。

2. DBAまたはサポート担当に連絡してください。


FRM-10755;
FRM-10755: マスター・データ・ブロック<データ･ブロック名>への結合条件がありません。

原因:	与えられたマスター・データ・ブロックへの結合条件が存在しないと、ウィザードのこのページを抜けられません。

処置:	「ディテール項目」および「マスタ項目」ポップリストを使用して、与えられたマスター・データ・ブロックへの結合条件をセットアップします。


FRM-10756;
FRM-10756: 表<表名>の制約の取出しでエラーが発生しました。

原因:	データ・ブロック・ウィザードが、与えられた表に対する制約を取り出すとき、内部エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10757;
FRM-10757: マスター・データ・ブロックが使用不可です。

原因:	マスター/ディテール・リレーションの定義に使用可能なデータ・ブロックがありません。

処置:	「自動結合データ・ブロック」チェックボックスのチェック状態により、アクションが異なります。

1. チェックされている場合、可能性のあるマスター・データ・ブロックは、現行のブロックの実表上の外部キーにより参照されている表に基づくもののみです。

2. チェックされていない場合、フォーム内のデータ・ブロックはすべてマスター・データ・ブロックとなり得るが、結合条件を手動で入力する必要があります。


FRM-10758;
FRM-10758: このディテール・データ・ブロックには、結合列<項目名>に基づく項目がありません。

原因:	このデータ・ブロック・ウィザードは、外部キー制約情報を使用して、現データ・ブロックと選択済みマスター・データ・ブロック間の結合条件を自動的にセットアップしようとしています。しかし、この外部キー制約中にある列の1つが、現データ・ブロック内の項目として表示されません。

処置:	このウィザードの「データ・ブロック・ウィザード」ページに戻り、現データ・ブロックを必須マスター・データ・ブロックにリンクするのに必要なすべての列が、「データベース項目」リストに表示されるようにします。


FRM-10759;
FRM-10759: 結合列<項目名>に基づく項目がマスター・データ・ブロック<データ･ブロック名>にありません。

原因:	このデータ・ブロック・ウィザードは、外部キー制約情報を使用して、現データ・ブロックと選択済みマスター・データ・ブロック間の結合条件を自動的にセットアップしようとしています。しかし、外部キー制約中にある列の1つが、選択済みマスター・データ・ブロック内の項目として表示されません。

処置:	ウィザードを離れてから、現データ・ブロックをマスター・ブロックにリンクするのに必要な項目がマスター・データ・ブロックの項目として表示されるようにします。


FRM-10760;
FRM-10760: ストアド・プロシージャの記述中にエラーが発生しました。

原因:	内部システム･エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-10761;
FRM-10761: ウィザードは単一の表または一連のプロシージャに基づくデータ・ブロックのみを変更できます。

原因:	データ・ブロックの変更中に、データ・ブロック・ウィザードが、サポートしていない組合せのデータ・ブロック・プロパティを見つけました。

処置:	そのデータ・ブロックが次のいずれかを基礎とするものか確認します。

1. 単一の表（「問合せデータ・ソース・タイプ」プロパティと「DMLデータ宛先タイプ」プロパティがともに「表」に設定され、同一の「問合せデータ・ソース名」プロパティと「DML宛先名」プロパティを持つ）。

2. ストアド・プロシージャのセット（「問合せデータ・ソース・タイプ」プロパティおよび「DMLデータ宛先タイプ」プロパティに「プロシージャ」を持つ）。


FRM-10762;
FRM-10762:  プロシージャ名が必要です。

原因:	ウィザードのこのページを離れるにはプロシージャ名の入力が必要です。

処置:	プロシージャ名を入力します。


FRM-10763;
FRM-10763: タイプがTABLEまたはREFCURSORの引数は、IN OUTでなければなりません。

原因:	タイプがTABLEまたはREFCURSORの引数（そのデータ・ブロックのデータの問合せに使用するプロシージャ用のもの）のモードはIN OUTであることが必要です。

処置:	次のいずれかの操作を行います。

1. 代替プロシージャを選択してデータ・ブロックに対するデータを問い合せます。

2. データ・ブロック・ウィザードを終了し、引数モードをIN OUTに変更してから、ウィザードを再起動します。


FRM-10764;
FRM-10764: タイプがTABLEまたはREFCURSORの引数がありません。

原因:	データ・ブロックのデータの問合せに使用するプロシージャには、タイプがTABLEまたはREFCURSORの引数が必要です。

処置:	次のいずれかの操作を行います。

1. 代替プロシージャを選択してデータ・ブロックに対するデータを問い合せます。

2. データ・ブロック・ウィザードを終了し、プロシージャにタイプTABLEまたはREFCURSORの引数を追加してから、ウィザードを再起動します。


FRM-10765;
FRM-10765: タイプがTABLEまたはREFCURSORの引数は1つのみ使用できます。

原因:	データ・ブロックのデータの問合せに使用するプロシージャには、タイプがTABLEまたはREFCURSORの引数が1つのみ使用できます。

処置:	次のいずれかの操作を行います。

1. 代替プロシージャを選択してデータ・ブロックに対するデータを問い合せます。

2. データ・ブロック・ウィザードを終了し、プロシージャにタイプTABLEまたはREFCURSORの引数が1つのみ存在することを確認してから、ウィザードを再起動します。


FRM-10766;
FRM-10766: タイプがRECORDの引数は使用できません。

原因:	使用しているデータ・ブロックのデータの問合せまたは挿入、更新、削除、ロックを行うプロシージャには、タイプがRECORDの引数は使用できません。

処置:	次のいずれかの操作を行います。

1. 代替プロシージャを選択して、データ・ブロックに対するデータの問合せ、挿入、更新、削除またはロックを行います。

2. データ・ブロック・ウィザードを終了し、プロシージャにタイプRECORDの引数がないことを確認してから、ウィザードを再起動します。


FRM-10767;
FRM-10767: 結果セット列を少なくとも1つ選択してください。

原因:	「データベース項目」リストに最低1つの結果セット列が表示されてからでないと、ウィザードのこのページを離れることができません。

処置:	「使用可能な列」リストから「データベース項目」リストに、1つ以上の結果セット列を移動します。


FRM-10768;
FRM-10768: タイプがTABLEの引数はINまたはIN OUTでなければなりません。

原因:	データ・ブロックのデータの挿入、更新、削除またはロックに使用するプロシージャのTABLE引数のモードは、INまたはIN OUTであることが必要です。

処置:	次のいずれかの操作を行います。

1. 代替プロシージャを選択して、データ・ブロックに対するデータの挿入、更新、削除またはロックを行います。

2. データ・ブロック・ウィザードを終了し、引数モードをINまたはIN OUTに変更してから、ウィザードを再起動します。


FRM-10769;
FRM-10769: タイプがTABLEの引数がありません。

原因:	データ・ブロックのデータの挿入、更新、削除またはロックに使用するプロシージャには、タイプがTABLEの引数を1つのみ使用します。

処置:	次のいずれかの操作を行います。

1. 代替プロシージャを選択して、データ・ブロックに対するデータの挿入、更新、削除またはロックを行います。

2. データ・ブロック・ウィザードを終了し、プロシージャにタイプTABLEの引数を追加してから、ウィザードを再起動します。


FRM-10770;
FRM-10770: タイプがTABLEの引数は1つのみ使用できます。

原因:	データ・ブロックのデータの挿入、更新、削除またはロックに使用するプロシージャには、タイプがTABLEの引数を1つのみ使用できます。

処置:	次のいずれかの操作を行います。

1. 代替プロシージャを選択して、データ・ブロックに対するデータの挿入、更新、削除またはロックを行います。

2. データ・ブロック・ウィザードを終了し、プロシージャにタイプTABLEの引数が1つのみ存在することを確認してから、ウィザードを再起動します。


FRM-10771;
FRM-10771: タイプがREFCURSORの引数は使用できません。

原因:	データ・ブロックのデータの挿入、更新、削除またはロックに使用するプロシージャには、タイプがREFCURSORの引数は使用できません。

処置:	次のいずれかの操作を行います。

1. 代替プロシージャを選択して、データ・ブロックに対するデータの挿入、更新、削除またはロックを行います。

2. データ・ブロック・ウィザードを終了し、プロシージャにタイプREFCURSORの引数が存在しないことを確認してから、ウィザードを再起動します。


FRM-10772;
FRM-10772: ファンクションの使用は許可されていません。

原因:	データ・ブロックのデータの問合せ、挿入、更新、削除またはロックに関数が指定されました。プロシージャ以外には、この目的に使用できません。

処置:	次のいずれかの操作を行います。

1. プロシージャを選択して、データ・ブロックに対するデータの挿入、更新、削除またはロックを行います。

2. データ・ブロック・ウィザードを終了し、ファンクションをプロシージャに変換してから、ウィザードを再起動します。


FRM-10773;
FRM-10773: このディテール・データ・ブロックには、REF項目に基づく項目がありません。

原因:	このデータ・ブロック・ウィザードは、REFを使用して、現データ・ブロックと選択済みマスター・データ・ブロック間のリレーションを自動的にセットアップしようとしています。しかし、選択されたREFが、現データ・ブロック内の項目として表示されません。

処置:	プロシージャを選択して、データ・ブロックに対するデータの挿入、更新、削除またはロックを行います。データ・ブロック・ウィザードを終了し、ファンクションをプロシージャに変換してから、ウィザードを再起動すます。


FRM-10774;
FRM-10774: マスター・データ・ブロック＜データ・ブロック名＞ディテール項目が指定されていません。

原因:	ウィザードのこのページを離れるには、マスター・データ・ブロック＜データ・ブロック名＞のディテール項目が存在することが必要です。

処置:	「マスタ項目」ポップリストを使用して、与えられたマスター・データ・ブロックへのマスタ・ディテール条件をセットアップします。


FRM-10800;
FRM-10800: 少なくとも1つの表示項目を選択してください。

原因:	「表示項目」リストに項目が最低1つ表示されないと、ウィザードのこのページを出られません。

処置:	「使用可能な項目」リストからフィールド・ピッカーの「表示項目」リストに1つ以上の項目を移動します。


FRM-10801;
FRM-10801: レイアウトしている現行フォームにデータ・ブロックがありません。

原因:	レイアウトするデータ・ブロックがないので、レイアウト・ウィザードは起動できません。

処置:	レイアウト・ウィザードを起動する前に、そのフォームにデータ・ブロックがあるか確認します。


FRM-10802;
FRM-10802: ウィザードでは1度に1つの枠しか変更できません。

原因:	レイアウト・エディタ内で複数の枠が選択されているときに、レイアウト・ウィザードを起動しました。ウィザードは1度に1つの枠しか変更できません。

処置:	レイアウト・ウィザードを起動する前に、レイアウト・エディタ内で選択済みの枠が1つのみであるか確認します。


FRM-10803;
FRM-10803: 1つ以上の項目に負の幅/高さが設定されています。

原因:	表内の1つ以上の項目の幅または高さが負の値になっています。

処置:	表内の項目で、負の幅または高さの値を持つものがないか確認します。


FRM-10804;
FRM-10804: レコード間の距離は、0以上でなければなりません。

原因:	「レコード間の距離」に負の値が入力されました。

処置:	「レコード間の距離」を0または正の値に設定します。


FRM-10805;
FRM-10805: 表示レコードは0より大きくなければなりません。

原因:	「表示レコード」に1より小さい値が入力されました。

処置:	「表示レコード」を0より大きい値に設定します。


FRM-10850;
FRM-10850: 枠<枠名>には<レコード数>レコードしか表示できません。

原因:	与えられた枠には、要求されたレコードを表示できません。

処置:	アクションは必要ありません。この枠には、与えられた最大数のレコードが表示されます。枠内により多くのレコードを表示する場合には、プロパティ・パレットを使用してその枠の「拡大可能」プロパティを「はい」に設定します。


FRM-10851;
FRM-10851: 枠<枠名>にはレイアウトを開始するための十分な水平スペースがありません。

原因:	指定された枠には、関連するデータ・ブロックのレイアウトを起動するのに十分な水平スペースがありません。

処置:	もっと多くの水平スペースが使用可能になるよう、その枠の幅を増やします。


FRM-10852;
FRM-10852: 枠<枠名>にはレイアウトを開始するための十分な垂直スペースがありません。

原因:	指定された枠には、関連するデータ・ブロックのレイアウトを起動するのに十分な垂直スペースがありません。

処置:	次のいずれかの操作を行います。

1. もっと広い垂直スペースが使用できるように、その枠の高さを増やします。

2. レイアウト枠の「拡大可能」プロパティを「はい」に設定します。


FRM-10853;
FRM-10853: 枠<枠名>で水平オーバーフローが発生しました。

原因:	レイアウトがその枠の境界から水平にオーバーフローしており、その枠の拡張が許可されていません。

処置:	もっと多くの水平スペースが使用可能になるようその枠の幅を増やすか、プロパティ・パレットを使用してその枠の「拡張可能」プロパティを「はい」に設定します。


FRM-10854;
FRM-10854: 枠<枠名>で垂直オーバーフローが発生しました。

原因:	レイアウトがその枠の境界を越えて垂直にオーバーフローしており、その枠の拡張が許可されていません。

処置:	もっと多くの垂直スペースが使用可能になるようにその枠の高さを増やすか、プロパティ・パレットを使用してその枠の「拡張可能」プロパティを「はい」に設定します。


FRM-10855;
FRM-10855: 枠<枠名>にはオブジェクト<オブジェクト名>に十分な水平スペースがありません。

原因:	与えられたオブジェクトの幅が大きすぎて、その枠の幅に納まりません。

処置:	オブジェクトの幅を縮めるか、枠の幅を広げます。


FRM-10900;
FRM-10900: ウィザードでは1度に1つの値リストしか変更できません。

原因:	オブジェクト・ナビゲータ内で複数の値リストが選択されているときに、値リストウィザードを起動しました。ウィザードは1度に1つの値リストしか変更できません。

処置:	値リストウィザードを起動する前に、オブジェクト・ナビゲータ内で選択済みの値リストが1つのみであるか確認します。


FRM-10901;
FRM-10901: 値リストにSQL問合せを入力してください。

原因:	SQL問合せを入力しないで、値リスト・ウィザードのこのページを離れようとしました。

処置:	値リスト（および基礎となるレコード・グループ）の作成に使用する、有効なSQL問合せを入力します。


FRM-10902;
FRM-10902: 無効なSQL問合せ＜問合せ名＞です。

原因:	入力されたSQL問合せが無効です。

処置:	問合せの構文をチェックし、エラーを修正します。


FRM-10903;
FRM-10903: 少なくとも1つのレコード・グループ列を選択してください。

原因:	ウィザードのこのページを離れるには、「データベース項目」リストのフィールドに最低1つの値リスト列が表示されていることが必要です。

処置:	「レコード･グループ」リストから「値リストの列」リストに、1つ以上の列を移動します。


FRM-10904;
FRM-10904: Query Builderを開始できません。

原因:	Form Builderは、Query Builderを起動できませんでした。

処置:	サポート担当に連絡してください。


FRM-10905;
FRM-10905: 次の戻り値は無効です。

原因:	ウィザードのこのページを離れる前に、無効な戻り値の修正が必要です。

処置:	有効な戻り値を入力します。有効な戻り値は、次のいずれかです。

1. 完全修飾項目名(<DATABLOCK-NAME>.<DATAITEM-NAME>)

2. フォーム･パラメータ(PARAMETER.<PARAMETER-NAME>)

3. PL/SQLグローバル変数 (GLOBAL.<VARIABLE-NAME>)


FRM-10906;
FRM-10906: 1つ以上の値リストの列に負の幅が設定されています。

原因:	1つ以上の表の値リストの列に負の幅が設定されています。

処置:	表内の列で、負の幅の値を持つものがないか確認します。


FRM-10907;
FRM-10907: 値リストのサイズまたは位置に負の値が設定されています。

原因:	1つ以上の値リストのサイズおよび位置の属性に負の値が設定されています。

処置:	値リストのサイズおよび位置の属性に負の幅の値を持つものがないか確認します。


FRM-10908;
FRM-10908: 取り出された行数は0以下です。

原因:	取り出された行数は0以下です。

処置:	取り出されたレコード数に0より大きい値を入力します。


FRM-10909;
FRM-10909: 値リスト・ウィザードを使用して、古い値リストを変更できません。

原因:	1つ以上の選択された値リストは古い値リストです。

処置:	値リスト・ウィザードを起動する前に、値リストをレコード・グループ・タイプに変換します。


FRM-11001;
FRM-11001: 文字セルの幅が無効です。

原因:	文字セル幅が0以下に設定されています。

処置:	文字セル幅を0より大きい整数に設定します。


FRM-11002;
FRM-11002:  文字セルの高さが無効です。

原因:	文字セル高さが0以下に設定されています。

処置:	文字セル高さを0より大きい整数に設定します。


FRM-11004;
FRM-11004: この名前のフォーム・モジュールはすでに存在します。

原因:	すでに使用中の名前でモジュールの改名を試行しました。

処置:	このモジュールの改名では他の名前を選択します。


FRM-11006;
FRM-11006: 現在のフォームは取出しできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11007;
FRM-11007:  フォーム名が無効です。

原因:	フォーム・モジュールに無効な名前を入力しました。

処置:	文字、数字、アンダースコアおよび#記号（ダッシュ、ピリオドまたは@は無効）の有効文字のみで構成されたフォーム・モジュール名を入力します。


FRM-11008;
FRM-11008: データ・ブロックが存在しません。

原因:	参照ブロックが存在しません。

処置:	ブロック名をチェックし、再試行します。


FRM-11009;
FRM-11009: カラー・パレット<カラー･パレット名>へのロードに失敗しました。

原因:	現在、おそらく、編集可能なカラー・パレットで作業していて、新規フォームを起動、またはフォームをオープンしようとしたと思われます。

処置:	共有可能なカラー・モードに変更し、Form Builderを再起動します。


FRM-11010;
FRM-11010: カラー・パレット<カラー・パレット名>の保存に失敗しました。

原因:	現在、おそらく、編集可能なカラー・パレットで作業していて、新規フォームを起動、またはフォームをオープンしようとしたと思われます。

処置:	共有可能なカラー・モードに変更し、Form Builderを再起動します。


FRM-11201;
FRM-11201: 表示レコード数が無効です。

原因:	「表示レコード」プロパティに無効な値またはブランクが入力されました。

処置:	有効値を入力します。「表示レコード」は、次に示す値の1つを入力してください。

1. 整数。

2. 正の値。

3. バッファリングされたレコード数以下の値。


FRM-11204;
FRM-11204: この名前のデータ・ブロックがすでに存在します。

原因:	「ブロック名」プロパティで指定した名前を持つブロックがすでにアクティブ・フォーム内にあります。

処置:	アクティブ・フォーム内のすべてのブロックの中で一意のブロック名を入力します。


FRM-11206;
FRM-11206: データ・ブロックを取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11208;
FRM-11208: コピー/参照データ・ブロック<ブロック名>を取得できません。

原因:	指定されたブロックがデータベース内に存在しません。

処置:	ブロック名をチェックし、再試行します。


FRM-11304;
FRM-11304: 有効なX座標が必要です。

原因:	「X位置」プロパティがブランクになっているか、負数を指定しています。

処置:	「Ｘ位置」プロパティはキャンバスにおける項目の左上隅の位置を指します。


FRM-11305;
FRM-11305: 有効なY座標が必要です。

原因:	「Y位置」プロパティがブランクになっているか、負数を指定しています。

処置:	「Y位置」プロパティに負でない数値を入力します。「Ｙ位置」プロパティはキャンバスにおける項目の左上隅の位置を指します。


FRM-11306;
FRM-11306: 有効な幅の座標が必要です。

原因:	「幅」プロパティがブランクになっているか、負数を指定しています。

処置:	現フォーム座標単位で項目の幅を指定するには「幅」プロパティに非負数を入力します。


FRM-11307;
FRM-11307: 有効な高さの座標が必要です。

原因:	「高さ」プロパティがブランクになっているか、負数を指定しています。

処置:	現フォーム座標単位で項目の高さを指定するには「高さ」プロパティに非負数を入力します。


FRM-11310;
FRM-11310: 現行の項目/データに対して最大長が無効です。

原因:	入力した項目の最大長が無効です。

処置:	現項目タイプにより、次のアクションを取ります。

1. イメージ項目の場合、「最大長」プロパティを1024以上に設定します。

2. イメージ項目以外の場合、「最大長」プロパティを1以上に設定します。

3. Char項目の場合、「最大長」プロパティの最大値は32767（32K）です。


FRM-11312;
FRM-11312: この項目名は、現行データ・ブロックにすでに存在します。

原因:	指定した名前はすでに使用中です。

処置:	一意の項目名を入力します。


FRM-11314;
FRM-11314: ファイルから項目が取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11319;
FRM-11319: 問合せ長は､0か最大値以上で､かつ65536（データ型に依存）より小さくなければなりません｡

原因:	「問合せ長」プロパティ設定が無効です。

処置:	「問合せ長」プロパティに有効長を入力します。0でなければ、「最大長」プロパティ値以上を入力します。


FRM-11323;
FRM-11323: 初期値が無効です。

原因:	ラジオ・グループまたはリスト項目、チェックボックスに指定された初期値が無効です。

処置:	初期値は、次のいずれかです。

1. 項目、パラメータ、順序またはグローバルな参照。

2. 「チェック時の値」の値に同じ（チェックボックスのみ）。

3. 「未チェック時の値」の値に同じ（チェックボックスのみ）。

4. 「チェック時の値」または「未チェック時の値」の値に同じ。ケース区別なし（チェックボックスのみ）。

5. 「NULL」。


FRM-11324;
FRM-11324: 値が無効です。

原因:	入力した値が有効範囲外です。

処置:	有効値を入力します。


FRM-11327;
FRM-11327: コピー/参照された項目<項目名>をデータ・ブロック<データ･ブロック名>で取得できません。

原因:	指定ブロック内に存在しない項目を指定しました。

処置:	ブロック名および項目名をチェックし、再試行します。


FRM-11328;
FRM-11328: 初期値が無効です;有効な書式は<書式>です。

原因:	値がデータ型と互換性がありません。

処置:	データ型と互換性のある値を入力してください。


FRM-11329;
FRM-11329: 他の値が無効です;有効な書式は<書式>です。

原因:	値がデータ型と互換性がありません。

処置:	データ型と互換性のある値を入力してください。


FRM-11330;
FRM-11330: 値が無効です;有効な書式は<書式>です。

原因:	値がデータ型と互換性がありません。

処置:	データ型と互換性のある値を入力してください。


FRM-11331;
FRM-11331: 上限値は、下限値よりも大きくなければなりません。

原因:	下限値が上限値より大きいです。

処置:	上限値が下限値より大きいか確認します。


FRM-11332;
FRM-11332:  値がデータ型と矛盾しています。

原因:	値がデータ型と互換性がありません。

処置:	データ型と互換性のある値を入力してください。


FRM-11400;
FRM-11400: この名前を持つPL/SQLはすでに存在しています。

原因:	同一名のコード・セグメントを2つ作成した可能性があります。

処置:	コード・セグメントを改名します。


FRM-11402;
FRM-11402: PL/SQLが取出しできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11403;
FRM-11403: PL/SQLコンテキストが初期化できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11404;
FRM-11404: プロシージャがロードできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11405;
FRM-11405: リソース・ファイルからプログラム単位ブラウザがロードできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11406;
FRM-11406: プログラム単位ブラウザが表示できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11407;
FRM-11407: PL/SQLエディタがロードできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11408;
FRM-11408: コピー/参照されたPL/SQL<PL/SQL名>を取得できません。

原因:	指定されたPL/SQLがデータベースに存在しません。

処置:	PL/SQL名をチェックし、再試行します。


FRM-11409;
FRM-11409: プログラム単位<プログラム単位>は、すでに別のウィンドウに表示されています。

原因:	プログラム単位は、PL/SQLエディタ・ウィンドウ以外では表示できません。

処置:	他のウィンドウからプログラム単位を表示します。


FRM-11410;
FRM-11410: メニュー項目<メニュー項目名>は、すでに別のウィンドウに表示されています。

原因:	メニュー項目は、1つのメニュー･エディタ・ウィンドウ以外では表示できません。

処置:	別のウィンドウでそのメニュー項目を表示します。


FRM-11411;
FRM-11411: メニュー<メニュー名>は、すでに別のウィンドウに表示されています。

原因:	メニュー起動コードは、PL/SQLエディタ・ウィンドウ以外では表示できません。

処置:	メニュー起動コードの表示を他のウィンドウで行います。


FRM-11412;
FRM-11412: <プログラム単位>のPL/SQLコードは、大きすぎて格納できません。

原因:	このプログラム単位は、大きすぎて単一のメモリー割当てに格納できません。

処置:	コードのカプセル化およびいくつかのプログラム単位に分割することにより、PL/SQLコードのサイズを縮小します。


FRM-11413;
FRM-11413:  <プログラム単位>のPL/SQLコードは、大きすぎて解読できません。<プログラム単位>は、より小さいプログラム単位にする必要があります。

原因:	プログラム単位が大きすぎて、単一のメモリー割当てでデコードできません。増分コンパイル機能を喪失する場合があります。

処置:	そのプログラム単位をいくつかの小さいプログラム単位に分割して、それぞれのプログラム単位を単一のメモリー割当てでデコードします。


FRM-11414;
FRM-11414: PL/SQLメニュー項目コードは、このメニュー項目には適用されません。

原因:	セパレータ・メニュー項目、あるいはコマンド・タイプが'NULL'または'メニュー'の場所にPL/SQLコードを入力できません。

処置:	異なるメニュー・タイプを選択します。


FRM-11504;
FRM-11504: この名前を持つトリガーはすでに存在しています。

原因:	同じタイプの既存のトリガーと同じ定義レベルでトリガーの定義が試みられました。

処置:	なし。


FRM-11507;
FRM-11507: ファイルからトリガーが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11508;
FRM-11508: この定義レベルでは、ビルトイン・トリガーは無効です。

原因:	無効な定義レベル（form-または block-、item-）でトリガー定義を試行しました。一定のトリガーは特定定義レベルでのみ有効です。

処置:	「オブジェクト」フィールドを変更して、有効定義レベルを指定します。詳細は、「トリガー定義レベル（trigger definition）」のヘルプを参照してください。


FRM-11510;
FRM-11510: フォーム<フォーム名>でコピーまたは参照されたトリガー<トリガー名>を取得できません。

原因:	指定トリガーが指定フォーム内に存在しません。

処置:	トリガーおよびフォーム名をチェックし、再試行します。


FRM-11511;
FRM-11511: データ・ブロック<データブロック名>でコピーまたは参照されたトリガー<トリガー名>を取得できません。

原因:	指定トリガーが指定ブロックにありません。

処置:	トリガー名およびブロック名をチェックし、再試行します。


FRM-11512;
FRM-11512: コピー/参照されたトリガー<トリガー名>を項目<項目名>（データ・ブロック<データ･ブロック名>）で取得できません。

原因:	指定トリガーが指定ブロック上の項目内に存在しません。

処置:	トリガー名、項目名およびブロック名をチェックし、再試行します。


FRM-11513;
FRM-11513: トリガー<トリガー名>は、すでに別のウィンドウに表示されています。

原因:	トリガーは、1つのPL/SQLエディタ・ウィンドウ以外では表示できません。

処置:	他のウィンドウでトリガーを表示します。


FRM-11601;
FRM-11601: ファイルからＶ２トリガーが取出しできません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11604;
FRM-11604: V2スタイルのトリガーをForm Builderで編集することはできません。

原因:	V2スタイル・トリガーは廃止され、編集できません。

処置:	V2スタイル・トリガーを新しいPL/SQLトリガーに置換します。


FRM-11701;
FRM-11701: この名前を持つ警告はすでに存在しています。

原因:	アクティブ・フォームに同一名が定義された警告がすでにあります。

処置:	その警告に一意の名前を入力します。


FRM-11703;
FRM-11703: ファイルから警告オブジェクトが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11706;
FRM-11706: コピー/参照された警告<警告名>を取得できません。

原因:	指定の警告がデータベースに存在しません。

処置:	警告名をチェックし、再試行します。


FRM-11801;
FRM-11801: この名前を持つエディタはすでに存在しています。

原因:	同一名がアクティブ・フォームに定義されたエディタがすでに存在します。

処置:	エディタに一意の名前を入力します。


FRM-11803;
FRM-11803: ファイルからエディタ・オブジェクトが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11804;
FRM-11804: コピー/参照されたエディタ<エディタ名>を取得できません。

原因:	指定されたエディタがデータベースに存在しません。

処置:	エディタ名をチェックし、再試行します。


FRM-11900;
FRM-11900: この名前を持つ値リストはすでに存在しています。

原因:	値リストに指定された名前が、同一フォームに定義された既存値リスト名と重複しています。

処置:	アクティブ・フォーム内の値リストの中で一意の有効名を入力します。


FRM-11901;
FRM-11901: 値リストの作成試行中にエラーが発生しました。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11903;
FRM-11903: ファイルから値リスト・オブジェクトが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-11905;
FRM-11905: select文で参照される項目がありません。

原因:	存在しない項目を選択しようとしています。

処置:	表をチェックし、select文を修正します。


FRM-11907;
FRM-11907: レコード・グループはフォーム内で存在しなければなりません。

原因:	「レコード・グループ」プロパティで指定されたレコード・グループが、アクティブ・フォーム内に存在しません。

処置:	既存のレコード・グループの名前を入力するか、新規レコード・グループを作成します。


FRM-11908;
FRM-11908: 項目名は有効でなければならず、かつそれがフォーム内で存在しなければなりません。

原因:	「戻り項目」プロパティに無効な値が含まれています。

処置:	「戻り項目」プロパティに有効値を入力します。有効値としては、アクティブ・フォーム内の項目の名前、グローバル変数の名前またはフォーム・パラメータの名前が含まれます。オブジェクト名のはじめにコロンを付けたり、オブジェクト名を引用符で囲まないでください。


FRM-11909;
FRM-11909: 有効な列表示幅が必要です。

原因:	値リスト内の1つ以上の列の「画面幅」プロパティがブランクになっているか、無効な数値を含んでいます。

処置:	各値リスト列の「画面幅」値を0（非表示列）または非負数値のいずれかに変更します。


FRM-11910;
FRM-11910: コピーまたは参照された値リスト<値リスト名>を取得できません。

原因:	指定された値リストがデータベースに存在しません。

処置:	値リスト名をチェックし、再試行します。


FRM-12000;
FRM-12000: この名前のレコード・グループは、すでに存在しています。

原因:	そのレコード・グループに指定された名前が、同一フォーム内に定義された既存のレコード・グループの名前と重複しています。

処置:	アクティブ・グループ内のレコード・グループの中で一意の有効名を入力します。


FRM-12001;
FRM-12001: レコード・グループを作成できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12003;
FRM-12003: レコード・グループ・オブジェクトが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12005;
FRM-12005: コピーまたは参照されたレコード・グループ<レコード・グループ>を取得できません。

原因:	指定されたレコード・グループがデータベースにありません。

処置:	レコード・グループ名をチェックし、再試行します。


FRM-12006;
FRM-12006: レコード・グループ名は必須入力であり、かつフォーム内で一意でなければなりません。

原因:	指定されたレコード・グループ名が正しくありません。

処置:	一意の名前を入力します。


FRM-12103;
FRM-12103: この名前のキャンバスがすでに存在しています。

原因:	キャンバスに指定された名前が、同一フォームに定義された既存キャンバスの名前と重複しています。

処置:	アクティブ・フォーム内のキャンバス・オブジェクトの中で一意の有効名を入力します。


FRM-12105;
FRM-12105: ファイルからキャンバス・オブジェクトを取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12107;
FRM-12107: コピー/参照されたキャンバス<キャンバス名>を取得できません。

原因:	指定されたキャンバス・ビューがデータベースに存在しません。

処置:	キャンバス・ビュー名をチェックし、再試行します。


FRM-12211;
FRM-12211: この名前を持つウィンドウはすでに存在しています。

原因:	このウィンドウに指定された名前が、同一フォームに定義された既存ウィンドウの名前と重複しています。

処置:	アクティブ・フォーム内のウィンドウの中で一意の有効名を入力します。


FRM-12213;
FRM-12213: ウィンドウ・オブジェクトが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12214;
FRM-12214: コピー/参照されたウィンドウ<ウィンドウ名>を取得できません。

原因:	指定されたウィンドウがデータベースに存在しません。

処置:	ウィンドウ名をチェックし、再試行します。


FRM-12301;
FRM-12301: 可視属性が取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12305;
FRM-12305: この名前を持つカラーは存在しません。

原因:	「フォアグラウンド・カラー」プロパティまたは「バックグラウンド・カラー」プロパティが無効です。

処置:	「フォアグラウンド・カラー」または「バックグラウンド・カラー」プロパティに有効カラー名を入力するか、これらのプロパティをブランクにします。


FRM-12306;
FRM-12306: この名前を持つパターンは存在しません。

原因:	「塗りパターン」プロパティが無効です。

処置:	「塗りパターン」プロパティに有効パターン名を入力するか、このプロパティをブランクにしておきます。


FRM-12307;
FRM-12307: 有効なフォント・サイズを入力しなければなりません（1-100）。

原因:	「フォント・サイズ」プロパティが無効です。

処置:	有効なフォント・サイズを入力するか、このプロパティをブランクにしておきます。


FRM-12308;
FRM-12308: コピー/参照された可視属性<可視属性名>を取得できません。

原因:	指定された可視属性がデータベースに存在しません。

処置:	可視属性名をチェックし、再試行します。


FRM-12400;
FRM-12400: この名前を持つメニュー・モジュールはすでに存在しています。

原因:	既存のメニュー・モジュール名を入力しました。

処置:	メニュー・モジュールの中で一意の有効名を入力します。


FRM-12402;
FRM-12402: ファイルからメニュー・モジュールが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12404;
FRM-12404:  項目<項目名>に共用メニュー＜共有メニュー名＞があります。

原因:	このバージョンでは共有メニューはサポートされていません。

処置:	コンパイルする前に複製またはサブクラス化されたメニューにアップグレードします。


FRM-12500;
FRM-12500: メニュー名は必須入力であり、かつフォーム内で一意でなければなりません。

原因:	メニューの「名前」フィールドを名前を入力せずに終了しようとしました。

処置:	メニュー名を入力します。


FRM-12502;
FRM-12502: メニューが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12504;
FRM-12504: コピー/参照されたメニュー<メニュー名>を取得できません。

原因:	指定されたメニューがデータベースに存在しません。

処置:	メニュー名をチェックし、再試行します。


FRM-12600;
FRM-12600: この名前を持つメニュー項目はすでに存在しています。

原因:	すでに存在するメニュー項目名を入力しようとしました。

処置:	そのメニュー項目に一意で、かつ有効な名前を入力します。


FRM-12602;
FRM-12602: ファイルからメニュー項目が取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12606;
FRM-12606: コピーまたは参照されたメニュー項目<項目名>をメニュー<メニュー名>で取得できません。

原因:	指定されたメニュー項目が指定されたメニューに存在しません。

処置:	メニュー名およびメニュー項目名をチェックし、再試行します。


FRM-12700;
FRM-12700: この名前を持つパラメータはすでに存在しています。

原因:	このパラメータに指定された名前が、同一モジュール内に定義された既存パラメータの名前と重複しています。

処置:	アクティブ・モジュール内のパラメータの中で一意の有効名を入力します。


FRM-12702;
FRM-12702: メニュー・パラメータが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12705;
FRM-12705: コピーまたは参照されたメニュー・パラメータ<パラメータ>を取得できません。

原因:	指定のメニュー・パラメータがデータベースに存在しません。

処置:	メニュー・パラメータ名をチェックし、再試行します。


FRM-12800;
FRM-12800: この名前を持つロールはすでに存在しています。

原因:	ロールに指定された名前がデータベース内の既存ロールと重複しています。

処置:	一意のロール名を入力します。


FRM-12802;
FRM-12802: メニュー・ロール・オブジェクトが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12900;
FRM-12900: この名前を持つパラメータはすでに存在しています。

原因:	パラメータに指定された名前が、現モジュール内の既存のパラメータ名と重複しています。

処置:	パラメータに一意で、かつ有効な名前を入力します。


FRM-12902;
FRM-12902: フォーム・パラメータが取り出せません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-12906;
FRM-12906: コピーまたは参照されたフォーム・パラメータ<パラメータ>を取得できません。

原因:	指定されたフォーム・パラメータがデータベースに存在しません。

処置:	フォーム・パラメータ名をチェックし、再試行します。


FRM-13000;
FRM-13000: 致命的なエラーが発生しました。

原因:	レイアウト・エディタ内で内部エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。


FRM-13001;
FRM-13001: キャンバスを受け入れられません。

原因:	レイアウト・エディタ内で内部エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。


FRM-13002;
FRM-13002: スタック・キャンバスおよびタブ・キャンバスはコンテント・キャンバス内に作成しなければなりません。

原因:	レイアウト・エディタ内で内部エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。


FRM-13003;
FRM-13003: インプリメントされていないオブザーバ・イベントです。レイアウト・エディタをクローズして再度オープンしてください。

原因:	レイアウト・エディタ内で内部エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。


FRM-13504;
FRM-13504: このキャンバスにはスタック・キャンバスがありません。

原因:	スタックしたビューのビューを選択しましたが、スタックしたビューが作成されていません。

処置:	このオプションは、スタックしたビューを定義してから選択します。


FRM-13005;
FRM-13005: このタイプのオブジェクトのレイアウト・エディタでのドロップはサポートされていません。

原因:	レイアウト・エディタ内で内部エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。


FRM-13006;
FRM-13006: エラーが発生しました（致命的ではありません）。

原因:	特定のメッセージが未定義の場合に出されるデフォルト・メッセージです。

処置:	サポート担当に連絡してください。


FRM-13007;
FRM-13007: レイアウト・エディタにはオブジェクトのビューを作成できません。

原因:	Oracle Formsがレイアウト・エディタにオブジェクトを表示できませんでした。

処置:	資源不足の可能性があります。他のウィンドウをクローズするか、Oracle Formsを再起動します。


FRM-13008;
FRM-13008: JavaBean< JavaBean名>が見つかりません。

原因:	「インプリメンテーション・クラス」に指定されたJavaBeanが見つかりません。

処置:	 JavaBean名またはCLASSPATH変数（あるいはその両方）を確認します。


FRM-15000;
FRM-15000: リレーション名が重複しています。

原因:	同一名のリレーションがすでに存在しています。

処置:	リレーション名を変更します。


FRM-15001;
FRM-15001: リレーション名は必須入力であり、かつブロック内で一意である必要があります。

原因:	選択されたブロックには、同一名のリレーションがすでに存在します。

処置:	そのリレーションに一意の名前を使用します。


FRM-15002;
FRM-15002: マスター・データ・ブロックは必須であり、かつフォーム内に存在している必要があります。

原因:	無効なマスター・ブロック名またはディテール・ブロック名を入力しようとしました。

処置:	有効なブロック名を入力するか、リストから有効なブロック名を選択します。


FRM-15003;
FRM-15003: ディテール・データ・ブロックは必須であり、かつフォーム内に存在している必要があります。

原因:	無効なマスター・ブロック名またはディテール・ブロック名を入力しようとしました。

処置:	有効なブロック名を入力するか、リストから有効なブロック名を選択します。


FRM-15004;
FRM-15004: 結合条件の解析中にエラーが発生しました。

原因:	結合条件が誤りです。

処置:	提供された複数行フィールドに有効な結合条件を入力します。この結合条件は、「マスタ」フィールドに指定されたマスター・ブロックと「ディテール」フィールドに指定されたディテール・ブロックとの関係を定義します。


FRM-15005;
FRM-15005: 結合条件はNULLではありません。

原因:	結合条件が未定義です。

処置:	提供された複数行フィールドに有効な結合条件を入力します。この結合条件は、「マスタ」フィールドに指定されたマスター・ブロックと「ディテール」フィールドに指定されたディテール・ブロックとの関係を定義します。


FRM-15006;
FRM-15006: マスター・データ・ブロックとディテール・データ・ブロックとを同じにすることはできません。

原因:	マスター・ブロックとディテール・データ・ブロックが同じです。

処置:	別のマスター・ブロックまたはディテール・データ・ブロックを指定します。


FRM-15007;
FRM-15007: 指定されたデータ・ブロックに関して、マスター/ディテール・リレーションがすでに存在しています。

原因:	すでにマスターとディテールの関係を持つ2つのブロック間にリレーションを作成しようとしました。

処置:	ディテール・データ・ブロックの名前を検証して、再試行します。


FRM-15008;
FRM-15008: マスター/ディテール関連を記述しているトリガーが変更されました。

原因:	2つのデータ・ブロック間のマスター/ディテール関連を記述しているトリガーが、コードの自動更新を阻害する方法で、手動で変更されました。

処置:	リレーション・オブジェクトを削除し、再作成します。


FRM-15009;
FRM-15009: マスター・データ・ブロックを参照してはいけません。

原因:	参照ブロックへの新規リレーションの追加はできません。

処置:	参照ブロックへの新規リレーションの追加は、試行しないでください。


FRM-15100;
FRM-15100: 選択済みのすべてのオブジェクトは、同じ型でなければなりません。

原因:	オブジェクト・ナビゲータ内で選択されたすべてのオブジェクトが同一タイプであることが必要な操作を実行しようとしました。

処置:	同一タイプのオブジェクトの各グループに対して別々にその操作を実行します。


FRM-15101;
FRM-15101: 親がサブクラス化されているため、<オブジェクト名>はコピーできません。

原因:	参照先オブジェクトが所有するオブジェクトに対して操作を実行しようとしました。

処置:	操作が可能なのは、オブジェクトの親または参照のソースであるオブジェクトに対してのみです。「プロパティ・パレット」ウィンドウの参照情報を閲覧することにより、そのソース・オブジェクトが存在するモジュールを見つけます。


FRM-15102;
FRM-15102: プロパティ・クラスは、それ自体を継承します。

原因:	プロパティ・クラスをそれ自体に割り当てようとしました。つまり、親プロパティ・クラスを、現在編集中のプロパティ・クラスと同じにしようとしています。

処置:	そのオブジェクトには他のプロパティ・クラスを割り当てます。


FRM-15103;
FRM-15103: 親がサブクラス化されているため、<オブジェクト名>は削除できません。

原因:	サブクラス化オブジェクトが所有するオブジェクトを削除しようとしました。

処置:	このオブジェクトは削除できません。かわりに、プロパティ・パレットで適切なプロパティを変更しオブジェクトを使用不可にすることを検討します。


FRM-15104;
FRM-15104: 親がサブクラス化されているため、<オブジェクト名>は移動できません。

原因:	サブクラス化オブジェクトが所有するオブジェクトを移動（再オープン）しようとしました。

処置:	ソース・オブジェクト内での移動を検討します。「プロパティ・パレット」ウィンドウ内のサブクラス情報を閲覧することにより、そのソース・オブジェクトが存在するモジュールを見つけられます。


FRM-15107;
FRM-15107: リファレンスを作成できません。

原因:	参照先オブジェクトの作成を試行しましたが、そのリファレンスを作成するに必要な十分な情報がシステムにありません。

処置:	そのリファレンスのソースがファイル・システムまたはデータベースのいずれかに保存されているか確認します。保存されていない新規フォームはリファレンスのソースにはなれません。


FRM-15108;
FRM-15108: 継承されたオブジェクトの前にオブジェクトを作成できません。

原因:	参照先オブジェクトにサブオブジェクトを追加、または参照先オブジェクトからサブオブジェクトを削除しようとしました。

処置:	参照オブジェクトの構造を変更する場合は、参照のソースで操作を行う必要があります。参照のソースは、そのオブジェクト用の「プロパティ・パレット」ウィンドウにある参照情報を閲覧すればわかります。


FRM-15109;
FRM-15109: ソース・モジュールはサブクラス化する前に保存しなければなりません。

原因:	未保存のソース・モジュールを参照しようとしました。

処置:	ソース・モジュールを保存してから、参照を再設定してください。


FRM-15110;
FRM-15110: <オブジェクト名>はサブクラス化されたオブジェクト・グループに属するため、削除できません。

原因:	サブクラス化されたオブジェクト・グループに属するオブジェクトを削除しようとしました。

処置:	サブクラス化されたオブジェクト・グループ内のオブジェクトの一部が必要ではない場合には、必要なオブジェクトを個々にサブクラス化するか、必要なオブジェクトのみが入ったオブジェクト・グループを作成します。


FRM-15111;
FRM-15111: モジュールにブロックがないので、項目を作成できません。

原因:	ブロックの存在しないフォームに項目を作成しようとしました。

処置:	「所有者ビュー」に戻り、新規ブロックを作成します。


FRM-15200;
FRM-15200: このモジュールにはサイクルがあります。

原因:	このモジュールにはサブメニュー参照のサイクルがあります。

処置:	生成前に、それらのサイクルを見つけて修正します。サイクルの検索には「すべて拡張」ボタンが便利です。


FRM-15201;
FRM-15201: サイクルが作成されるので、拡張できません。

原因:	選択された項目が、その項目の親元でもあるメニューを参照しています。

処置:	そのサイクルを修正してから拡張します。


FRM-15202;
FRM-15202: このモジュールには、存在しないサブメニューへの参照があります。

原因:	このモジュールには、存在しないサブメニューを参照する項目が含まれています。

処置:	存在しない参照を修正してから拡張します。


FRM-15203;
FRM-15203: サブメニューが存在していないので、拡張できません。

原因:	このモジュールにはサブメニュー参照のサイクルがあります。

処置:	生成前に、それらのサイクルを見つけて修正します。サイクルの検索には「すべて拡張」ボタンが便利です。


FRM-15204;
FRM-15204: メニューとメニュー項目を同時にドラッグできません。

原因:	メニューおよびメニュー項目を含む複数選択をドラッグしようとしました。

処置:	メニューのドラッグは一度に1つずつ行います。


FRM-15205;
FRM-15205: 2つ以上のメニューを同時にドラッグできません。

原因:	メニューの複数選択をドラッグしようとしました。

処置:	メニューのドラッグは一度に1つずつ行います。


FRM-15206;
FRM-15206: 参照メニュー、またはメニュー項目を変更できません。

原因:	参照オブジェクトは変更できません。

処置:	参照オブジェクトの構造を変更する場合は、参照のソースで操作を行う必要があります。参照のソースは、そのオブジェクト用の「プロパティ・パレット」ウィンドウにある参照情報を閲覧すればわかります。


FRM-15207;
FRM-15207: 親項目は、サブメニューが連結される前にタイプを変更する必要があります。\n(コードが失われるかもしれません)。

原因:	サブメニューを持てない型の親項目です。

処置:	親型を変更してから、サブメニューを連結します。


FRM-15208;
FRM-15208: メニュー・エディタを開始できません。

原因:	Oracle Formsは、内部エラーにより、メニュー・エディタを起動できませんでした。

処置:	DBAまたはサポート担当に連絡してください。


FRM-15300;
FRM-15300: 列値が指定された長さを超えています。

原因:	列値がフィールドで指定された長さを超えています。

処置:	長さの指定または列値を変更します。


FRM-15400;
FRM-15400: チャート・ウィザードをロードできません。

原因:	内部エラーが起こったか、Oracle Graphicsが正しくインストールされていません。

処置:	Oracle Graphicsが正しくインストールされているか確認します。


FRM-15401;
FRM-15401: 指定したGraphics Builderファイル（OGD）をロードできません。

原因:	チャート項目の「ファイル名」プロパティで指定されたOGDファイルが見つかりませんでした。

処置:	指定OGDファイルが指定位置にあるか確認します。


FRM-15402;
FRM-15402: チャート・ウィザードを実行できません。

原因:	内部エラーが起こったか、Oracle Graphicsが正しくインストールされていません。

処置:	DBAまたはサポート担当に連絡してください。


FRM-15403;
FRM-15403: チャート項目を表示できません。

原因:	Oracle Formsは、Graphics Designer（OGD）ファイルから、VGS表示リストを取得できませんでした。

処置:	指定ファイルが有効OGDファイルであるか確認するか、OGDファイルを再作成してください。


FRM-15404;
FRM-15404: Graphics Builderファイル（OGD）の属性を設定できません。

原因:	Oracle Formsは、チャート・ウィザードからの属性をそのOGDファイルに適用できませんでした。

処置:	指定ファイルが有効OGDファイルであるか確認するか、OGDファイルを再作成してください。


FRM-15405;
FRM-15405: 新規Graphics Builderファイル（OGD）を作成できません。

原因:	内部エラーが起こったか、ユーザ－に指定位置にファイルを作成する権限がありません。

処置:	指定位置にファイルを作成する許可を取得しているか、そしてOracle Graphicsが正しくインストールされているかを確認します。


FRM-15500;
FRM-15500: 有効で一意なオブジェクト名を入力してください。

原因:	オブジェクト名は有効なOracle識別子であり、その有効範囲内で一意であることが必要です。

処置:	有効で一意の名前を入力します。


FRM-15502;
FRM-15502: このビルトイン・トリガー名は、このレベルでは有効ではありません。

原因:	オブジェクト型には無効なトリガーを作成しようとしました。

処置:	適正レベル用のトリガーの定義であるか確認しています。


FRM-15506;
FRM-15506: OLEクラスのリストを取り出せません。

原因:	登録データベースと通信できません。

処置:	OLEサーバー機能を再インストールします。


FRM-17001;
FRM-17001: 表示された項目は、データ・ブロックに表示されるレコードより大きくてはいけません。

原因:	項目の「表示項目数」プロパティを、そのブロックの「表示レコード数」プロパティより大きい数値に設定しようとしました。

処置:	「表示レコード数」プロパティが「表示項目数」プロパティ以上であるか確認します。


FRM-17002;
FRM-17002: このコントロールのテナントがありません。

原因:	制御にテナントの移入を要求するプロパティを編集しようとしました。

処置:	レイアウト・エディタから、「Insert Object」コマンドを使用してテナントを挿入します。


FRM-17003;
FRM-17003: コントロールは、このプロパティを表示するために、レイアウト・エディタで可視になっていなければなりません。

原因:	制御にレイアウト・エディタ内で可視であることを要求するプロパティを編集しようとしました。

処置:	この制御が割り当てられるキャンバスにレイアウト・エディタをオープンします。


FRM-17004;
FRM-17004: このコントロールに関する使用可能なヘルプはありません。

原因:	Oracle Formsがこの制御のヘルプ・ファイルを見つけられませんでした。

処置:	その制御が正しくインストールされていることを確認するか、その制御を再インストールします。


FRM-17005;
FRM-17005: コントロール・クラスの名前を決められません。

原因:	Formsは、制御のクラス名が使用できないためヘルプ・ファイルをオープンできません。

処置:	その制御が正しくインストールされていることを確認するか、その制御を再インストールします。


FRM-18100;
FRM-18100: ライブラリのコンパイルに失敗しました。

原因:	そのライブラリの生成が正常に行われませんでした。

処置:	すべてのプログラム単位のコンパイルが正常に行われたか検証します。


FRM-18101;
FRM-18101: インフォメーション・ナビゲータの起動に失敗しました。

原因:	インフォメーション・ナビゲータの起動に失敗しました。

処置:	インフォメーション・ナビゲータが正しくインストールされているか検証します。


FRM-18102;
FRM-18102: エラー・ダイアログの初期化に失敗しました。

原因:	Oracle Formsはデフォルト・エラー・ダイアログを作成できませんでした。

処置:	開発環境をチェックします。


FRM-18103;
FRM-18103: 開発環境（DE）の初期化に失敗しました。

原因:	Oracle Formsが開発環境を起動できませんでした。

処置:	開発環境をチェックします。


FRM-18104;
FRM-18104: オブジェクト・ナビゲータの起動に失敗しました。

原因:	Oracle Formsがオブジェクト・ナビゲータを起動できませんでした。

処置:	開発環境をチェックします。


FRM-18105;
FRM-18105: ヘルプ・システムの起動に失敗しました。

原因:	Oracle Formsはヘルプ・システムを起動できませんでした。

処置:	開発環境をチェックします。


FRM-18106;
FRM-18106: レイアウト・エディタ・コンテキストの作成に失敗しました。

原因:	Oracle Formsはレイアウト・エディタ・コンテキストを作成できませんでした。

処置:	開発環境をチェックします。


FRM-18107;
FRM-18107: このモジュールのDEコンテキストの作成に失敗しました。

原因:	Oracle Formsが、このモジュールのDEコンテキストを作成できませんでした。

処置:	開発環境をチェックします。


FRM-18108;
FRM-18108: 次のオブジェクトのロードに失敗しました。

原因:	Oracle Formsが、指定された外部参照をロードできませんでした。

処置:	すべての参照フォームおよび参照オブジェクト・ライブラリが存在するか検証します。


FRM-18109;
FRM-18109: オブジェクト<オブジェクト名>は、すでにオブジェクト・グループ<オブジェクト･グループ名>の内部に存在しています。

原因:	追加しようとしたプログラム単位と同じ名前のプログラム単位が同じオブジェクト･ライブラリのオブジェクト･グループの中にすでに存在していました。

処置:	古いプログラム単位を削除してから、再度追加してください。


FRM-18110;
FRM-18110: プログラム単位<プログラム単位名>（オブジェクト・グループ<内部オブジェクト･グループ名>内）は、すでにこのオブジェクト・ライブラリに存在します。

原因:	追加しようとしたプログラム単位と同じ名前のプログラム単位が同じオブジェクト･ライブラリのオブジェクト･グループの中にすでに存在していました。

処置:	オブジェクト･ライブラリからプログラム単位を削除するか、オブジェクト・グループからプログラム単位を削除してから、再試行します。


FRM-18111;
FRM-18111: 要求されたフォント・プロパティを持つフォントが見つかりません。

原因:	このオブジェクトのフォント・ダイアログを表示しようとしましたが、要求されたフォント・プロパティを持つフォントがシステム内にありませんでした

処置:	フォント・プロパティ（名前、サイズ、スタイル、太さまたは間隔）の１つを変更し、再試行します。


FRM-18112;
FRM-18112: Form Builderのオートメーション・サーバーとしての初期化に失敗しました。

原因:	ご使用のシステムにOLE/COMが正しくインストールされていないため、Form Builderをオートメーション・サーバーとして初期化できませんでした。

処置:	OLE/COMのインストレーションとレジストリ設定を検証します。


FRM-18113;
FRM-18113: Form BuilderはOracle Designerのオートメーション・サーバーとしての初期化に失敗しました。

原因:	レジストリ設定が正しくないか、または使用しているシステムにOLE/COMが正しくインストールされていないため、Oracle Designerをオートメーション・サーバーとして初期化できませんでした。

処置:	OLE/COMのインストレーションとレジストリ設定を検証します。


FRM-40007;
FRM-40007: ユーザー識別名またはパスワードが無効です。再入力してください。

原因:	誤ったOracleユーザー名またはパスワードを入力しました。

処置:	ユーザー名およびパスワードを再度正しく入力してください。

レベル:	>25

タイプ:	エラー


FRM-40010;
FRM-40010: フォーム<フォーム名>を読込めません。

原因:	次のいずれかです。

1. 存在しないフォーム名を入力しました。

2. 不完全なパスを入力しました。

3. フォームを実行するための適切な権限がありません。

4. コンパイルされたフォームがありません。

処置:	フォーム名を正しく再入力するか、正しいパス名を提供、フォームをコンパイル、DBAに連絡するなど、必要な作業を適宜実行します。

レベル:	5

タイプ:	エラー


FRM-40011;
FRM-40011: フォームは古いバージョンのForm Builderで作成されています。

原因:	この.FMBファイルは、旧非互換バージョンのForms Compilerで作成されています。

処置:	フォームを再コンパイルします。

レベル:	>25

タイプ:	エラー


FRM-40012;
FRM-40012: フォームは新しいバージョンのForm Builderで作成されています。

原因:	この.FMBファイルは、新非互換バージョンのForms Compilerで作成されています。

処置:	このフォームを再コンパイルします。

レベル:	>25

タイプ:	エラー


FRM-40013;
FRM-40013: プログラム・エラー: フォームを読み込み中にエラーが発生しました。

原因:	Form Builderによる.FMBファイルの読込み試行中に内部エラーが発生しました。

処置:	このフォームを再コンパイルします。

レベル:	>25

タイプ:	エラー


FRM-40014;
FRM-40014: メモリー不足のためフォームをロードできません。

原因:	内部エラーです。ご使用のコンピュータにはこのフォームの実行に十分なメモリーがありません。

処置:	そのフォームを実行可能な形にデザイナで変更できる可能性があります。もしこれが実行可能でなければ、オペレーティング・システムのパラメータを変更するか、コンピュータにもっと多くのメモリーを追加するなど、もっと多くのメモリーが使用できる作業環境にする必要があります。

レベル:	>25

タイプ:	エラー


FRM-40015;
FRM-40015: FRM-40015: フォームの読込み中に予期せぬエンド・オブ・ファイルが検出されました。

原因:	フォームが細分化されているか、不完全です。

処置:	このフォームを再コンパイルします。

レベル:	>25

タイプ:	エラー


FRM-40019;
FRM-40019: 表示するべき画面番号が不明です。

原因:	内部エラーが発生しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40020;
FRM-40020: ページ<ページ番号>はこのフォームには小さすぎます。

原因:	アプリケーションの設計エラーです。ページ外に項目が配置されています。

処置:	与えられたページに関連付けされたすべての項目がそのページに完全におさまるようにします。各項目を再配置するか、ページの大きさを変更します。

レベル:	>25

タイプ:	エラー


FRM-40021;
FRM-40021: フォーム・ファイル中の項目が大きすぎます。

原因:	Form Builderがそのフォームを読み込み中に内部エラーが発生しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40023;
FRM-40023: レコード・マネージャ・コンテキストを作成できませんでした。

原因:	Form Builderがその内部レコード・マネージャを初期化できませんでした。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40024;
FRM-40024: メモリーが不足しています。

原因:	内部エラーです。ご使用のコンピュータにはこのフォームの実行に十分なメモリーがありません。

処置:	そのフォームを実行可能な形にデザイナで変更できる可能性があります。もしこれが実行可能でなければ、オペレーティング・システムのパラメータを変更するか、コンピュータにもっと多くのメモリーを追加するなど、もっと多くのメモリーが使用できる作業環境にする必要があります。

レベル:	>25

タイプ:	エラー


FRM-40025;
FRM-40025: ファイル入力なしに画面出力を抑止できません。

原因:	非互換の作業環境によりコマンド行上でフォームを実行しようとしました。このoutput_file作業環境が有効なのは、keyin作業環境との併用時のみです。

処置:	output_fileおよびkeyin作業環境の両方を組み込んだコマンドを再入力します。

レベル:	>25

タイプ:	エラー


FRM-40026;
FRM-40026: キー・スクリプト・ファイルをオープンできません。

原因:	Form Builderは、keyin作業環境で指定されたファイルをオープンできません。

処置:	そのファイルが存在するか、ファイル保護が正しく設定されているか確認します。または、keyin作業環境でファイルを作成します。

レベル:	>25

タイプ:	エラー


FRM-40027;
FRM-40027: 表示スプール・ファイルをオープン中にエラーが発生しました。

原因:	オペレーティング・システム・エラーです。ディスク領域が不十分か、指定ファイル名が間違っているので、Form Builderはoutput_file作業環境で指定されたファイルをオープンできません。

処置:	DBAまたはシステム管理者に連絡します。

レベル:	>25

タイプ:	エラー


FRM-40028;
FRM-40028: メッセージ・ファイル<ファイル名><ファイル名><ファイル名>.MSBをオープンできません。

原因:	Form Builderはメッセージ・ファイルを見つけられません。

処置:	メッセージ・ファイルが存在するか、適正パスが設定されているか確認します。

レベル:	>25

タイプ:	エラー


FRM-40029;
FRM-40029: すでにログオンされています。ログアウトは接続の変更前にしなければなりません。

原因:	すでにログオンされているのにLogin()ビルトインが発行されました。

処置:	最初にLogout()ビルトインを発行します。

レベル:	>25

タイプ:	エラー


FRM-40030;
FRM-40030: ファイル<ファイル名>がForms4.0のファイルではありません。

原因:	コマンド行に指定されたファイルは有効なForm Builderファイルではありませんでした。

処置:	有効なファイル名を指定したForms Runtime起動コマンドを再入力します。

レベル:	レベルなし

タイプ:	起動メッセージ


FRM-40031;
FRM-40031: ファイル<ファイル名>はFormsランタイム・ファイルではありません。

原因:	コマンド行に指定されたファイルはForms Runtime（.FMX）ファイルではありません。

処置:	有効なForms Runtime（.FMX）ファイルを再入力します。

レベル:	レベルなし

タイプ:	起動メッセージ


FRM-40032;
FRM-40032: 内部エラー: ファイル<ファイル名>は、不適当な長大文字列サイズを含んでいます。

原因:	内部エラーです。ファイルのコンパイルが誤っているか、破壊されています。

処置:	ファイルを再コンパイルします。

レベル:	レベルなし

タイプ:	起動メッセージ


FRM-40033;
FRM-40033: 内部エラー: ファイル<ファイル名>は、間違った長大文字列表を含んでいます。

原因:	内部エラーです。ファイルのコンパイルが誤っているか、破壊されています。

処置:	ファイルを再コンパイルします。

レベル:	レベルなし

タイプ:	起動メッセージ


FRM-40034;
FRM-40034: ライブラリ・ファイルを連結できません。

原因:	Form Builderが指定ライブラリ・ファイルを検出できませんでした。

処置:	Forms Runtimeを終了し、再試行します。

レベル:	>25 （このメッセージは抑止できません）

タイプ:	エラー


FRM-40035;
FRM-40035: ブロック・レコード・マネージャのコンテキストの作成でエラーが発生しました。

原因:	Form Builderがその内部レコード・マネージャを初期化できませんでした。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40036;
FRM-40036: ライブラリは新しいバージョンのForm Builderで作成されています。

原因:	Form Builderはライブラリを使用できませんでした。

処置:	現行バージョンのForm Builderでそのライブラリを再コンパイルします。

レベル:	>25

タイプ:	エラー


FRM-40037;
FRM-40037: ライブラリは古いバージョンのForm Builderで作成されています。

原因:	Form Builderはライブラリを使用できませんでした。

処置:	現行バージョンのForm Builderでそのライブラリを再コンパイルします。

レベル:	>25

タイプ:	エラー


FRM-40038;
FRM-40038: VBX制御<VBX制御名>が見つかりませんでした。

原因:	アプリケーションの設計エラーです。.FMBファイルで指定されたVBX制御が実行時に見つかりませんでした。

処置:	そのVBX制御ファイルが、Form Builderに指定された位置にあるか確認します。

レベル:	>25

タイプ:	エラー


FRM-40039;
FRM-40039: ライブラリ<ライブラリ名>を連結できません（フォーム<フォーム名>をオープン中）。

原因:	与えられたライブラリがフォームに連結されていますが、PL/SQLライブラリの検索パスにありません。

処置:	与えられたライブラリがあるか、そしてそれに読込み権限が設定されているか確認します。

レベル:	99

タイプ:	エラー


FRM-40100;
FRM-40100: 最初のレコードです。

原因:	カーソルが最初のレコードにあるときに[前のレコードへ]を押しました。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	エラー


FRM-40101;
FRM-40101: キー項目に位置づけることができません。ナビゲート可能なものがありません。

原因:	[次の主キーへ]を押しましたが、このブロックには入力可能な主キー項目がありません。

処置:	[次の主キーへ]ではなく、[次の項目へ]を使用します。

レベル:	10

タイプ:	エラー


FRM-40102;
FRM-40102: まずレコードを入力、または削除してください。

原因:	[次のレコードへ]または[下]を押しましたが、このコンテキストでは無意味です。次の状態のいずれかです。

1.  ブロック内の最後のレコードが現レコードです。

2.  ブロックが空です。

3.  [レコード作成]を押して作成した、ブロック中の新規のレコードにいます。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	エラー


FRM-40103;
FRM-40103: キー項目に位置づけることができません。問合せ可能なキー項目はありません。

原因:	[次の主キーへ]を使用しようとしましたが、ブロック内のどの主キー項目にも問合せ基準を入力できません。

処置:	アクションは必要ありません。

レベル:	10

タイプ:	エラー


FRM-40104;
FRM-40104: <ブロック名>というブロックはありません。

原因:	ランタイム・エラーです。GO_BLOCK文が、存在しないブロックを参照しています。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40105;
FRM-40105: 項目<項目名>への参照が解決できません。

原因:	ランタイム・エラーです。GO_ITEM文が、存在しない項目を参照しています。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40106;
FRM-40106: 宛先ブロックにナビゲート可能な項目がありません。

原因:	ランタイム・エラーです。GO_BLOCK文が、入力可能項目のないブロックを参照しています。

処置:	その文を削除するか、ブロック内の最低1つの項目を入力可能にします。

レベル:	>25

タイプ:	エラー


FRM-40107;
FRM-40107: 非表示項目<項目名>にナビゲートできません。

原因:	ランタイム・エラーです。GO_ITEM文が、非表示項目を参照しています。

処置:	その文を削除するか、指示項目の[可視]プロパティを[はい]にします。

レベル:	>25

タイプ:	エラー


FRM-40108;
FRM-40108: フォーム<フォーム名>は存在しません。

原因:	存在しないかロードされていないフォームのプロパティを取得/設定しようとしました。

処置:	有効なフォーム名を使用します。

レベル:	>25

タイプ:	エラー


FRM-40109;
FRM-40109: 問合せ入力モードにある現行ブロックからナビゲートすることはできません。

原因:	問合せ入力モード時に現ブロックからナビゲートしようとしました。

処置:	アクションは必要ありません。問合せ入力モード時には、現ブロックまたは現レコードからナビゲートできません。

レベル:	99

タイプ:	エラー


FRM-40110;
FRM-40110: カーソルは先頭ブロックにあります。

原因:	カーソルが先頭ブロックにあるときに[前のブロックへ]を試行しました。

処置:	なし他のナビゲート方法を検討します。

レベル:	5

タイプ:	エラー


FRM-40111;
FRM-40111: カーソルは最終ブロックにあります。

原因:	カーソルが最終ブロックにあるときに[次のブロックへ]を試行しました。

処置:	なし他のナビゲート方法を検討します。

レベル:	5

タイプ:	エラー


FRM-40200;
FRM-40200: フィールドは、UPDATEに対してプロテクトがかかっています。

原因:	更新が許可されないフィールドを更新しようとしました。

処置:	アクションは必要ありません。このフォームのこのフィールドは更新できません。

レベル:	15

タイプ:	エラー


FRM-40201;
FRM-40201: フィールドは一杯です。文字を挿入できません。

原因:	Form Builderは挿入モードで、現フィールドは一杯です。

処置:	1文字削除して新規文字用の空間を作るか、[挿入/置換]を押して置換モードをアクティブにします。

レベル:	10

タイプ:	エラー


FRM-40202;
FRM-40202: フィールドに入力してください。

原因:	データ入力を必要とするフィールドに値を入力していないか、値を削除しました。

処置:	このフィールドには値の入力が必要です。

レベル:	15

タイプ:	エラー


FRM-40203;
FRM-40203: フィールドに完全に入力してください。

原因:	固定長要件をもつフィールドに完全な値を入力していないか、値の一部を削除しました。

処置:	完全な値（フィールドの端まで続く値）を入力します。

レベル:	15

タイプ:	エラー


FRM-40204;
FRM-40204: カーソルがフィールド値の最初にあります。

原因:	このフィールドの先頭文字位置の前の文字を削除しようとしました。

処置:	[削除キー]を使用して、カーソルの下の文字を削除します。

レベル:	10

タイプ:	エラー


FRM-40205;
FRM-40205: カーソルが現行フィールドの値を超えています。

原因:	ブロック・モード端末で、カーソルをフィールド外に配置しました。

処置:	カーソルをそのフィールド内に移動し、再入力を行います。

レベル:	15

タイプ:	エラー


FRM-40206;
FRM-40206: 直前の文字は現在非表示です。

原因:	スクリーン外の文字を削除しようとしました。

処置:	矢印キーまたは[左スクロール]および[右スクロール]を使用して、削除したい文字が表示されるようスクロールします。

レベル:	10

タイプ:	エラー


FRM-40207;
FRM-40207: 値は<数値>から<数値>までの範囲内になければなりません。

原因:	入力した値は有効項目範囲にありません。

処置:	表示範囲に値を入力します。

レベル:	15

タイプ:	エラー


FRM-40208;
FRM-40208: フォームは、問合せ専用モードで実行されています。データベース・フィールドを変更できません。

原因:	問合せ専用モードで値を入力しました。

処置:	このフォーム上に値を入力しないでください。問合せを実行しデータを表示できますが、既存データの変更または新規データの入力はできません。

レベル:	15

タイプ:	エラー


FRM-40209;
FRM-40209: フィールドは書式<フォーマット名>に合っていません。

原因:	入力値は、フィールド上の書式マスクに一致しませんでした。

処置:	書式マスクに一致するフィールド値で再試行します。

レベル:	>25

タイプ:	エラー


FRM-40210;
FRM-40210: 検索文字列が見つかりません。

原因:	このモジュールには検索文字列がありません。

処置:	探索文字列が正確かどうか確認するか、他の探索文字列を試行します。

レベル:	99

タイプ:	通知


FRM-40211;
FRM-40211: 警告! 改行はこのフィールドでは削除される可能性があります｡

原因:	新規行をもつデータを単一行テキスト・フィールドに割り当てようとしました。

処置:	新規行が必要であれば、複数行テキスト・フィールドに割り当てます。

レベル:	5

タイプ:	通知


FRM-40212;
FRM-40212: フィールド<フィールド名>の値が無効です。

原因:	原因は次のいずれかです。

1.  値が適切なデータ型ではありません。

2.  値が許容値のどのリストにも一致しません。

3.  テキスト・フィールドに対し、値が指定された範囲に一致しません。

処置:	他の値で再試行します。

レベル:	>20

タイプ:	MESSAGE


FRM-40213;
FRM-40213: 領域コピー/領域カットができません; 領域が選択されていません｡

原因:	領域が選択されていません。

処置:	領域を選択し、再試行します。

レベル:	5

タイプ:	エラー


FRM-40214;
FRM-40214: クリップボードをコピー/カット用にオープンできません。

原因:	クリップボードが使用不能です。

処置:	プラットフォームにより異なります。

レベル:	99

タイプ:	エラー


FRM-40215;
FRM-40215: クリップボードに書込みできません。

原因:	クリップボードが使用不能です。

処置:	プラットフォームにより異なります。

レベル:	99

タイプ:	エラー


FRM-40216;
FRM-40216: クリップボードをペースト用にオープンできません。

原因:	クリップボードが使用不能です。

処置:	プラットフォームにより異なります。

レベル:	99

タイプ:	エラー


FRM-40217;
FRM-40217: クリップボードからデータ・サイズを取得できません。

原因:	データが無効です。

処置:	プラットフォームにより異なります。

レベル:	99

タイプ:	エラー


FRM-40218;
FRM-40218: クリップボードから読込みできません。

原因:	データが無効です。

処置:	プラットフォームにより異なります。

レベル:	99

タイプ:	エラー


FRM-40219;
FRM-40219: クリップボードから読込まれたデータをフォーマットできません。

原因:	データが無効です。

処置:	プラットフォームにより異なります。

レベル:	99

タイプ:	エラー


FRM-40220;
FRM-40220: クリップボードからペーストできません; 値が長すぎます。

原因:	データが無効です。

処置:	プラットフォームにより異なります。

レベル:	99

タイプ:	エラー


FRM-40221;
FRM-40221: 領域ペーストを実行できません｡領域が選択されていません｡

原因:	イメージ項目のどの部分も選択されていないときに領域ペーストが行われました。

処置:	領域ペーストを行う前に、そのイメージ項目の領域を選択します。


FRM-40222;
FRM-40222: 使用不可の項目<データ･ブロック名><項目名>の妥当性チェックに失敗しました｡

原因:	アプリケーションの設計エラーの可能性があります。Formsにより項目に無効な値が含まれていることが判別されましたが、項目が無効であるためFormsは項目に対しフォーカスを与えることができません。この原因は次のいずれかが考えられます。

・ アプリケーションが項目に対しプログラム的に無効な値を割り当てました。

・ エンド・ユーザーが項目に無効な値を入力した後（項目の妥当性検査が行われる前）に、アプリケーションが項目をプログラム的に無効にしました。

処置:	アプリケーションの論理を訂正します。

レベル:	25

タイプ:	エラー


FRM-40301;
FRM-40301: 問合せで取り出されたレコードはありません。再入力してください。

原因:	問合せ基準に一致するレコードがありません。まだ問合せ入力モードです。

処置:	問合せ基準を調整するか、[取消]を押して問合せ入力モードを出ます。

レベル:	>25

タイプ:	通知


FRM-40302;
FRM-40302: 問合せを入力できません。問合せ可能なフィールドがありません。

原因:	問合せ可能なフィールドのあるブロックにカーソルがあるときに、[問合せ入力]を押しました。

処置:	アクションは必要ありません。

レベル:	15

タイプ:	エラー


FRM-40303;
FRM-40303: ブロックには、実表フィールドはありません。

原因:	現モジュール内のブロックの1つに実表フィールドがありません。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知


FRM-40350;
FRM-40350: 問合せで取り出されたレコードはありません。

原因:	現問合せでその表から取り出されたレコードはありません。表が空であるか、問合せの検索基準に合うレコードがありません。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知


FRM-40352;
FRM-40352: 問合せで取り出された最終レコードです。

原因:	すべてのレコードが取り出されたあとに、[下]または[次のレコードへ]、[次のレコード・セットへ]、[下へスクロール]を押しました。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知


FRM-40353;
FRM-40353: 問合せが取り消されました。

原因:	問合せ入力モードで[取消]を押したか、Form Builderがデータベースから行をフェッチ中に[CTRL]+[C]（またはそれと等価なキー）を押しました。

処置:	アクションは必要ありません。

レベル:	[CTRL]+[C]によりメッセージが起動された場合、そのメッセージ・レベルは5です。

タイプ:	通知


FRM-40355;
FRM-40355: 問合せによって<レコード件数>件のレコードが取り出されます。

原因:	[問合せ件数]が押されました。今[問合せ実行]を押すと、この個数のレコードが取り出されます。

処置:	アクションは必要ありません。

レベル:	25

タイプ:	通知


FRM-40356;
FRM-40356: 例レコードに無効な数が指定されました。問合せは発行されません。

原因:	問合せ入力モードで、例レコードに無効な数値を入力しました。

処置:	入力値を訂正し、問合せを再試行します。

レベル:	>25

タイプ:	エラー


FRM-40357;
FRM-40357: 例レコードに無効な文字列が指定されました。問合せは発行されません。

原因:	QUERYモードで、例レコードに無効なALPHAまたはCHAR値を入力しました。

処置:	入力値を訂正し、問合せを再試行します。

レベル:	>25

タイプ:	エラー


FRM-40358;
FRM-40358: 例レコードに無効な日付が指定されました。問合せは発行されません。

原因:	問合せ入力モードで、例レコードに無効な日付を入力しました。

処置:	入力値を訂正し、問合せを再試行します。

レベル:	>25

タイプ:	エラー


FRM-40359;
FRM-40359: 例レコードに無効な日付/時刻が指定されました。問合せは発行されません。

原因:	問合せ入力モードで、例レコードに無効なJDATEまたはEDATE、TIMEを入力しました。

処置:	入力値を訂正し、問合せを再試行します。

レベル:	>25

タイプ:	エラー


FRM-40360;
FRM-40360: ここではレコードの問合せはできません。

原因:	問合せ不能なブロックに問合せを試行しました。

処置:	このブロックへの問合せはしないでください。

レベル:	>25

タイプ:	エラー


FRM-40361;
FRM-40361: 問合せ操作は、TIMEデータ型をサポートしていません。

原因:	時刻フィールドでLike演算子<演算子名>により問合せが行われましたが、これはサポートされていません。

処置:	TIMEデータ型を使用せずに問合せを再記述してください。

レベル:	>25

タイプ:	エラー


FRM-40355;
FRM-40355: 問合せによって<レコード数>件のレコードが取り出されます。

原因:	[問合せ件数]が押されました。今[問合せ実行]を押すと、この個数のレコードが取り出されます。

処置:	アクションは必要ありません。

レベル:	25

タイプ:	通知


FRM-40364;
FRM-40364: 項目<項目名>のデータ型がストアド・プロシージャの対応列と一致しません。

原因:	この項目のデータ型が、ストアド・プロシージャの対応列のデータ型と異なります。

処置:	そのブロックの項目のデータ型およびストアド・プロシージャの列のデータ型は、同じにします。

レベル:	20

タイプ:	エラー

原因:	処理時間の長い問合せが現在実行中です。実行を停止するには、[取消]ボタンを押します。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知

原因:	処理時間の長い問合せが現在実行中です。実行を停止するには、このボタンを押します。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知


FRM-40400;
FRM-40400: トランザクションが完了しました。<レコード数>レコードが適用、保存されました。

原因:	保存が完了しました。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知


FRM-40401;
FRM-40401: 保存する変更内容はありません。

原因:	最終の適用または保存以降、追加または変更されたレコードはありません。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	エラー


FRM-40402;
FRM-40402: 保存は取消されました。

原因:	ロック待機中に[CTRL]+[C]（またはその等価キー）を押しました。

処置:	アクションは必要ありません。

レベル:	10

タイプ:	通知


FRM-40403;
FRM-40403: コール・フォームでは、変更内容が適用されていません。上書き保存が許可されていません。

原因:	コール側フォームでは、変更内容が適用されていません。

処置:	変更内容を適用するか、コール側フォームに戻って上書き保存を再試行します。

レベル:	15

タイプ:	エラー


FRM-40404;
FRM-40404: データベースの適用が完了しました<レコード数>レコードが適用されました。

原因:	適用が完了しました。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知


FRM-40405;
FRM-40405: 適用する変更内容はありません。

原因:	最終の適用または保存以降、追加または変更されたレコードはありません。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	エラー


FRM-40406;
FRM-40406: トランザクションが完了しました<レコード数>レコードが適用されました; すべてのレコードが保存されました。

原因:	変更内容を記録した適用を完了し、それまで適用された変更内容を保存しました。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知


FRM-40407;
FRM-40407: トランザクションが完了しました: 適用されたレコードが保存されました。

原因:	それまで適用された変更内容を保存する上書き保存を完了しました。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知


FRM-40501;
FRM-40501: Oracleエラー: 更新/削除のためにレコードを取っておくことはできません。

原因:	更新のためにレコードを選択しようとしたときに致命的エラーが発生しました。

処置:	他に情報がある場合、[エラー表示]を押すと他の情報が提供されます。また、あとでこのレコードを更新または削除できます。必要であれば、DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40502;
FRM-40502: ORACLEエラー: 値リストを読み込めません。

原因:	値リストの読込み中に致命的エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40504;
FRM-40504: ORACLEエラー: <トリガー名>トリガーを実行できません。

原因:	トリガーの実行試行中に致命的エラーが発生しました。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40505;
FRM-40505: ORACLEエラー: 問合せを実行できません。

原因:	処理エラーに遭遇しました。このフォームの現ブロックと対応付けされた表が存在しないか、ご使用のユーザー名では、その表に指定アクションを実行する権限がない可能性があります。

処置:	他に情報がある場合、[エラー表示]を押すと他の情報が提供されます。また、あとでこのレコードを更新または削除できます。必要であれば、DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40506;
FRM-40506: ORACLEエラー: レコードの一意性をチェックできません。

原因:	レコードの主キー項目の一意性のチェック中に処理エラーが検出されました。このフォームの現ブロックと対応付けされた表が存在しないか、その表にアクセスする権限がありません。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40507;
FRM-40507: Oracleエラー: 次の問合せレコードを取出せません。

原因:	次のいずれかです。

1.	次の問合せレコードをフェッチしようとしている間に致命的なエラーが発生しました。

2. ODBCを介しOracle以外のデータベースに接続されている場合は、コミット後、結果セット内でのカーソルの位置を失いました。

処置:	Oracleデータベース以外で接続している場合は、再度問い合わせます。それ以外の場合は、DBAに問い合わせてください。

レベル:	>25

タイプ:	エラー


FRM-40508;
FRM-40508: Oracleエラー: レコードをINSERTできません。

原因:	レコードの挿入試行中に致命的エラーが発生しました。このフォームの現ブロックに対応付けされた表が存在しないか、そのユーザー名にその表に指定されたアクションを実行する権限がないか、または他の理由によりその致命的エラーが発生した可能性があります。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40509;
FRM-40509: Oracleエラー: レコードをUPDATEできません。

原因:	レコードの更新試行中に致命的エラーが発生しました。このフォームの現ブロックに対応付けされた表が存在しないか、そのユーザー名にその表に指定されたアクションを実行する権限がないか、または他の理由によりその致命的エラーが発生した可能性があります。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40510;
FRM-40510: Oracleエラー: レコードをDELETEできません。

原因:	レコードの削除中に致命的エラーが発生しました。このフォームの現ブロックに対応付けされた表が存在しないか、そのユーザー名にその表に指定されたアクションを実行する権限がないか、または他の理由によりその致命的エラーが発生した可能性があります。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40511;
FRM-40511: トリガー<トリガー名>の実行中にOracleエラーが発生しました。

原因:	トリガーの実行試行中に致命的エラーが発生しました。このフォームの現ブロックに対応付けされた表が存在しないか、そのユーザー名にその表に指定されたアクションを実行する権限がないか、または他の理由によりその致命的エラーが発生した可能性があります。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40512;
FRM-40512: Oracleエラー: SAVEPOINTコマンドを発効できません。

原因:	新規フォームのコールまたはコミット試行中に、発行されたSAVEPOINITコマンドが失敗しました。普通、これはそのモジュールのセーブポイントがなくなったことを意味します。

処置:	[エラー表示]を押して、その特定のORACLEエラーを表示します。INIT.ORAファイル内の最大セーブポイント数を増やせる場合があります。

レベル:	>25

タイプ:	エラー


FRM-40513;
FRM-40513: Oracleエラー: データベースから日付/時間を取得できません。

原因:	データベースの日付/時間の初期値を解消中に、エラーが発生しました。

処置:	まだ接続していない場合には接続します。データベース状態を検証します。

レベル:	10

タイプ:	エラー


FRM-40514;
FRM-40514: 操作するには、データベース接続してください。

原因:	データベースに接続せずにデータベース操作を実行しようとしました。

処置:	データベースに接続してから、再試行します。

レベル:	20

タイプ:	エラー


FRM-40515;
FRM-40515: Oracleエラー: カーソルをオープンできません。

原因:	オープン可能なカーソル数の限度に達しました。

処置:	オープン中のカーソル数をチェックします。

レベル:	99

タイプ:	エラー


FRM-40600;
FRM-40600:レコードは既に挿入されています。

原因:	レコードの挿入または更新が試みられましたが、ブロックの主キー項目は一意にしてください。挿入中または更新中でこのレコードは一意ではありません。

処置:	現レコードの1つ以上の主キーフィールドの値が一意となるように変更します。主キーフィールドの一意性要件により問題が発生する場合には、制約の排除を検討します。

レベル:	>25

タイプ:	エラー


FRM-40602;
FRM-40602: ビューへの挿入、またはデータの更新は行えません。

原因:	許可されない方法で、ビューの内容を変更しようとしました。

処置:	アクションは必要ありません。ただし、試行した操作は実行できません。

レベル:	20

タイプ:	エラー


FRM-40603;
FRM-40603: レコードは更新のため予約されていません。再問合せをして変更してください。

原因:	FOR_UPDATE パラメータの付いたENTER_QUERYまたはEXECUTE_QUERYパッケージ・プロシージャを入力したブロックで変更をコミットしました。このアクションでは、このブロックのレコード上のすべてのロックが解除されます。

処置:	そのブロックを変更したい場合には、再問合せを行う必要があります。

レベル:	>25

タイプ:	エラー


FRM-40652;
FRM-40652: 共有更新モードでは表をロックできません。

原因:	原因は次のいずれかです。

1. この表に対するアクセス権限がありません。

2. Form Builderが共有更新モードでその表をロックすることができません。

処置:	DBAに連絡してください。

レベル:	15

タイプ:	エラー


FRM-40653;
FRM-40653: レコードは更新/削除のために予約されていません。後でもう一度試してください。

原因:	[CTRL]+[C]（またはその等価キー）を押して取り消しました。そのレコードの更新または削除を試行する操作が終了しました。

処置:	アクションは必要ありません。

レベル:	20

タイプ:	通知


FRM-40654;
FRM-40654: レコードは別のユーザーによって更新されました。変更内容確認のため、もう一度問合せを行ってください。

原因:	問合せ実行後、別のユーザーがこのレコードを更新し、レコード内の最低1つのフィールドを変更しました。これまでのアクションでは、メモリー内のレコードは変更されていません。

処置:	別のユーザーが各フィールド値を（あなたの）問合せ実行時の状態に戻した場合のみ、このレコードの更新または削除ができます。そうでなければ、再問合せにより新規レコードを取り出し、表示してからでないと、更新または削除はできません。

レベル:	20

タイプ:	エラー


FRM-40655;
FRM-40655: SQLエラーのためロールバックされました: フォームを消去し､トランザクションを再入力してください｡

原因:	デッドロックまたはその他のエラーによって、現トランザクションが失敗しました。変更内容がロールバックされました。

処置:	フォームを消去（または終了してフォームを再入力）してから、そのトランザクションを再入力します。エラーの再発生を防ぐには、フォームの設計を変更する必要がある場合があります。

レベル:	>25

タイプ:	エラー


FRM-40656;
FRM-40656: ロールバックされたためレコードを更新できません｡レコードを消去してください｡

原因:	このレコードはすでに更新されましたが、変更内容のコミット時に、重大なエラーにより、この更新あるいはその後の更新または削除の実行が阻害されました。このエラーは、次の理由のいずれかにより発生しました。

1.  デッドロックにより行ロックが失われました。

2.  レコードにデータベース・クラスタ・キーがあり、データベース内のレコードを更新しようとする前の試みがフォーム内の別の位置のエラーのためにロールバックしました。

処置:	このフォーム内でトランザクションをコミットするには、ますこのレコードを消去する必要があります。

レベル:	25

タイプ:	エラー


FRM-40657;
FRM-40657: 別のユーザーによってレコードが変更、または削除されています。

原因:	問合せ実行後、別のユーザーがそのレコードを削除しました。

処置:	このレコードを画面から消去できますが、それ自体がデータベースに存在しないため、更新も削除もできません。

レベル:	20

タイプ:	通知


FRM-40659;
FRM-40659: 問合せ結果の最終行を取出しました。再問合せを行い、残りのレコードを確認します。

原因:	コミットの実行により、FOR_UPDATE問合せがクローズされました。この問合せはコミット前にオープンしていたので、もっと多くのレコードが取り出される場合があります。

処置:	再問合せを行い、残りのレコードを確認します。

レベル:	5

タイプ:	MESSAGE


FRM-40700;
FRM-40700: トリガー<トリガー名>は存在しません。

原因:	アプリケーションの設計エラーです。フォームにより存在しないトリガーの実行が試みられ、致命的なエラーが発生しました。

処置:	そのトリガーの参照を訂正します。

レベル:	20

タイプ:	エラー


FRM-40702;
FRM-40702: 保存されていない変更内容があるフォームをコールすることはできません。

原因:	現在のフォームに未保存の変更内容があり、セーブポイント・モードがオフの状態で、他のフォームをコールしようとしました。

処置:	変更内容をコミット/ポストします。

レベル:	15

タイプ:	エラー


FRM-40703;
FRM-40703: 取出しフィールドは、問合せモードでは変更できません。

原因:	問合せモードで取出し項目を変更しようとしました。

処置:	必須アクションはありません。

レベル:	20

タイプ:	エラー


FRM-40704;
FRM-40704: 問合せ専用モード内で使用できないSQL文が含まれています。

原因:	アプリケーションの設計エラーです。そのフォームが、問合せ専用フォームで使用できないファンクションを実行しようとしました。

処置:	フォームの設計変更が必要な場合があります。

レベル:	20

タイプ:	エラー


FRM-40705;
FRM-40705: 非コミット・トリガー内で使用できないSQL文が含まれています。

原因:	アプリケーションの設計エラーです。現トリガーに、そのトリガー・タイプには使用できないSQL文が含まれています。

処置:	そのトリガー・テキストを書き換えるか、別のタイプのトリガーを使用します。

レベル:	20

タイプ:	エラー


FRM-40714;
FRM-40714: このコンテキストでは使用できない機能が含まれています。

原因:	アプリケーションの設計エラーです。現トリガーに、使用できないファンクション・コードが含まれています。

処置:	そのトリガー・テキストを書き換えるか、別のタイプのトリガーを使用します。

レベル:	20

タイプ:	エラー


FRM-40720;
FRM-40720: 文のリストに文が存在しません。

原因:	アプリケーションの設計エラーです。V2トリガーのステップが誤った構文を使用しています。

処置:	そのトリガー・ステップ・テキストを訂正します。

レベル:	>25

タイプ:	エラー


FRM-40721;
FRM-40721: トリガー内のファンクション・コードがありません。

原因:	アプリケーションの設計エラーです。V2トリガーのステップが誤った構文を使用しています。

処置:	そのトリガー・ステップ・テキストを訂正します。

レベル:	>25

タイプ:	エラー


FRM-40722;
FRM-40722: ファンクション名を識別できません。

原因:	アプリケーションの設計エラーです。トリガーが、存在しないファンクション・コードを参照しています。

処置:	参照を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40723;
FRM-40723: ファンクション・コード内の引数がありません。

原因:	アプリケーションの設計エラーです。ERASE文またはEXECUTE_TRIGGER文、GO_BLOCK文、GO_ITEM文、GO_RECORD文、NEW_FORM文に引数が欠落しています。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40724;
FRM-40724: CASE文にセレクタがありません｡

原因:	アプリケーションの設計エラーです。CASE文にセレクタ部分がありません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40725;
FRM-40725: CASE文にキーワードがありません。

原因:	アプリケーションの設計エラーです。CASE文にキーワードがありません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40726;
FRM-40726: CASE文に選択肢がありません。

原因:	アプリケーションの設計エラーです。CASE文にセレクタが指定されていません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40727;
FRM-40727: CASE文に無効なキーワードがあります。

原因:	アプリケーションの設計エラーです。CASE文にタイプミスのキーワードがあります。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40728;
FRM-40728: 認識できない引数または余分な引数があります。

原因:	アプリケーションの設計エラーです。ファンクションに余分な引数が指定されています。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40729;
FRM-40729: 文の最後にセミコロンがありません。

原因:	アプリケーションの設計エラーです。ファンクション・コードの終わりにセミコロンがありません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40730;
FRM-40730: 無効なメッセージ抑止レベルが指定されました。現在の<レベル数>を維持します。

原因:	アプリケーションの設計エラーです。トリガーが、システム・メッセージ・レベルを無効な数値に設定しようとしました。

処置:	SYSTEM.MESSAGE_LEVELシステム変数を有効数値にリセットします。

レベル:	>25

タイプ:	エラー


FRM-40731;
FRM-40731: INTOキーワードが欠けています。

原因:	アプリケーションの設計エラーです。COPY文にINTO句がありません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40732;
FRM-40732: GOTO先のラベルがこのマクロに存在しません。

原因:	アプリケーションの設計エラーです。PL/SQL内で参照されるラベルが存在しません。

処置:	文を訂正します。


FRM-40733;
FRM-40733: PL/SQLビルトイン<ビルトイン名>に失敗しました。

原因:	トリガー実行中に、Form BuilderまたはPL/SQLに致命的エラーが発生しました。

処置:	DBAに通知します。

レベル:	>25

タイプ:	エラー


FRM-40734;
FRM-40734: 内部エラー: PL/SQLエラーが発生しました。

原因:	トリガー実行中にPL/SQLに致命的エラーが発生しました。

処置:	DBAに通知します。

レベル:	>25

タイプ:	エラー


FRM-40735;
FRM-40735: トリガー<トリガー名>が未処理の<例外名>例外を引き起こしました。

原因:	アプリケーションの設計エラーです。現トリガーが例外（FORM_TRIGGER_FAILURE以外）を引き起こしましたが、その例外を処理しませんでした。

処置:	トリガー・テキストを書き換えてその例外を処理します。

レベル:	>25

タイプ:	エラー


FRM-40736;
FRM-40736: PL/SQLを初期化できません。

原因:	PL/SQL初期化中に内部エラーが発生しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40737;
FRM-40737:無効な制限パッケージ･プロシージャ<プロシージャ名>がトリガー<トリガー名>にあります。

原因:	アプリケーションの設計エラーです。トリガーが制限パッケージ・プロシージャを実行しようとしました。

処置:	トリガー・テキストからパッケージ・プロシージャを削除します。

レベル:	>25

タイプ:	エラー


FRM-40738;
FRM-40738: ビルトイン<ビルトイン名>の引数<引数番号>にはNULLは指定できません｡

原因:	アプリケーションの設計エラーです。ビルトインに引数が提供されていません。

処置:	このビルトインの正しい使用法はオンライン・ヘルプを参照してください。

レベル:	99

タイプ:	エラー


FRM-40739;
FRM-40739: ポスト専用フォームでは完全にロールバックすることができません｡

原因:	アプリケーションの設計エラーです。トリガーが、ポスト専用コール・フォーム内でFULL_ROLLBACKパラメータ付きのCLEAR_FORMパッケージ・プロシージャを発行しようとしました。

処置:	FULL_ROLLBACKパラメータを削除するか、コール時にコール側フォームに未ポストの変更内容がないことを確認します。

レベル:	>25

タイプ:	エラー


FRM-40740;
FRM-40740: プロシージャ<プロシージャ名>はON-<トリガー名>トリガー以外では使用できません｡

原因:	アプリケーションの設計エラーです。非トランザクション・トリガーが、与えられたトリガーに限定されたビルトイン・プロシージャを起動しようとしました。

処置:	このプロシージャの正しい利用法はオンライン・ヘルプを参照してください。

レベル:	>25

タイプ:	エラー


FRM-40741;
FRM-40741: レコード<レコード番号>はブロック<ブロック名>で検索できません。

原因:	与えられたブロックの無効なレコード番号のレコードに対するプロパティを取得または設定しようとしました。

処置:	ご使用のレコード・プロパティの取得／設定のパラメータを検証します。

レベル:	20

タイプ:	エラー


FRM-40742;
FRM-40742: レコード<レコード番号>（<レコード番号>～<レコード番号>）に無効な状態変換があります。

原因:	アプリケーションの設計エラーです。SET_RECORD_PROPERTYのコールがレコード状態間の無効な変換を試行しました。

処置:	正しい移行方法は、オンライン・ヘルプのSET_RECORD_PROPERTYを参照します。

レベル:	>25

タイプ:	エラー


FRM-40743;
FRM-40743: 実表を持たないこの操作には<トリガー名>トリガーが必要です。

原因:	アプリケーションの設計エラーです。適正なトランザクション・トリガーのない非実表ブロックにデータベース操作（問合せ、挿入、更新など）を試行しました。

処置:	トランザクション・トリガーは、オンライン・ヘルプを参照して下さい。

レベル:	20

タイプ:	エラー


FRM-40744;
FRM-40744:エディタが受け入れた場合、入力値の切捨てが起こります。

原因:	エディタのバッファが小さすぎて、入力をアクセプトできません。

処置:	エディタを変えるか、バッファを拡大します。

レベル:	15

タイプ:	エラー


FRM-40745;
FRM-40745: ビルトイン<ビルトイン名>の出力値が丸められました。

原因:	出力変数が小さすぎます。

処置:	PL/SQL出力変数の桁数を増やします。

レベル:	15

タイプ:	エラー


FRM-40746;
FRM-40746: 起動デバッガ・ウィンドウからビルトイン<ビルトイン名>をコールできません。

原因:	ビルトインは、起動デバッガ・ウィンドウからアクセスできません。

処置:	起動デバッガ・ウィンドウからアクセスできないビルトインは、[デバッガ起動制限]を参照してください。

レベル:	99

タイプ:	通知


FRM-40747;
FRM-40747: ビルトイン<ビルトイン名>はデバッグ・トリガーからコールできません。

原因:	ビルトインは、デバッグ・トリガーからアクセスできません。

処置:	デバッグ・トリガーからアクセスできるビルトインの一覧は、『Form Builder開発者ガイド』を参照してください。

レベル:	99

タイプ:	通知


FRM-40748;
FRM-40748: リセット・コマンドの入力で、トリガー<トリガー名>は終了しました。

原因:	リセット・コマンドを発行したか、デバッガー内のリセット・ボタンを押しました。

処置:	下向きにナビゲートしたいときは、コール・スタックに進みます。

レベル:	99

タイプ:	通知


FRM-40749;
FRM-40749: レコード<レコード番号>用に指定したレコード・ステータスは無効です。

原因:	アプリケーションの設計エラーです。レコードのSTATUSプロパティを無効な値に設定しようとしました。

処置:	レコードのSTATUSプロパティを、NEW_STATUS、QUERY_STATUS、INSERT_STATUSまたはCHANGED_STATUSに設定する必要があります。

レベル:	99

タイプ:	エラー


FRM-40750;
FRM-40750: レコード<レコード番号>コントロール・ブロックのステータスをQUWEYまたはCHANGEDに設定できません。

原因:	アプリケーションの設計エラーです。制御ブロック内のレコードのSTATUSプロパティをQUERY_STATUSまたはCHANGED_STATUSに設定しようとしました。

処置:	レコードのSTATUSプロパティを、NEW_STATUSまたはINSERT_STATUSに設定する必要があります。

レベル:	99

タイプ:	エラー


FRM-40800;
FRM-40800: ユーザー・イグジット<ユーザー･イグジット名>が存在しません。

原因:	存在しないユーザー・イグジットを起動しようとしました。この原因は、次のいずれかです。

1. 誤ったバージョンのForms Runtimeが使用されている。

2. フォーム内にエラーがある可能性がある。

処置:	使用中のForms Runtimeのバージョンが正しくない場合には、どのバージョンにそのユーザー・イグジットがあるかを判別し、そのバージョンを使用してフォームを実行します。フォーム内にエラーがある場合、開発者がそのユーザー・イグジットのコールを訂正する必要があります。

レベル:	20

タイプ:	エラー


FRM-40801;
FRM-40801: ユーザー・イグジットを処理するメモリーが足りません。

原因:	致命的エラーが発生しました。

処置:	DBAに連絡してください。

レベル:	25

タイプ:	エラー


FRM-40804;
FRM-40804: COPYコマンドの引数が足りません。

原因:	アプリケーションの設計エラーです。COPY文にソースまたは宛先が指定されていません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40805;
FRM-40805: ERASEコマンドの引数が足りません。

原因:	アプリケーションの設計エラーです。ERASE文に変数が指定されていません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40807;
FRM-40807: HOSTコマンドに指定されたコマンド文字列がありません。

原因:	アプリケーションの設計エラーです。HOST文にコマンド文字列が指定されていません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40808;
FRM-40808: HOSTコマンドを実行できません。エラー・コード = <エラーコード>。

原因:	オペレーティング・システム・エラーのためHOST文を実行できません。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40809;
FRM-40809: HOSTコマンドのエラー・コード=<エラーコード>

原因:	このオペレーティング・システム・コマンドから前述エラー・コードが発生しました。

処置:	コマンドを正しく入力したか検証します。

レベル:	>25

タイプ:	エラー


FRM-40811;
FRM-40811: シェル・コマンドでエラーが発生しました。

原因:	このオペレーティング・システム・コマンドから前述エラー・コードが発生しました。

処置:	コマンドを正しく入力したか検証します。

レベル:	>25

タイプ:	エラー


FRM-40814;
FRM-40814: このコンテキストでは使用できないファンクション・コードが含まれています。

原因:	アプリケーションの設計エラーです。NOFAILキーワードを受け入れないファンクションにNOFAILキーワードが指定されました。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40815;
FRM-40815: GLOBAL<変数>という名前の変数は存在しません。

原因:	アプリケーションの設計エラーです。トリガーが、存在しないグローバル変数を参照しています。

処置:	そのグローバル変数を作成するか、その参照を削除します。

レベル:	>25

タイプ:	エラー


FRM-40816;
FRM-40816: 新しい記号にメモリーを割り当てられませんでした。

原因:	内部エラーです。新規グローバル変数のアクセス中にメモリー不足になりました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40817;
FRM-40817: 新しい値にメモリーを割り当てられませんでした。

原因:	内部エラーです。新規グローバル変数のアクセス中にメモリー不足になりました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40818;
FRM-40818: システム変数名は定義されていません。

原因:	存在しないシステム変数にアクセスしようとしました。

処置:	システム変数をチェックします。

レベル:	99

タイプ:	エラー


FRM-40819;
FRM-40819: システム変数は変更できません。

原因:	システム変数を変更しようとしました。

処置:	システム変数は変更できません。

レベル:	99

タイプ:	エラー


FRM-40820;
FRM-40820: メモリー不足のためシステム変数を評価できません。

原因:	内部エラーです。システム変数のアクセス中にメモリー不足になりました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40822;
FRM-40822: SET機能の引数が足りません。

原因:	アプリケーションの設計エラーです。SETファンクション・コードに指定された引数が足りません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40823;
FRM-40823: SET機能の引数が多すぎます。

原因:	アプリケーションの設計エラーです。SETファンクション・コードに指定された引数が多すぎます。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40824;
FRM-40824: PAGE機能の引数が足りません。

原因:	アプリケーションの設計エラーです。HIDEPAGEまたはSHOWPAGEファンクション・コードに指定された引数が足りません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40825;
FRM-40825: VIEW関数の引数が足りません。

原因:	アプリケーションの設計エラーです。MOVEVIEWまたはANCHORVIEW、RESIZEVIEWファンクションに指定された引数が足りません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40826;
FRM-40826: CALL関数の引数が無効です。

原因:	アプリケーションの設計エラーです。CALLまたはCALLQRYファンクション・コードに指定された引数が足りません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40827;
FRM-40827: GOREC関数の引数が足りません。

原因:	アプリケーションの設計エラーです。GORECファンクション・コードに指定された引数が足りません。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40828;
FRM-40828: CALLかCALLQRYが無効な変数を参照しました。

原因:	アプリケーションの設計エラーです。CALLまたはCALLQRYフンクション・コードに無効な変数参照が含まれています。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-40829;
FRM-40829: EDITFIELD関数の引数が足りません。

原因:	アプリケーションの設計エラーです。EDITFIELDファンクション・コードに指定された引数が足りません。

処置:	文を訂正します。

レベル:	メッセージ抑止レベルがありません。

タイプ:	エラー


FRM-40830;
FRM-40830: DISPLAYPAGE関数の引数が足りません。

原因:	アプリケーションの設計エラーです。DISPLAYPAGEファンクション・コードに指定された引数が足りません。

処置:	文を訂正します。

レベル:	メッセージ抑止レベルがありません。

タイプ:	エラー


FRM-40831;
FRM-40831: 切捨てが発生しました｡フィールド<フィールド名>の値が長すぎます｡

原因:	アプリケーションの設計エラーです。トリガーまたは問合せ、ユーザー・イグジットが項目に値を読み込みましたが、値全体を保持する長さがその項目にありません。この項目はその値を切り捨てました。

処置:	切り捨てを避けるため、ターゲット項目の項目長を増やします。

レベル:	15

タイプ:	エラー


FRM-40900;
FRM-40900: レコード・バッファを割当てられません。フォームを消去し続行します。

原因:	取出しレコードまたは新規レコードへのメモリー割振りに失敗しました。問合せ対象の他のレコードはディスク上にバッファリングされています。これは、これ以上の一時ファイルがディスクに書き込めないことを示します。

処置:	フォームを消去し、続行します。フォームを終了して再オープンしても構いません。また、十分なディスク領域があるか、またそのディスク装置およびディレクトリに書き込む権限があるかを確認します。

レベル:	>25

タイプ:	エラー


FRM-40901;
FRM-40901: 注意: この問合せのすべてまたは一部を記憶しておくだけのメモリーがありません。

原因:	内部エラーです。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40902;
FRM-40902: SQL文が大きすぎます。

原因:	アプリケーションの設計エラーです。フォームの設計に、2048文字を超える長さのSQLコマンドが含まれています。

処置:	そのSQLコマンドを短縮します。

レベル:	>25

タイプ:	エラー


FRM-40903;
FRM-40903: 出力ファイルを作成できません。

原因:	[印刷]を押しましたが、スクリーンの内容は、次のいずれかの理由によりファイルに書き込まれませんでした。

1. 無効なファイル名が入力されました。

2. オペレーティング・システムによりファイルを作成する権限が与えられていません。

3. ディスク容量またはディレクトリ容量が足りません。

処置:	入力したファイル名をチェックし、必要に応じて訂正します。その他のヘルプが必要な場合は、DBAに連絡します。

レベル:	>25

タイプ:	エラー


FRM-40904;
FRM-40904: プログラム・エラー: レコードで不明な操作が行われました。

原因:	内部エラーです。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40905;
FRM-40905: ディスク上のレコードをこれ以上バッファリングできません。

原因:	内部エラーです。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40906;
FRM-40906: 致命エラー: バッファリングされたレコードをディスクに書き込めません。

原因:	バッファリングされたレコードのディスクへの書込みに失敗しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40907;
FRM-40907: 致命エラー: ディスクからバッファにレコードを読み込めません。

原因:	バッファリングされたレコードのディスクからの読込みに失敗しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40908;
FRM-40908: RAM内部エラー: <エラー番号>

原因:	フォームの内部レコード・マネージャ内で発生した内部エラーです。考えられる原因は、次のとおりです。

1. ディスク・バッファ・ファイルをオープンできません。

2. ディスク・バッファ・ファイルに対する読込みエラーまたは書込みエラーです。

3. メモリー不足です。

処置:	DBAに連絡してください。

レベル:	>20

タイプ:	エラー


FRM-40909;
FRM-40909: 内部エラー: 不明エラー<エラー番号>。

原因:	内部エラーです。不明なエラー・メッセージを発行しようとしました。

処置:	サポート担当に連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40910;
FRM-40910: 内部エラー: PL/SQLトリガー、またはプロシージャを実行中に発生しました。

原因:	生成エラーまたはファイル破壊の結果、PL/SQLトリガーまたはプロシージャ実行中に、内部エラーが発生しました。

処置:	フォームを再コンパイルします。サポート担当に連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40911;
FRM-40911: 順序番号生成エラーのため、レコードは作成されませんでした。

原因:	内部エラーです。順序番号オブジェクトが存在しないか、デザイナにその順序番号オブジェクトにたいする権限がないか、あるいはその他の致命的データベース・エラーが発生しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40912;
FRM-40912: WHEN-NEW-RECORDトリガーが失敗したのでレコードは作成されませんでした。

原因:	そのトリガー失敗の原因となったWhen-New-Recordトリガー内でランタイム・エラーが発生しました。新規レコードは作成されませんでした。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40913;
FRM-40913: 値リストが最大数を超えました。いくつかの値が表示されませんでした。

原因:	アプリケーションの設計エラーです。現行値リストのすべてのレコードを戻せませんでした。

処置:	値リストに戻されるのが32,767レコード以下となるよう指定します。

レベル:	>25

タイプ:	エラー


FRM-40914;
FRM-40914: メモリー割当てエラー: トランザクションを完了できません。

原因:	内部エラーです。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40915;
FRM-40915: メモリー割当てエラー: トリガー<トリガー名>を実行できません。

原因:	内部エラーです。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40916;
FRM-40916: メモリー割当てエラー: 問合せを実行できません。

原因:	内部エラーです。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40917;
FRM-40917: メモリー割当てエラー: レコードをロックできません。

原因:	内部エラーです。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	>25

タイプ:	エラー


FRM-40918;
FRM-40918: 内部エラー: Toolkitを初期化できません。

原因:	現環境または現アプリケーション内の何かが原因で、Form BuilderがOracle Toolkitを初期化できませんでした。

処置:	Form Builderのが正しくインストールされているか、現環境にすべての必要なリソース・ファイルが含まれているか、またすべてのシステム依存ガイドラインが守られているかを確認します。

レベル:	>25

タイプ:	エラー


FRM-40919;
FRM-40919: SQL文の実行で内部エラー: <エラー番号>が発生しました。

原因:	Form Builderが実行しようとしたSQL文にエラーが発生しました。

処置:	最後のSQL文をチェックします。

レベル:	25

タイプ:	エラー


FRM-40920;
FRM-40920: ビューを作成できません: システム・リソースが不足しています｡

原因:	現環境または現アプリケーション内の何かが原因でビューが作成できませんでした。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-40921;
FRM-40921: 項目<項目名>が作成できません。

原因:	現環境または現アプリケーション内の何かが原因で項目が作成できませんでした。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-40922;
FRM-40922: OLEエラーが発生しました: <エラー番号>

原因:	OLEまたはOLE関連機能と呼ばれるビルトインが失敗しました。

処置:	詳細は、OLEマニュアルのエラー番号を調べてください。

レベル:	99

タイプ:	エラー


FRM-40923;
FRM-40923: このプラットフォームではOLEがサポートされていません。

原因:	OLEサポートを必要とするビルトインがコールされましたが、ご使用のプラットフォームではOLEがサポートされていません。

処置:	OLEをサポートしていないプラットフォームで、OLEに関連するビルトインをコールしないでください。

レベル:	99

タイプ:	エラー


FRM-40924;
FRM-40924: 指定した引数索引が無効です。

原因:	現行OLE引数スタックのサイズ制限を超えて索引のあるOLE引数スタックから値を取り出そうとしました。

処置:	引数索引は、1からFORMS_OLD.InitArgs()の最終コールに指定された数値までの範囲です。

レベル:	99

タイプ:	エラー


FRM-40925;
FRM-40925: OleArgを引数として初期化する空き領域がありません。

原因:	初期化されたOLE引数スタックに格納しようとする引数が多すぎます。

処置:	FORMS_OLE.InitArgs()のコールで十分な空き領域を指定しているか確認します。

レベル:	99

タイプ:	エラー


FRM-40926;
FRM-40926: OLEオブジェクトがNULLです。

原因:	NULL OLEオブジェクトにたいする操作はできません。

処置:	NULL OLEオブジェクトのあるFORMS_OLEビルトインのコールは避けてください。

レベル:	99

タイプ:	エラー


FRM-40927;
FRM-40927: 可変レコードが配列ではありません。

原因:	可変レコードが配列を含んでいるかのようにその可変レコードにアクセスしようとしましたが、配列は含まれていません。

処置:	FORMS_OLE.Get_Dims()をコールすると、配列を含む可変レコードがあるか確認できます。配列の場合、その機能の戻り値は1以上です。

レベル:	99

タイプ:	エラー


FRM-40928;
FRM-40928: 指定した配列索引が多すぎます。

原因:	配列をもつ可変レコードにアクセスしようとしましたが、指定された配列索引が多すぎます。

処置:	FORMS_OLE.GET_Dims()が戻した数と同一数の配列索引を使用する必要があります。

レベル:	99

タイプ:	エラー


FRM-40929;
FRM-40929: 指定した配列索引が少なすぎます。

原因:	配列をもつ可変レコードにアクセスしようとしましたが、指定された配列索引が少なすぎます。

処置:	FORMS_OLE.GET_Dims()が戻した数と同一数の配列索引を使用する必要があります。

レベル:	99

タイプ:	エラー


FRM-40930;
FRM-40930: 配列索引が数値ではありません。

原因:	配列を保持する可変レコードにアクセスしようとしましたが、提供された配列索引は非数値であり、ROWでもCOLUMNでもありません。

処置:	有効な配列索引は数値のみであり、これは列により分離する必要があります。可変レコードから表にフェッチを行っている場合、表作成の間、行および列繰り返しの指標としてROWおよびCOLUMNを使用できます。

レベル:	99

タイプ:	エラー


FRM-40931;
FRM-40931: データ型がサポートされていないので、表を占有できません。

原因:	列の1つがサポートされないデータ型を使用していたため、その表の占有に失敗しました。

処置:	列タイプを整数および数字、文字列、日付に制限します。

レベル:	99

タイプ:	エラー


FRM-40932;
FRM-40932: 表のデータ型がサポートされていないので､可変レコードを挿入できません。

原因:	ソース表の列の1つにサポートされていないデータ型が使用されたため、可変レコードの挿入に失敗しました。

処置:	列タイプを整数および数字、文字列、日付に制限します。

レベル:	99

タイプ:	エラー


FRM-40933;
FRM-40933: データ型が正しくないので､表を挿入できません｡

原因:	ブロックのデータ型が表のデータ型と一致しなかったため、表の挿入に失敗しました。

処置:	表のデータ型は、取出しが行われているブロックの列のデータ型と一致する必要があります。

レベル:	99

タイプ:	エラー


FRM-40934;
FRM-40934: レコードが範囲外なので、表を占有できません。

原因:	無効な開始または最終レコードが指定されたため、表の占有に失敗しました。

処置:	start_recおよびend_recパラメータは、1と取出し可能なレコード数の間にしてください。end_recは、ALL_RECORDSとも指定可能です。

レベル:	99

タイプ:	エラー


FRM-40935;
FRM-40935: オブジェクトがローカルに存在しません。

原因:	'kill_persistent'パラメータがFALSEに設定され、解放すべきローカルなオブジェクトが存在しないため、オブジェクトの解放の試みは失敗しました。

処置:	所有していないオブジェクトは決して解放しないでください。

レベル:	10

タイプ:	エラー


FRM-41000;
FRM-41000: この機能は現在使用できません。

原因:	未定義のファンクション・キーを押しました。

処置:	押すべきファンクション・キーは、[キー一覧]を押して判別します。

レベル:	5

タイプ:	エラー


FRM-41001;
FRM-41001: この機能はこのマシン上では使用できません。

原因:	挿入/置換機能を実行しようとしました。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	エラー


FRM-41002;
FRM-41002: 有効な値を選択してください。

原因:	ブロック・メニュー上で無効な選択番号を入力しました。

処置:	既存ブロックを選択します。

レベル:	10

タイプ:	エラー


FRM-41003;
FRM-41003: この機能はここでは実行できません。

原因:	表を参照する機能を実行しようとしましたが、現ブロックはどの表にも対応しません。

処置:	アクションは必要ありません。要求された機能は、このブロックには実行できません。

レベル:	10

タイプ:	エラー


FRM-41004;
FRM-41004: この機能はこのモードでは使用できません。

原因:	このモードで動作しないファンクション・キーを押しました。

処置:	アクションは必要ありません。

レベル:	10

タイプ:	エラー


FRM-41005;
FRM-41005: 内部エラー: ファンクション・キーがインプリメントされていません。

原因:	使用禁止のファンクション・キーを押しました。

処置:	アクションは必要ありません。フォームの定義が変更されない限り、現行のコンテキストでこのファンクション・キーは使用できません。

レベル:	>25

タイプ:	エラー


FRM-41006;
FRM-41006: Formsランタイム・コマンドが見つかりません。

原因:	ご使用のキーボード・マップに定義されていないファンクション・キーを押しました。

レベル:	>25

タイプ:	エラー


FRM-41007;
FRM-41007: カーソルが有効な項目にありません。ファンクション・キーが無視されました。

原因:	このファンクション・キーを押したとき、カーソルが有効項目にありませんでした。

処置:	その項目内にカーソルを配置し、そのファンクション・キーをもう一度押します。

レベル:	10

タイプ:	エラー


FRM-41008;
FRM-41008: 未定義のキーが押されました。<ファンクション･キー名>を押して有効なキーのリストを表示してください。

原因:	未定義のファンクション・キーを押しました。

処置:	押すべきファンクション・キーは、[キー一覧]を押して判別します。

レベル:	>25

タイプ:	エラー


FRM-41009;
FRM-41009:ファンクション・キーは使用できません。<ファンクション･キー名>を押して有効なキーのリストを表示してください。

原因:	現在の環境では許可されないファンクション・キーを押しました。

処置:	押すべきファンクション・キーは、[キー一覧]を押して判別します。

レベル:	>25

タイプ:	エラー


FRM-41010;
FRM-41010: 作業中項目の属性を設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM文が、現在の項目の[入力許可]プロパティをオフにしようとしました。

処置:	この文を排除するか、そのトリガーを書き換えます。

レベル:	>25

タイプ:	エラー


FRM-41011;
FRM-41011:未定義の属性が指定されました。

原因:	アプリケーションの設計エラーです。DISPLAY_ITEMまたはDISPLAY_PAGE文が未定義の属性を設定しようとしたか、SET_ITEM_PROPERTY文が未定義のプロパティを設定しようとしました。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-41012;
FRM-41012: 未定義の項目または変数が参照されました。

原因:	アプリケーションの設計エラーです。NAME_IN文が、存在しない項目または可変レコードを参照しようとしました。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-41013;
FRM-41013: <データ･ブロック名><項目名>に未定義の属性が指定されました。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、未定義のパラメータを指定しました。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-41014;
FRM-41014: NULLキャンバス項目<キャンバス名><属性名>の属性は設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、NULLキャンバス項目のプロパティを変更しようとしました。

処置:	この項目を０ページ以外に移動します。

レベル:	>25

タイプ:	エラー


FRM-41015;
FRM-41015: 現在の項目<データ･ブロック名><項目名>のENTERABLE属性は設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、現項目の[ENTERABLE]（変更可能）プロパティを変更しようとしました。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-41016;
FRM-41016: 現在の項目<データ･ブロック名><項目名>のDISPLAYED属性は設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、現項目の[DISPLAYED]（可視）プロパティを変更しようとしました。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-41017;
FRM-41017: 非使用可能項目<データ･ブロック名><項目名>のUPDATE ALLOWED属性を設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、非入力可能項目の[UPDATE_ALLOWED]（更新可）プロパティを[はい]にしようとしました。

処置:	項目の[UPDATE_ALLOWED]（更新可）プロパティを[はい]にするには、この項目の[INPUT_ALLOWED]プロパティも[はい]オンにする必要があります。

レベル:	>25

タイプ:	エラー


FRM-41018;
FRM-41018: 非使用可能項目<データ･ブロック名><項目名>のUPDATE_NULL属性を設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、非入力可能項目の[UPDATE_NULL]（更新可）プロパティを[はい]にしようとしました。

処置:	項目の[UPDATE_NULL]（更新可）プロパティを[はい]にするには、その項目の[ENTERABLE]（変更可能）プロパティも[はい]にする必要があります。

レベル:	>25

タイプ:	エラー


FRM-41019;
FRM-41019: 非使用可能項目<データ･ブロック名><項目名>のREQUIRED属性を設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、非入力可能項目の[REQUIRED]（必須）プロパティを[はい]にしようとしました。

処置:	項目の[REQUIRED]（必須）プロパティを[はい]にするには、その項目の[ENTERABLE]（変更可能）プロパティも[はい]にする必要があります。

レベル:	>25

タイプ:	エラー


FRM-41020;
FRM-41020: 表示不可項目<データ･ブロック名><項目名>のENTERABLE属性は設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、表示不可項目の[ENTERABLE]（変更可能）プロパティを[はい]にしようとしました。

処置:	項目の[ENTERABLE]（変更可能）プロパティを[はい]にするには、その項目の[DISPLAYED]（可視）プロパティも[はい]にする必要があります。

レベル:	>25

タイプ:	エラー


FRM-41021;
FRM-41021: 表示不可項目<データ･ブロック名><項目名>のQUERYABLE属性は設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、表示不可項目の[QUERYABLE]（問合せ可）プロパティを[はい]にしようとしました。

処置:	項目の[QUERYABLE]（問合せ可）プロパティを[はい]にするには、その項目の[DISPLAYED]（可視）プロパティも[はい]にする必要があります。

レベル:	>25

タイプ:	エラー


FRM-41022;
FRM-41022: 更新不可項目<データ･ブロック名><項目名>のREQUIRED属性は設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、更新不可項目の[REQUIRED]（必須）プロパティを[はい]にしようとしました。

処置:	項目の[REQUIRED]（必須）プロパティを[はい]にするには、その項目の[UPDATE_ALLOWED]（更新可）プロパティまたは[UPDATE_NULL]（NULLのみ更新）プロパティのいずれかも[はい]にする必要があります。

レベル:	>25

タイプ:	エラー


FRM-41023;
FRM-41023:保護項目<データ･ブロック名><項目名>のUPDATE ALLOWED属性は設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、ユーザーに更新権限のないデータベース項目の[UPDATE_ALLOWED]（更新可）プロパティを変更しようとしました。

処置:	SET_ITEM文を訂正するか、そのユーザーにその列の更新権限を付与します。

レベル:	>25

タイプ:	エラー


FRM-41024;
FRM-41024: 保護項目<データ･ブロック名><項目名>のUPDATE_NULL属性は設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEMパッケージ・プロシージャが、ユーザーに更新権限のないデータベース項目の[UPDATE_NULL]（NULLのみ更新）プロパティを変更しようとしました。

処置:	SET_ITEM文を訂正するか、そのユーザーにその列の更新権限を付与します。

レベル:	>25

タイプ:	エラー


FRM-41025;
FRM-41025: ページ番号<ページ番号>は存在しません。

原因:	アプリケーションの設計エラーです。存在しないページに操作を試行しました。

処置:	ページ関連ビルトインの引数をチェックします。

レベル:	>25

タイプ:	エラー


FRM-41026;
FRM-41026: フィールドが操作を認識しません。

原因:	与えられた項目タイプには無効な操作を実行しようとしました。

処置:	その操作が適用できない項目に対してその操作を実行しようとしました。


FRM-41027;
FRM-41027: このブロックに主キーを定義しなければなりません。

原因:	ブロック内に主キー項目がなく、次の状況の1つが発生しました。

1. ブロックに対し主キー・オプションのKey_Modeプロパティの設定が試みられました。

2. Key_Modeプロパティが[自動]に設定されており、接続中のデータソースがUNIQUEキー・モードをサポートしていません。

処置:	そのブロック上の1つ以上の主キー項目を指定します。

レベル:	>25

タイプ:	エラー


FRM-41028;
FRM-41028: 特性が無効です。

原因:	GetまたはSetプロパティ・ビルトインに無効なプロパティ定数を渡しました。

処置:	引数を検証します。

レベル:	>25

タイプ:	エラー


FRM-41029;
FRM-41029: パラメータが無効です。

原因:	無効な値にフォームまたはブロック、項目、レコード・プロパティを設定しようとしました。

処置:	SET_FORM_PROPERTYまたはSET_BLOCK_PROPERTY、SET_ITEM_PROPERTY、SET_RECORD_PROPERTYの引数を検証します。

レベル:	>25

タイプ:	エラー


FRM-41030;
FRM-41030: 項目<データ･ブロック名><項目名>のITEM_LENGTHがリセットできません。

原因:	アプリケーションの設計エラーです。固定長項目の長さを変更しようとしました。

処置:	その項目が最大必要長であることを静的に宣言するか、項目タイプを変更します。

レベル:	>25

タイプ:	エラー


FRM-41031;
FRM-41031: 割当てられたバッファより大きいITEM_LENGTHはリセットできません。

原因:	アプリケーションの設計エラーです。割り振られたバッファより大きいITEM_LENGTHをリセットしようとしました。

処置:	フォーム定義内の項目長を増やします。

レベル:	>25

タイプ:	エラー


FRM-41032;
FRM-41032: 現在の項目<データブロック名><項目名>のENABLED属性は設定できません。

原因:	SET_ITEM_PROPERTYのコールが、現項目の[ENABLE]プロパティを設定しようとしました。

処置:	SET_ITEM_PROPERTYのコールを訂正するか、他の項目にナビゲートしてから、[ENABLE]プロパティを設定します。

レベル:	>25

タイプ:	エラー


FRM-41033;
FRM-41033: 表示不可項目<データ･ブロック名><項目名>のENABLED属性は設定できません。

原因:	SET_ITEM_PROPERTYのコールが、表示不可項目の[ENABLE]（変更可能）プロパティを設定しようとしました。

処置:	まずその項目にナビゲートしてから、SET_ITEM_PROPERTYのコールで[ENABLE]（変更可能）プロパティを設定します。

レベル:	>25

タイプ:	エラー


FRM-41034;
FRM-41034: 表示不可項目<データ･ブロック名><項目名>のNAVIGABLE属性は設定できません。

原因:	SET_ITEM_PROPERTYのコールが表示不可項目の[NAVIGABLE]（キーボードで移動可能）プロパティを設定しようとしました。

処置:	まずその項目にナビゲートしてから、SET_ITEM_PROPERTYのコールで[NAVIGABLE]（キーボードで移動可能）プロパティを設定します。

レベル:	>25

タイプ:	エラー


FRM-41035;
FRM-41035: 入力不可項目<データ･ブロック名><項目名>のNAVIGABLE属性は設定できません。

原因:	SET_ITEM_PROPERTYのコールが、入力不可項目の[NAVIGABLE]（キーボードで移動可能）プロパティを設定しようとしました。

処置:	まず、SET_ITEM_PROPERTY のコールでその項目の[ENABLE]（変更可能）プロパティを設定します。次に、もう一度SET_ITEM_PROPERTYをコールしてその項目の[NAVIGABLE]（キーボードで移動可能）プロパティを設定します。

レベル:	99

タイプ:	エラー


FRM-41036;
FRM-41036: 問合せできないチェックボックスは変更できません。

原因:	問合せできないチェックボックスを変更しようとしました。

処置:	まず[QUERYABLE]プロパティを[PROPERTY_TRUE]に設定します。すると、エンド・ユーザーは、チェックボックスをシフト・クリックすることで、その項目を使用可能あるいは使用禁止にできます。

レベル:	99

タイプ:	エラー


FRM-41037;
FRM-41037: 問合せできないラジオ・グループは変更できません。

原因:	問合せできないラジオ・グループを変更しようとしました。

処置:	まず、SET_RADIO_BUTTON_PROPERTYのコールにより[ENABLE]プロパティを[PROPERTY_TRUE]に設定します。

レベル:	>25

タイプ:	エラー


FRM-41038;
FRM-41038: 項目<項目名>はチェックボックスではありません。

原因:	チェックボックスでない項目にCHECKBOX_CHECKEDのコールが行われました。

処置:	CHECKBOX_CHECKEDのコールを訂正します。

レベル:	>25

タイプ:	エラー


FRM-41039;
FRM-41039: 警告ID<警告ID>が無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_ALERTのコールが正しく実行されるか検証します。

レベル:	>25

タイプ:	エラー


FRM-41040;
FRM-41040:ラジオ・ボタン<ラジオボタン名>を見つけることができません。

原因:	無効なIDまたは名前がビルトイン・サブプログラムに渡されました。

処置:	入力した名前またはIDをチェックし、再試行します。

レベル:	>25

タイプ:	エラー


FRM-41041;
FRM-41041: フォーム・モジュールが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_FORMのコールが正しく実行されるか検証します。

レベル:	>25

タイプ:	エラー


FRM-41042;
FRM-41042: Set_Item_Propertyのためのそのような特性はありません。

原因:	無効な項目プロパティを設定しようとしました。

処置:	項目プロパティの設定用マニュアルをチェックし、再試行します。

レベル:	>25

タイプ:	エラー


FRM-41043;
FRM-41043: タイマーが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_TIMERのコールが正しく実行されるか検証します。

レベル:	>25

タイプ:	エラー


FRM-41044;
FRM-41044: タイマー<タイマー名>の削除でエラーが発生しました。

原因:	DELETE_TIMERビルトインの実行中にエラーが発生しました。

処置:	使用しているタイマーが正しく作成されているか検証します。

レベル:	>25

タイプ:	エラー


FRM-41045;
FRM-41045: 項目が見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_ALERTのコールが正しく実行されるか検証します。

レベル:	>25

タイプ:	エラー


FRM-41046;
FRM-41046: Set_Item_Propertyで使用したパラメータが無効です。

原因:	SET_ITEM_PROPERTY に無効なパラメータが渡されました。

処置:	SET_ITEM_PROPERTYの有効パラメータを検証し、再試行します。

レベル:	>25

タイプ:	エラー


FRM-41047;
FRM-41047: 問合せ入力モードにある現行ブロックからナビゲートすることはできません。

原因:	問合せ入力モードにある現ブロックからナビゲートすることはできません。

処置:	問合せ入力モードに入る前に操作を実行します。

レベル:	>25

タイプ:	エラー


FRM-41048;
FRM-41048: プロシージャ<プロシージャ名>は<トリガー名>トリガーでは無効です。

原因:	このプロシージャは、指定したトリガーからコールされた場合には無効です。このプロシージャは、ナビゲート中に起動するトリガーからはコールできない制限プロシージャでも構いません。

処置:	無効なトリガーを訂正します。

レベル:	20

タイプ:	エラー


FRM-41049;
FRM-41049: このレコードは削除できません。

原因:	削除ができないブロック上でレコードを削除しようとしました。

処置:	[DELETE_ALLOWED]ブロック・プロパティを[PROPERTY_TRUE]に設定するまでこのブロック内のレコードの削除は控えてください。

レベル:	>20

タイプ:	エラー


FRM-41050;
FRM-41050: このレコードは更新できません。

原因:	更新のできないブロック上のレコードを更新しようとしました。

処置:	[DELETE_ALLOWED]ブロック・プロパティを[PROPERTY_TRUE]に設定するまで、このブロック内のレコードの更新は控えてください。

レベル:	20

タイプ:	エラー


FRM-41051;
FRM-41051: ここではレコードの作成はできません。

原因:	挿入のできないブロック上でレコードを作成しようとしました。

処置:	[INSERT_ALLOWED]ブロック・プロパティを[PROPERTY_TRUE]に設定するまで、新規レコードの作成およびこのブロックへの挿入は控えてください。

レベル:	20

タイプ:	エラー


FRM-41052;
FRM-41052: ウィンドウが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_WINDOWのコールが正しく実行されるか検証します。

レベル:	20

タイプ:	エラー


FRM-41053;
FRM-41053: キャンバスが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_CANVASのコールが正しく実行されるか検証します。

レベル:	20

タイプ:	エラー


FRM-41054;
FRM-41054: Get_Record_Propertyのためのそのような特性はありません。

原因:	存在しないレコード・プロパティを取得しようとしました。

処置:	有効なプロパティかどうかGET_RECORD_PROPERTYのコールを検証します。

レベル:	20

タイプ:	エラー


FRM-41055;
FRM-41055:Set_Record_Propertyのためのそのような特性はありません。

原因:	存在しないレコード・プロパティを設定しようとしました。

処置:	有効なプロパティかどうかSET_RECORD_PROPERTYのコールを検証します。

レベル:	20

タイプ:	エラー


FRM-41056;
FRM-41056: ブロックが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_BLOCKのコールが正しく実行されるか検証します。

レベル:	>25

タイプ:	エラー


FRM-41057;
FRM-41057: Set_View_Propertyのためのそのような特性はありません。

原因:	存在しないビュー・プロパティを設定しようとしました。

処置:	有効なプロパティかどうかSET_VIEW_PROPERTYのコールを検証します。

レベル:	20

タイプ:	エラー


FRM-41058;
FRM-41058: Get_Item_Propertyのためのそのような特性はありません。

原因:	存在しない項目プロパティを取得しようとしました。

処置:	有効なプロパティかどうかGET_ITEM_PROPERTYのコールを検証します。

レベル:	20

タイプ:	エラー


FRM-41059;
FRM-41059: Set_Canvas_Propertyのためのそのような特性はありません。

原因:	存在しないキャンバス・プロパティを設定しようとしました。

処置:	有効なプロパティかどうかSET_CANVAS_PROPERTYのコールを検証します。

レベル:	20

タイプ:	エラー


FRM-41060;
FRM-41060: キー項目のみの１次キー特性を使用不可にすることはできません。

原因:	次のいずれかの状況で、ブロック上の最後の主キー項目の[主キー]プロパティを無効にすることが試みられました。

1. [主キー]プロパティ。

2. 主キーのキー・モード。

3. 接続中のデータベースがUNIQUEキー・モードをサポートしていません。

処置:	まず、そのブロックの各プロパティを使用禁止にします。

レベル:	20

タイプ:	エラー


FRM-41061;
FRM-41061: Get_Window_Propertyのためのそのような特性はありません。

原因:	存在しないウィンドウ・プロパティを取得しようとしました。

処置:	有効なプロパティかどうかGET_WINDOW_PROPERTYのコールを検証します。

レベル:	99

タイプ:	エラー


FRM-41062;
FRM-41062: エディタが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_EDITORのコールが正しく実行されるか検証します。

レベル:	20

タイプ:	エラー


FRM-41063;
FRM-41063: エディタを作成できません。

原因:	Forms Runtimeに使用可能なメモリーが不足しています。

処置:	ウィンドウのいくつかをクローズしてからSHOW_EDITORのコールを再試行します。

レベル:	20

タイプ:	エラー


FRM-41064;
FRM-41064: タイマー<タイマー名>を作成できません: 識別子名が間違っています。

原因:	識別子名が無効です。

処置:	タイマーの命名構文が有効かチェックします。

レベル:	99

タイプ:	エラー


FRM-41065;
FRM-41065: メニューが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_MENUのコールが正しく実行されるか検証します。

レベル:	20

タイプ:	エラー


FRM-41066;
FRM-41066: Get_Form_Propertyのためのそのような特性はありません。

原因:	存在しないフォーム・プロパティを取得しようとしました。

処置:	有効なプロパティかどうかGET_FORM_PROPERTYのコールを検証します。

レベル:	20

タイプ:	エラー


FRM-41067;
FRM-41067: メニュー項目が見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_MENU_ITEMのコールが正しく実行されるか検証します。

レベル:	20

タイプ:	エラー


FRM-41068;
FRM-41068: Set_Menu_Item_Propertyでエラーが発生しました。

原因:	SET_MENU_ITEM_PROPERTYのコールが無効です。

処置:	有効なパラメータを検証し、再試行します。

レベル:	20

タイプ:	エラー


FRM-41069;
FRM-41069: Get_Menu_Item_Propertyでエラーが発生しました。

原因:	GET_MENU_ITEM_PROPERTYのコールが無効です。

処置:	有効なパラメータを検証し、再試行します。

レベル:	20

タイプ:	エラー


FRM-41070;
FRM-41070: Set_Menu_Item_Propertyでは不明の特性です。

原因:	存在しないメニュー項目プロパティを設定しようとしました。

処置:	有効なプロパティかどうかSET_MENU_ITEM_PROPERTYのコールを検証します。

レベル:	20

タイプ:	エラー


FRM-41071;
FRM-41071: Get_Menu_Item_Propertyに不明なプロパティが設定されました｡

原因:	存在しないメニュー項目プロパティを取得しようとしました。

処置:	有効なプロパティかどうかGET_MENU_ITEM_PROPERTYのコールを検証します。

レベル:	20

タイプ:	エラー


FRM-41072;
FRM-41072: グループ<グループ名>を作成できません。

原因:	原因は次のいずれかです。

1.  SQL文で列名が重複しています。

2.  レコード・グループ名が無効です。

3.  問合せが無効です。

処置:	そのグループ名のチェック、またはSQL文の訂正、あるいはその両方を行います。

レベル:	20

タイプ:	エラー


FRM-41073;
FRM-41073: グループが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_GROUPのコールが正しく実行されるか検証します。

レベル:	20

タイプ:	エラー


FRM-41074;
FRM-41074: グループ、または列が見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_GROUPまたはFIND_COLUMNのコールが正しく実行されるか検証します。

レベル:	20

タイプ:	エラー


FRM-41075;
FRM-41075: グループの削除でエラーが発生しました。

原因:	DELETE_GROUPのコールに指定されたレコード・グループ名またはIDが無効であるか、そのレコード・グループが動的に作成されませんでした。

処置:	レコード・グループ名またはIDをチェックし、指定されたレコード・グループが動的に作成されたか確認します。

レベル:	20

タイプ:	エラー


FRM-41076;
FRM-41076: グループの移植でエラーが発生しました。

原因:	列名または表名が無効であるため問合せが失敗したか、その問合せおよびグループ列構造体が一致しません。

処置:	POPULATE_GROUP_WITH_QUERYのコールの中のSQL SELECT文をチェックします。

レベル:	20

タイプ:	エラー


FRM-41077;
FRM-41077: グループ行の削除でエラーが発生しました。

原因:	静的レコード・グループからレコードを削除するのにDELETE_GROUP_ROWが使用できないか、指定した行番号が無効です。

処置:	DELETE_GROUP_ROWのコールを訂正します。

レベル:	20

タイプ:	エラー


FRM-41078;
FRM-41078: グループ選択の再設定中にエラーが発生しました。

原因:	指定されたレコード・グループ名またはIDが無効です。

処置:	レコード・グループ名またはIDをチェックし、再試行します。

レベル:	20

タイプ:	エラー


FRM-41079;
FRM-41079: グループ列を追加中にエラーが発生しました。

原因:	原因は次のいずれかです。

1. すでに行があるグループには列を追加できません。

2.  CHAR_COLUMNタイプの列の幅は、対応するデータベース列の幅よりも小さくすることはできません。

3.  存在しない、または無効なレコード・グループの名前が入力されました。

4.  存在しない、または無効な列の名前が入力されました。

5.  CHAR、NUMBER、DATE以外の列タイプが入力されました。

処置:	グループへの列の追加は、CREATE_GROUPのコールを使用してグループを作成した後でしか実行できません。そのグループにすでに行があれば、DELETE_GROUP_ROWでその行を削除してから、列を追加します。

レベル:	20

タイプ:	エラー


FRM-41080;
FRM-41080: グループ行を追加中にエラーが発生しました。

原因:	原因は次のいずれかです。

1.  存在しない、または列のないグループへの行の追加が試みられました。

2.  存在しないレコードグループの名前が入力されました。

3.  範囲外または無効な行番号が指定されました。

処置:	そのグループを作成し、最初に列を追加します。ADD_GROUP_ROWのコールをチェックして、レコード・グループ名および行番号が有効か確認します。

レベル:	20

タイプ:	エラー


FRM-41081;
FRM-41081: 項目を移動できません: 位置が無効です。

原因:	その項目を、キャンバス上の無効な位置に移動しようとしました。

処置:	SET_ITEM_PROPERTYのコールの中で選択した座標が有効か確認します。

レベル:	99

タイプ:	エラー


FRM-41082;
FRM-41082: 項目のサイズを変更できません: 項目位置がキャンバス外になっています。

原因:	SET_ITEM_PROPERTYのコールに指定された高さまたは幅、あるいはその両方が無効であるか、ユーザーが指定した高さまたは幅、あるいはその両方によって、項目がキャンバス外にはみ出します。

処置:	SET_ITEM_PROPERTYのコールを訂正します。

レベル:	99

タイプ:	エラー


FRM-41083;
FRM-41083: Set_Form_Propertyのためのそのような特性はありません。

原因:	存在しないフォーム・プロパティを設定しようとしました。

処置:	有効プなロパティかどうかSET_FORM_PROPERTYのコールを検証します。

レベル:	20

タイプ:	エラー


FRM-41084;
FRM-41084: グループ・セルを獲得中にエラーが発生しました。

原因:	GET_GROUP_CHAR_CELLまたはGET_GROUP_DATE_CELL、GET_GROUP_NUMBER_CELLのコールが無効です。

処置:	列タイプがそれぞれCHARまたはDATE、NUMBERであるか確認します。指定された行番号および列名の妥当性を検査します。

レベル:	20

タイプ:	エラー


FRM-41085;
FRM-41085: グループ行カウントを獲得中にエラーが発生しました。

原因:	GET_GROUP_ROW_COUNTのコールが無効です。

処置:	レコード・グループ名をチェックし、再試行します。

レベル:	20

タイプ:	エラー


FRM-41086;
FRM-41086: グループ選択カウントを獲得でエラーが発生しました。

原因:	無効なレコード・グループ名を指定しました。GET_GROUP_SELECTION_COUNTのコールが無効です。

処置:	GET_GROUP_SELECTIONのコールを訂正します。

レベル:	20

タイプ:	エラー


FRM-41087;
FRM-41087: グループ選択の獲得でエラーが発生しました。

原因:	指定したレコード・グループ名または選択番号が無効です。GET_GROUP_SELECTIONのコールが無効です。

処置:	GET_GROUP_SELECTIONのコールを訂正します。

レベル:	20

タイプ:	エラー


FRM-41088;
FRM-41088: グループ選択を設定できません。

原因:	指定したレコード・グループ名またはID、行番号が無効です。

処置:	SET_GROUP_SELECTIONのコールを訂正します。

レベル:	20

タイプ:	エラー


FRM-41089;
FRM-41089: ビューを移動できません: 位置が無効です。

原因:	SET_VIEW_PROPERTYのコールに指定されたx, yペアが無効です。

処置:	座標が指定する位置がキャンバス上にくるようにSET_VIEW_PROPERTYのコールを訂正します。

レベル:	99

タイプ:	エラー


FRM-41090;
FRM-41090: go_item<項目名>の項目型が無効です。

原因:	その項目にはナビゲートできません。

処置:	その項目がナビゲート可能な項目であるか確認します。

レベル:	20

タイプ:	エラー


FRM-41091;
FRM-41091: 値リストが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_LOVのコールが正しく実行されるか検証します。

レベル:	20

タイプ:	エラー


FRM-41092;
FRM-41092: ブロック<ブロック名>にレコードがありません。

原因:	レコードを持たないブロック上の項目に値を配置しようとしました。

処置:	まずブロック内にレコードを配置します。

レベル:	20

タイプ:	エラー


FRM-41093;
FRM-41093: 項目属性<項目属性>の設定でエラーが発生しました。

原因:	[ロック・レコード]プロパティを指定し、その項目がテキスト項目でなかったか、[小/大文字区別なしの問合せ]を指定し、そのデータ型がALPHAでもCHARでもありませんでした。

処置:	[ロック・レコード]プロパティの場合には、その項目がテキスト項目であるか確認します。[小/大文字区別なしの問合せ]を指定するときは、そのデータ型がALPHAまたはCHARであるか確認します。

レベル:	20

タイプ:	エラー


FRM-41094;
FRM-41094: Get_View_Propertyのためのそのような特性はありません。

原因:	存在しないビュー・プロパティを取得しようとしました。

処置:	有効なプロパティかどうかGET_VIEW_PROPERTYのコールを検証します。

レベル:	99

タイプ:	エラー


FRM-41095;
FRM-41095: Get_Canvas_Propertyのためのそのような特性はありません。

原因:	存在しないキャンバス・プロパティを取得しようとしました。

処置:	有効なプロパティかどうかGET_CANVAS_PROPERTYのコールを検証します。

レベル:	99

タイプ:	エラー


FRM-41096;
FRM-41096: ビューをサイズ変更できません: サイズが無効です。

原因:	このx, y座標ではビューがキャンバスの外に配置されます。

処置:	他のx, yペアを選択します。

レベル:	99

タイプ:	エラー


FRM-41097;
FRM-41097: キャンバスをサイズ変更できません: サイズが無効です。

原因:	このx, y座標ではビューがウィンドウの外に配置されます。

処置:	他のx, yペアを選択します。

レベル:	99

タイプ:	エラー


FRM-41098;
FRM-41098: 内容表示の表示位置を変更できません。

原因:	この表示位置プロパティは、スタック・キャンバスビューにのみ適用されます。

処置:	SET_VIEW_PROPERTYのコールを訂正します。

レベル:	99

タイプ:	エラー


FRM-41099;
FRM-41099: 内容表示のサイズを変更できません。

原因:	内容表示のサイズはウィンドウ・サイズに依存します。スタックした表示サイズのみを、SET_VIEW_PROPERTYで変更できます。

処置:	SET_VIEW_PROPERTYのコールを訂正します。

レベル:	99

タイプ:	エラー


FRM-41100;
FRM-41100: リレーション<リレーション名>を見つけることができません。

原因:	無効なリレーションを使用して取得または設定、検索を試行しました。

処置:	引数が正しいか、ビルトインのコールをチェックします。

レベル:	>25

タイプ:	エラー


FRM-41101;
FRM-41101: Get_Relation_Propertyのためのそのような特性はありません。

原因:	存在しないリレーション・プロパティを取得しようとしました。

処置:	有効なプロパティかどうかGET_RELATION_PROPERTYのコールを検証します。

レベル:	99

タイプ:	エラー


FRM-41102;
FRM-41102: Set_Relation_Propertyのためのそのような特性はありません。

原因:	存在しないリレーション・プロパティを設定しようとしました。

処置:	有効なプロパティかどうかSET_RELATION_PROPERTYのコールを検証します。

レベル:	99

タイプ:	エラー


FRM-41103;
FRM-41103: Set_Relation_Propertyのためのそのような特性はありません。

原因:	アプリケーションの設計エラーです。SET_RELATION_PROPERTYビルトインに不正なリレーション・プロパティ値が渡されました。

処置:	SET_RELATION_PROPERTYビルトインのコールを訂正し、再試行します。

レベル:	99

タイプ:	エラー


FRM-41104;
FRM-41104: リレーションが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_RELATIONのコールが正しく実行されるか検証します。

レベル:	20

タイプ:	エラー


FRM-41105;
FRM-41105: 保存済み親レコードがなければ、レコードの問合せはできません。

原因:	最初にマスター・レコードを作成しないでディテール・レコードの問合せを試行しました。

処置:	マスター・レコードを作成してから、ディテール・レコードの問合せを行います。


FRM-41106;
FRM-41106: 親レコードがなければ、レコードの作成はできません。

原因:	最初にマスター・レコードを作成せずに新規のディテール・レコードを作成しようとしました。

処置:	マスター・レコードを作成してから、ディテール・レコードを追加します。


FRM-41107;
FRM-41107: リレーションのマスター削除オプションが無効です。

原因:	ディテール・データ・ブロックに指定された[問合せデータ・ソース・タイプ]または[DMLデータ宛先タイプ]が無効です。

処置:	ディテール・データ・ブロックの[問合せデータ・ソース・タイプ]と[DMLデータ宛先タイプ]が[表]になっていることを確認します。

レベル:	20

タイプ:	エラー


FRM-41200;
FRM-41200: 統合エラー: 製品が無効です。

原因:	RUN_PRODUCTに指定されたプロダクト名が無効です。

処置:	RUN_PRODUCTパラメータをチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-41201;
FRM-41201: 統合エラー: 通信モードは、SYNCHRONOUSまたはASYNCHRONOUSでなければなりません。

原因:	RUN_PRODUCTに指定された通信モードが無効です。

処置:	RUN_PRODUCTパラメータをチェックし、再試行します。

レベル:	20

タイプ:	エラー


FRM-41202;
FRM-41202: 統合エラー: パラメータ・リスト<パラメータ・リスト名>には、パラメータがありません。

原因:	パラメータ・リストに引数がありません。

処置:	指定パラメータ・リストの各パラメータをチェックします。

レベル:	20

タイプ:	エラー


FRM-41203;
FRM-41203: 統合エラー: パラメータ・リストIDが無効です。

原因:	渡されたパラメータ・リストIDが無効です。

処置:	パラメータ・リストIDをチェックし、再試行します。

レベル:	20

タイプ:	エラー


FRM-41204;
FRM-41204: 統合エラー: メモリー割当てエラーが発生しました。

原因:	内部エラーが発生しました。

処置:	サポート担当に連絡します。

レベル:	20

タイプ:	エラー


FRM-41205;
FRM-41205: 統合エラー<項目名>はチャート項目ではありません。

原因:	表示用に指定された変数タイプがチャート項目ではありません。

処置:	その表示パラメータにチャート項目を指定します。

レベル:	20

タイプ:	エラー


FRM-41206;
FRM-41206: 統合エラー: 項目<項目名>が曖昧です。

原因:	項目名が無効です。重複している可能性があります。

処置:	項目名は、ブロック名.項目名の書式で指定します。

レベル:	20

タイプ:	エラー


FRM-41207;
FRM-41207: 統合エラー: 項目<項目名>が見つかりませんでした。

原因:	指定された項目名が存在しません。

処置:	名前が正確かチェックし、ブロック名.項目名の書式で再試行します。

レベル:	20

タイプ:	エラー


FRM-41208;
FRM-41208: 統合エラー: 実行モードはBATCHまたはRUNTIMEでなければなりません。

原因:	RUN_PRODUCTに指定された実行モードが無効です。

処置:	execmodeパラメータにBATCHまたはRUNTIMEのいずれかを指定します。

レベル:	20

タイプ:	エラー


FRM-41209;
FRM-41209: 統合エラー: 文書位置はFILESYSTEMまたはDBでなければなりません。

原因:	RUN_PRODUCTに指定された文書位置が無効です。

処置:	そのlocationパラメータにはFILESYSTEMまたはDBのいずれかを指定します。

レベル:	20

タイプ:	エラー


FRM-41210;
FRM-41210: 統合エラー: チャート項目がNULLです。

原因:	チャート項目表示にNULLが指定されました。

処置:	RUN_PRODUCTビルトインのdisplayパラメータをチェックし、NULLでないことを確認します。

レベル:	20

タイプ:	エラー


FRM-41211;
FRM-41211: 統合エラー: SSLは、別製品の実行に失敗しました。

原因:	別製品の実行時に問題が検出されました。

処置:	RUN_PRODUCTビルトインをチェックします。

レベル:	99

タイプ:	エラー


FRM-41212;
FRM-41212: 統合エラー: データ交換の通信モードが無効です。

原因:	ユーザーが非同期RUN_PRODUCTを指定しました。

処置:	同期RUN_PRODUCT通信モードに変更します。

レベル:	20

タイプ:	エラー


FRM-41213;
FRM-41213: Reports Server<サーバー名>に接続できません｡

原因:	指定されたReports Serverへの接続時に問題が発生しました。

処置:	Reports Serverをチェックし、正常に稼働していることを確認します。

レベル:	20

タイプ:	エラー


FRM-41214;
FRM-41214: レポートを実行できません。

原因:	Reports Serverが指定レポートを実行できませんでした。

処置:	Reports Serverをチェックし、正常に稼働していることを確認します。

レベル:	20

タイプ:	エラー


FRM-41215;
FRM-41215: サーバー名またはジョブIDが無効です。

原因:	ビルトインrun_reportからの戻り値の復号化時に問題が発生しました。

処置:	ビルトインrun_reportからの戻り値は、他のレポート・ビルトインに渡されるまで変更しないでください。

レベル:	20

タイプ:	エラー


FRM-41216;
FRM-41216: ジョブを取り消せません。

原因:	レポート・ジョブの取消し時に問題が発生しました。

処置:	Reports Serverをチェックして、指定ジョブが存在するか確認します。

レベル:	20

タイプ:	エラー


FRM-41217;
FRM-41217: レポートのシ゛ョブ・ステータスを取得できません｡

原因:	与えられたレポート・ジョブのレポート・ステータス取得時に問題が発生しました。

処置:	Reports Serverをチェックして、指定ジョブが存在するか確認します。

レベル:	20

タイプ:	エラー


FRM-41218;
FRM-41218: レポート出力をコピーできません。

原因:	与えられたレポート・ジョブのレポート出力をコピー時に問題が発生しました。

処置:	Reports Serverをチェックし、指定出力ファイルが存在するか確認します。

レベル:	20

タイプ:	エラー


FRM-41219;
FRM-41219: レポートが見つかりません: IDが無効です。

原因:	ユーザーの指定したレポート・オブジェクト名が無効です。

処置:	フォームをチェックし、そのレポート・オブジェクトが存在するか確認します。

レベル:	20

タイプ:	エラー


FRM-41300;
FRM-41300:Set_Radio_Button_Propertyで使用されているパラメータが無効です。

原因:	存在しないパラメータを指定しました。

処置:	有効なパラメータ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41301;
FRM-41301: Set_View_Propertyで使用されているパラメータが無効です。

原因:	存在しないパラメータを指定しました。

処置:	有効なパラメータ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41302;
FRM-41302: Set_Canvas_Propertyで使用されているパラメータが無効です。

原因:	存在しないパラメータを指定しました。

処置:	有効なパラメータ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41303;
FRM-41303: Set_Window_Propertyにそのプロパティはありません。

原因:	存在しないプロパティを指定しました。

処置:	有効なプロパティ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41304;
FRM-41304: Set_Block_Propertyにそのプロパティはありません。

原因:	存在しないプロパティを指定しました。

処置:	有効なプロパティ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41305;
FRM-41305: Get_Block_Propertyにそのプロパティはありません。

原因:	存在しないプロパティを指定しました。

処置:	有効なプロパティ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41306;
FRM-41306: Set_Window_Propertyで使用されているパラメータが無効です。

原因:	指定したパラメータが無効です。

処置:	有効なパラメータ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41307;
FRM-41307: Set_Block_Propertyで使用されているパラメータが無効です。

原因:	指定したパラメータが無効です。

処置:	有効なパラメータ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41308;
FRM-41308: グループ選択の設定解除でエラーが発生しました。

原因:	選択されていないかレコード・グループ内にないレコードまたはレコードのサブセットを選択解除しようとしました。

処置:	そのグループにあると思われるレコードをチェックします。

レベル:	20

タイプ:	エラー


FRM-41309;
FRM-41309: Get_Radio_Button_Propertyにそのプロパティはありません。

原因:	指定したプロパティが無効です。

処置:	有効なプロパティ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41310;
FRM-41310: Set_Radio_Button_Propertyにそのプロパティはありません。

原因:	指定したプロパティが無効です。

処置:	有効なプロパティ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41311;
FRM-41311: <引数リスト名>には、無効な引数、または引数の順序が無効です。

原因:	提供した引数リストが間違っています。

処置:	有効な引数リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41312;
FRM-41312: ブロックに最少1つの書込み可能な項目が必要です。

原因:	INSERT_ALLOWEDまたはUPDATE_ALLOWEDプロパティが[True]に設定されているブロックでは、最低1つの書込み可能な項目が必要です。DERIVED_COLUMNプロパティまたはQUERY_ONLYプロパティのいずれかを[True]に設定することにより、ブロック内の唯一の残りの実表を書込み不能にしようとしました。

処置:	各項目のDERIVED_COLUMNまたはQUERY_ALLOWEDを[False]に設定するのではなく、そのブロックのINSERT_ALLOWEDまたはUPDATE_ALLOWEDを[False]に設定してください。

レベル:	10

タイプ:	通知


FRM-41313;
FRM-41313: Set_Alert_Propertyにそのプロパティはありません。

原因:	SET_ALERT_PROPERTYに無効なプロパティが指定されました。

処置:	有効な警告プロパティを入力します。

レベル:	99

タイプ:	エラー


FRM-41314;
FRM-41314: 現項目<データブロック名><項目名>の挿入可能プロパティが設定できません。

原因:	非表示項目に[INSERT_ALLOWED]プロパティを設定しようとしました。

処置:	表示項目に対しては[INSERT_ALLOWED]プロパティのみが有効です。その項目が表示されるか確認します。

レベル:	99

タイプ:	エラー


FRM-41315;
FRM-41315: 非表示項目<データブロック名><項目名>の挿入可能プロパティが設定できません。

原因:	非表示項目に[INSERT_ALLOWED]プロパティを設定しようとしました。

処置:	表示項目に対しては[INSERT_ALLOWED]プロパティのみが有効です。その項目が表示されるか確認します。

レベル:	99

タイプ:	エラー


FRM-41316;
FRM-41316: 不可能項目<データブロック名>.<項目名>の挿入可能プロパティが設定できません。

原因:	使用禁止項目に[INSERT_ALLOWED]（挿入可）プロパティを設定しようとしました。

処置:	使用可能項目には[INSERT_ALLOWED]（挿入可）プロパティのみが有効です。その項目が使用可能か確認します。

レベル:	99

タイプ:	エラー


FRM-41317;
FRM-41317: 項目は、ラジオ・ボタン<項目名>ではありません。

原因:	ラジオ・ボタンでない項目のあるラジオ・ボタン・ビルトインを使用しようとしました。

処置:	その項目がラジオ・ボタンであるか確認します。

レベル:	99

タイプ:	エラー


FRM-41318;
FRM-41318: 項目<項目名>はVBX項目ではありません。

原因:	VBX項目でない項目をもつVBXビルトインを使用しようとしました。

処置:	その項目がVBX項目であるか確認します。

レベル:	5

タイプ:	通知


FRM-41319;
FRM-41319: 指定プロパティ<プロパティ名>（VBX項目<項目名>用）が無効です。

原因:	指定されたVBX項目に対して無効なプロパティを取得または設定しようとしました。

処置:	そのプロパティが指定VBX項目に有効であるか確認します。

レベル:	99

タイプ:	エラー


FRM-41320;
FRM-41320:プロパティ<プロパティ名>（VBX項目<項目名>用）を取得できません。

原因:	VBX項目の有効プロパティを取得できませんでした。

処置:	有効なプロパティ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41321;
FRM-41321: プロパティ<プロパティ名>（VBX項目<項目名>用）を設定できません。

原因:	VBX項目の有効プロパティを設定できませんでした。

処置:	有効なプロパティ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41322;
FRM-41322: イベント<イベント名>（VBX項目<項目名>用）が無効です。

原因:	指定VBX項目に無効なイベントを取得または設定しようとしました。

処置:	そのイベントが指定されたVBX項目に有効であるか確認します。

レベル:	99

タイプ:	エラー


FRM-41323;
FRM-41323:イベント<イベント名>（VBX項目<項目名>用）のパラメータが多すぎます。

原因:	VBX項目用イベントに指定したパラメータが多すぎます。

処置:	そのイベントに有効なパラメータ数か確認します。

レベル:	99

タイプ:	エラー


FRM-41324;
FRM-41324: イベント<イベント名>（VBX項目<項目名>用）のパラメータが少なすぎます。

原因:	VBX項目用イベントに指定したパラメータが少なすぎます。

処置:	そのイベントに有効なパラメータ数か確認します。

レベル:	99

タイプ:	エラー


FRM-41325;
FRM-41325: VBXイベント・パラメータは文字列でなければなりません。

原因:	このVBXイベント・パラメータは文字列ではありません。

処置:	そのVBXイベント・パラメータが文字列であるか確認します。

レベル:	99

タイプ:	エラー


FRM-41326;
FRM-41326: イベント<イベント名>（VBX項目<項目名>用）の解放に失敗しました。

原因:	このVBXイベントは失敗しました。

処置:	そのイベントが指定されたVBX項目に有効であるか確認します。

レベル:	99

タイプ:	エラー


FRM-41327;
FRM-41327: VBX項目<項目名>のデフォルト・プロパティの取得に失敗しました。

原因:	VBX.GET_VALUE_PROPERTYビルトインが失敗しました。

処置:	初期値が[VB Control Value]プロパティに割り当てられているか確認します。

レベル:	99

タイプ:	エラー


FRM-41328;
FRM-41328: VBX項目<項目名>のデフォルト・プロパティの設定に失敗しました。

原因:	VBX.SET_VALUE_PROPERTYビルトインが失敗しました。

処置:	有効なプロパティ値を設定しているか確認します。

レベル:	99

タイプ:	エラー


FRM-41329;
FRM-41329: 項目<項目名>は、リスト項目ではありません。

原因:	リストでない項目にリスト要素を追加しようとしました。

処置:	その項目がリスト項目であるか確認します。

レベル:	99

タイプ:	エラー


FRM-41330;
FRM-41330: リスト要素を<リスト名>に挿入できませんでした。

原因:	ブロックに問合せまたは変更されたレコードが含まれているときに、他の値要素を挿入しようとしました。

処置:	詳細は、制限についてのヘルプ、ADD_LIST_ELEMENT を参照してください。

レベル:	99

タイプ:	エラー


FRM-41331;
FRM-41331: <リスト名>から要素を削除できませんでした。

原因:	原因は次のいずれかです。

ブロックに問合せまたは変更されたレコードが含まれているときに、他の値要素を削除しようとしました。

ブロックに問合せまたは変更されたレコードが含まれているときに、他の値要素を含まないリストから要素を削除しようとしました。

処置:	詳細は、制限についてのヘルプ、CLEAR_LISTおよびDELETE_LIST_ELEMENT を参照してください。

レベル:	99

タイプ:	エラー


FRM-41332;
FRM-41332: リスト要素索引が範囲外です。

原因:	メモリー不足です。

処置:	DBAに連絡してください。

レベル:	99

タイプ:	エラー


FRM-41333;
FRM-41333: リスト要素値を変換できません。

原因:	文字列にリスト要素値を解消できませんでした。

処置:	リスト要素が文字列であるか確認します。

レベル:	99

タイプ:	エラー


FRM-41334;
FRM-41334: リストにするレコード・グループが無効です｡

原因:	存在しないレコード・グループからリストを移入しようとしました。

処置:	そのレコード・グループが存在するか確認します。

レベル:	99

タイプ:	エラー


FRM-41335;
FRM-41335: 列1の列タイプが無効です。

原因:	存在しないレコード・グループからリストを移入しようとしました。

処置:	そのレコード・グループが存在するか確認します。

レベル:	99

タイプ:	エラー


FRM-41336;
FRM-41336: 列2の列タイプが無効です。

原因:	このレコード・グループには同一タイプの列がありません。

処置:	レコード・グループに同一タイプの列があるか確認します。

レベル:	99

タイプ:	エラー


FRM-41337;
FRM-41337: レコード・グループからリストを作成できません｡

原因:	レコード・グループが無効であるか、そのリスト項目が各要素の削除および追加要件に適合しません。

処置:	そのレコード・グループが有効であるか確認します。リスト要素の挿入と追加の詳細は、制限についてのヘルプ、DELETE_LIST_ELEMENTおよびADD_LIST_ELEMENTを参照してください。

レベル:	99

タイプ:	エラー


FRM-41338;
FRM-41338: レコード・グループ中にはリストを取出せません。

原因:	レコード・グループが無効です。

処置:	そのレコード・グループが有効であるか確認します。

レベル:	99

タイプ:	エラー


FRM-41339;
FRM-41339: リストを消去できません。

原因:	メモリー不足です。

処置:	DBAに連絡してください。

レベル:	99

タイプ:	エラー


FRM-41340;
FRM-41340: Set_Application_Propertyにはそのようなプロパティおよび値はありません｡

原因:	無効なプロパティまたはプロパティに対する無効な値（あるいはその両方）が指定されました。

処置:	有効なプロパティまたは有効な値（あるいはその両方）を指定します。

レベル:	99

タイプ:	エラー


FRM-41341;
FRM-41341: 指定されたカーソル型<カーソル型名>は無効です｡

原因:	事前定義済みのカーソル型の集合があり、無効なカーソル型が指定されました。

処置:	有効なカーソル型を指定します。

レベル:	99

タイプ:	エラー


FRM-41342;
FRM-41342: VBXイベント<イベント名>に指定されたパラメータが無効です｡

原因:	VBXイベントに無効なパラメータが指定されました。

処置:	パラメータ・タイプをチェックします。

レベル:	99

タイプ:	エラー


FRM-41343;
FRM-41343: 項目<項目名>は、OLEオブジェクトではありません。

原因:	OLEビルトインに渡された項目が無効です。

処置:	有効なOLE項目を指定します。

レベル:	99

タイプ:	エラー


FRM-41344;
FRM-41344: OLEオブジェクトは、現レコード中の<コンテナ名>用には定義されていません。

原因:	空きOLEコンテナが定義されています。

処置:	OLEオブジェクトがOLEコンテナ内に常駐するように定義します。

レベル:	20

タイプ:	エラー


FRM-41345;
FRM-41345: このサーバーの動詞<動詞>が見つかりません。

原因:	無効なOLE動詞を指定しました。

処置:	有効なOLE動詞を指定します。

レベル:	99

タイプ:	エラー


FRM-41346;
FRM-41346: OLEオブジェクト<オブジェクト名>の動詞カウントを決められません。

原因:	OLEサーバーと通信できませんでした。

処置:	OLEサーバーを再インストールします。

レベル:	99

タイプ:	エラー


FRM-41347;
FRM-41347: OLEオブジェクト<オブジェクト名>の動詞索引が無効です。

原因:	動詞索引より大きい索引を提供しました。

処置:	索引値をチェックします。

レベル:	99

タイプ:	エラー


FRM-41348;
FRM-41348: OLEサーバー・エラー<エラー名>。

原因:	OLEサーバーがエラーを検出しました。

処置:	OLEサーバーが出したメッセージに基づいてエラーを解消してください。

レベル:	99

タイプ:	エラー


FRM-41349;
FRM-41349: OLEオブジェクト<オブジェクト名>は動詞ID: <動詞ID番号>を実行できません

原因:	OLEオブジェクトはそのverbを認識できません。

処置:	他のverbを実行してみてください。

レベル:	99

タイプ:	エラー


FRM-41350;
FRM-41350: OLEオブジェクトは、現在表示されていません。

原因:	実行中でないサーバーをクローズしようとしました。

処置:	現在アクティブでないレコード内でサーバーがアクティブになっているか調べます。

レベル:	99

タイプ:	エラー


FRM-41351;
FRM-41351: 現行フォームからはナビゲートできません。

原因:	非アクティブ・フォームにはナビゲートできません。

処置:	ナビゲート先のフォームがアクティブであるか確認します。

レベル:	99

タイプ:	エラー


FRM-41352;
FRM-41352: 新規セッションの作成に失敗しました。

原因:	新規セッションをもつ新規フォームをオープンしようとしました。

処置:	データベース・サーバーをチェックします。

レベル:	99

タイプ:	エラー


FRM-41353;
FRM-41353: 別のコール・フォームを起動できません。

原因:	同等のフォームに進み、call formを実行しました。

処置:	フォームのコール時、カーソルが同等のフォームにないか確認します。

レベル:	99

タイプ:	エラー


FRM-41354;
FRM-41354: フォーム<フォーム名>をクローズできません。

原因:	フォームをクローズしようとしましたが失敗しました。

処置:	そのフォームがオープンされているか確認します。

レベル:	99

タイプ:	エラー


FRM-41355;
FRM-41355: フォーム<フォーム名>までナビゲートできません。

原因:	非アクティブ・フォームにはナビゲートできません。

処置:	ナビゲート先がアクティブ・フォームか確認します。

レベル:	99

タイプ:	エラー


FRM-41356;
FRM-41356: メソッド<メソッド名>（VBX項目<項目名>用）が無効です。

原因:	VBX項目に指定したメソッド名が無効です。

処置:	そのVBX項目に有効なメソッド名を指定します。

レベル:	99

タイプ:	エラー


FRM-41357;
FRM-41357: メソッド<メソッド名>（VBX項目<項目名>用）の引数の数が正しくありません。

原因:	そのVBX項目のメソッドに指定した引数の数に誤りがあります。

処置:	その引数の数がVBX項目が予想するものであるか確認します。

レベル:	99

タイプ:	エラー


FRM-41358;
FRM-41358: メソッド<メソッド名>（VBX項目<項目名>用）は失敗しました。

原因:	VBX項目に指定したメソッド名が無効です。

処置:	そのVBX項目に有効なメソッド名を指定します。

レベル:	5

タイプ:	通知


FRM-41359;
FRM-41359: Open_Formセッション機能は使用できません｡新規セッションを作成できません｡

原因:	データベース上で複数セッション機能が使用可能になっていません。

処置:	このOpen_Formセッション機能は、複数セッション機能が使用可能なデータベース以外には使用できません。

レベル:	99

タイプ:	エラー


FRM-41360;
FRM-41360: ウィンドウ<ウィンドウ名>のSet_Window_Propertyで、無効な値が使用されています。

原因:	ウィンドウ・プロパティ設定時に無効な値を使用しています。

処置:	有効なウィンドウ・プロパティ値を指定します。

レベル:	99

タイプ:	エラー


FRM-41361;
FRM-41361: 問合せ入力モードでは現行のフォームから外へはナビゲートできません｡

原因:	問合せ入力モードの作業中、オープン・フォーム使用時に他のフォームにナビゲートしようとしています。

処置:	問合せ入力モードを終了し、再試行します。

レベル:	10

タイプ:	エラー


FRM-41362;
FRM-41362: Set_Alert_Button_Propertyには、そのようなプロパティはありません。

原因:	Set_Alert_Button_Propertyに無効なプロパティを指定しました。

処置:	Set_Alert_Button_Propertyに有効なプロパティを指定します。

レベル:	99

タイプ:	エラー


FRM-41363;
FRM-41363: Set_LOV_Column_Propertyには、そのようなプロパティはありません。

原因:	Set_LOV_Column_Propertyに無効なプロパティを指定しました。

処置:	Set_LOV_Column_Propertyに有効なプロパティを指定します。

レベル:	99

タイプ:	エラー


FRM-41364;
FRM-41364: 値リスト<リスト名>で指定された列数は無効です。

原因:	値リストにない列番号を指定しました。

処置:	値リストに有効な列番号を指定します。

レベル:	99

タイプ:	エラー


FRM-41365;
FRM-41365: Set_TabPage_Propertyにこのようなプロパティはありません。

原因:	Set_TabPage_Column_Propertyに無効なプロパティを指定しました。

処置:	Set_TabPage_Column_Propertyに有効なプロパティを指定します。

レベル:	99

タイプ:	エラー


FRM-41366;
FRM-41366: Get_TabPage_Propertyにこのようなプロパティはありません。

原因:	指定したプロパティ・パラメータが無効です。

処置:	有効なプロパティ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41367;
FRM-41367: TabPageが見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	FIND_TABPAGEのコールが正しく実行されるか検証します。

レベル:	99

タイプ:	エラー


FRM-41368;
FRM-41368: Set_TabPage_Propertyに使われているパラメータが無効です。

原因:	指定したパラメータが無効です。

処置:	有効なパラメータ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41369;
FRM-41369: 単一レコード・ブロックに第2レコードは挿入できません。

原因:	ユーザー（またはアプリケーション）が、単一レコード・プロパティが[はい]になっているブロックに第2レコードを挿入しようとしました。

処置:	このようなブロックへのレコードの挿入は避けてください。

レベル:	99

タイプ:	エラー


FRM-41370;
FRM-41370: 計算項目<データ・ブロック名>.<項目名>を変更できません。

原因:	アプリケーションの設計エラーです。アプリケーションが、計算項目に値を割り当てようとしました。

処置:	計算項目が式項目である場合、常にその計算式からその値が決まります。式の変更が適切な場合もあります。また、計算項目を、さまざまなトリガー内で値が設定されている非計算制御項目に変更した方が適切な場合があります。

レベル:	99

タイプ:	エラー


FRM-41371;
FRM-41371: 計算項目<データ・ブロック名>.<項目名>のINSERT_ALLOWEDプロパティを設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM_PROPERTYまたはSET_ITEM_INSTANCE_PROPERTYビルトインが、計算済み項目のINSERT_ALLOWED（挿入可）プロパティをTRUEに設定しようと試みました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41372;
FRM-41372: 計算項目<データ・ブロック名>.<項目名>のITEM_IS_VALIDプロパティを設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM_PROPERTYビルトインが、計算済み項目のITEM_IS_VALIDプロパティにFALSEを設定しようと試みました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41373;
FRM-41373: 計算項目<データ・ブロック名>.<項目名>のLOCK_RECORDプロパティを設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM_PROPERTYビルトインが、計算項目のLOCK_RECORD（ロック・レコード）プロパティにTRUEを設定しようとしました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41374;
FRM-41374: 計算項目<データ・ブロック名>.<項目名>のPRIMARY_KEYプロパティを設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM_PROPERTYビルトインが、計算済み項目のPRIMARY_KEY（主キー）プロパティにTUREを設定しようとしました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41375;
FRM-41375: 計算項目<データ・ブロック名>.<項目名>のQUERYABLEプロパティを設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM_PROPERTYビルトインが計算済み項目のQUERYABLE（問合せ可）プロパティにTRUEを設定しようとしました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41376;
FRM-41376: 計算項目<データ・ブロック名>.<項目名>のREQUIREDプロパティを設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM_PROPERTYまたはSET_ITEM_INSTANCE_PROPERTYビルトインが、計算済み項目のREQUIRED（必須）プロパティにをTRUEを設定しようとしました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41377;
FRM-41377: 計算項目<データ・ブロック名>.<項目名>のUPDATEABLEプロパティを設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM_PROPERTYまたはSET_ITEM_INSTANCE_PROPERTYビルトインが、計算済み項目のUPDATEABLE（更新可）プロパティにTRUEを設定しようとしました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41378;
FRM-41378: 計算項目<データ・ブロック名>.<項目名>のUPDATE_NULLプロパティを設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM_PROPERTYビルトインが、計算済み項目のUPDATE_NULL（NULLのみ更新）プロパティにTRUEを設定しようとしました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41379;
FRM-41379: 非式項目<データ・ブロック名>.<項目名>を再計算できません。

原因:	アプリケーションの設計エラーです。RECALCULATEビルトインが、式項目以外を指定しました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41380;
FRM-41380: ブロックに問合せデータ・ソースを設定できません｡

原因:	ブロックのデータ・ソースを動的に変更するユーザー試行が失敗しました。

処置:	フォームをチェックして、指定ブロックが制御ブロックでないこと、ブロック・ステータスが新規であることを確認します。

レベル:	20

タイプ:	エラー


FRM-41381;
FRM-41381: ブロックにDMLデータ・ターゲット・ソースを設定できません｡

原因:	ブロックのDMLデータ宛先名を動的に変更するユーザー試行が失敗しました。

処置:	フォームをチェックして、指定ブロックが制御ブロックでないこと、ブロック・ステータスが新規であることを確認します。

レベル:	20

タイプ:	エラー


FRM-41382;
FRM-41382: Get_Item_Instance_Propertyにこのようなプロパティはありません。

原因:	アプリケーションの設計エラーです。GET_ITEM_INSTANCE_PROPERTYビルトインが無効なプロパティを指定しました。

処置:	プロパティをBORDER_BEVELまたはINSERT_ALLOWED、NAVIGABLE、REQUIRED、UPDATEABLE、VISUAL_ATTRIBUTEに変更するか、そのビルトインのコールを削除する必要があります。

レベル:	99

タイプ:	エラー


FRM-41383;
FRM-41383: Set_Item_Instance_Propertyにこのようなプロパティはありません。

原因:	アプリケーションの設計エラーです。SET_ITEM_INSTANCE_PROPERTYビルトインが無効なプロパティを指定しました。

処置:	プロパティをBORDER_BEVELまたはINSERT_ALLOWED、NAVIGABLE、REQUIRED、UPDATEABLE、VISUAL_ATTRIBUTEに変更するか、そのビルトインのコールを削除する必要があります。

レベル:	99

タイプ:	エラー


FRM-41384;
FRM-41384: Set_Item_Instance_Propertyに使われているパラメータが無効です。

原因:	アプリケーションの設計エラーです。SET_ITEM_INSTANCE_PROPERTYビルトインがプロパティに無効な値を指定しました。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-41385;
FRM-41385: 問い合わせたレコードが最大数を超えています。

原因:	与えられたブロックの最大レコード数に達しました。

処置:	フォーム・ブロックおよびフォーム・レベル・プロパティをチェックします。

レベル:	99

タイプ:	通知


FRM-41386;
FRM-41386: 現行項目を含むタブ・ページのVISIBLE属性を設定できません。

原因:	現項目を含むタブ・ページにVISIBLE属性を設定しようとしました。

処置:	VISIBLEプロパティは、現項目を含まないタブ・ページに対してのみ有効です。

最初に他のタブ・ページまたは他のキャンバス上の項目までナビゲートします。

レベル:	99

タイプ:	エラー


FRM-41387;
FRM-41387: 入力可能な最後のタブ・ページのVISIBLE属性を設定できません｡

原因:	キャンバス上の唯一の入力可能なタブ・ページにVISIBLEプロパティを設定しようとしました。

処置:	VISIBLEプロパティ設定を試行する前に、キャンバス上に入力可能なタブ・ページが少なくとももう1つあることを確認します。

レベル:	99

タイプ:	エラー


FRM-41388;
FRM-41388: 現行項目を含むタブ・ページのENABLED属性を設定できません。

原因:	現項目を含むタブ・ページにENABLEDプロパティを設定しようとしました。

処置:	このプロパティは、現項目を含まないタブ・ページにのみ有効です。

最初に他のタブ・ページまたは他のキャンバス上の項目までナビゲートします。

レベル:	99

タイプ:	エラー


FRM-41389;
FRM-41389: 最終入力可能なタブ・ページのENABLED属性を設定できません。

原因:	キャンバス上の唯一の入力可能なタブ・ページにENABLEDプロパティを設定しようとしました。

処置:	ENABLEDプロパティ設定を試行する前に、キャンバス上に入力可能なタブ・ページが少なくとももう1つあることを確認します。

レベル:	99

タイプ:	エラー


FRM-41390;
FRM-41390: 従属ミラー項目<項目名>.<項目名>のREQUIREDプロパティを設定できません。

原因:	アプリケーションの設計エラーです。SET_ITEM_PROPERTYまたはSET_ITEM_INSTANCE_PROPERTYビルトインが、従属ミラー項目のREQUIREDプロパティを設定しようとしました。フォームの[ランタイム互換性モード]が5.0であるため、[必須]プロパティはマスター・ミラー項目（[項目と同期]プロパティにより指定された項目）から取得されます。

処置:	マスター・ミラー項目のREQUIRED（必須）プロパティを設定します。

レベル:	25

タイプ:	エラー


FRM-41391;
FRM-41391: 可視属性が見つかりません: IDが無効です。

原因:	無効なIDがビルトイン・サブプログラムに渡されました。

処置:	Find_VAへの適切なコールが実行されるかどうか確認します。

レベル:	99

タイプ:	エラー


FRM-41392;
FRM-41392: Get_VA_Propertyには、そのようなプロパティはありません。

原因:	存在しない可視属性プロパティを取得しようとしました。

処置:	プロパティが有効かどうか、Get_VA_Propertyへのコールを確認します。

レベル:	99

タイプ:	エラー


FRM-41393;
FRM-41393: Set_VA_Propertyには、そのようなプロパティはありません。

原因:	無効な可視属性プロパティを設定しようとしました。

処置:	可視属性プロパティの設定方法をマニュアルでチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-41394;
FRM-41394: Set_VA_Propertyに無効なパラメータ値が使用されています。

原因:	可視属性プロパティに無効な値を設定しようとしました。

処置:	可視属性プロパティの設定方法をマニュアルでチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-41395;
FRM-41395: Set_Report_Object_Propertyに無効なパラメータが使用されています。

原因:	存在しないパラメータを指定しました。

処置:	有効なパラメータ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41396;
FRM-41396: Get/Set_Report_Object_Propertyには、そのようなプロパティはありません。

原因:	存在しないプロパティを指定しました。

処置:	有効なプロパティ・リストをチェックします。

レベル:	99

タイプ:	エラー


FRM-41397;
FRM-41397: Set_Graphics_Propertyに無効なパラメータ値が使用されています。

原因:	グラフィック・プロパティに無効な値を設定しようとしました。

処置:	グラフィック・プロパティの設定方法をマニュアルでチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-41398;
FRM-41398: Set_Graphics_Propertyにオブジェクト・テキストを設定できません。

原因:	グラフィック・オブジェクトのテキストを設定しようとしたときに、エラーが発生しました。

処置:	メモリーが不足していないかどうかチェックします。

処置:	メモリーに問題がない場合は、フォームが壊れている可能性があります。

レベル:	99

タイプ:	エラー


FRM-41399;
FRM-41399: テキストまたは枠グラフィック・オブジェクトのテキストだけを設定できます。

原因:	テキスト以外のグラフィック・オブジェクトのテキストを設定しようとしました。

処置:	正しいグラフィック・オブジェクトを指定したかどうかをチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-41400;
FRM-41400: Set_Graphics_Propertyには、そのようなプロパティはありません。

原因:	無効なグラフィック・プロパティを設定しようとしました。

処置:	グラフィック・プロパティの設定方法をマニュアルでチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-41401;
FRM-41401: Get_Graphics_Propertyには、そのようなプロパティはありません。

原因:	存在しないグラフィック・プロパティを取得しようとしました。

処置:	プロパティが有効かどうか、Get_Graphics_Propertyへのコールを確認します。

レベル:	99

タイプ:	エラー


FRM-41402;
FRM-41402: Set_<object>_Propertyに無効なタイプの可視属性が渡されました。

原因:	オブジェクトの可視属性を無効な可視属性タイプに設定しようとしました。

処置:	Builderで可視属性タイプを確認し、このオブジェクトに有効な可視属性を指定します。

レベル:	99

タイプ:	エラー


FRM-41800;
FRM-41800: このフィールドでは値リストを使用できません。

原因:	[リスト]を押しましたが、このフォームからはこのフィールドの値リストが提供されません。

処置:	アクションは必要ありません。

レベル:	10

タイプ:	通知


FRM-41801;
FRM-41801: 最後の値が既に取り出されています。

原因:	リストの最後の値が表示された後に、[リスト]を押し、次に[次の項目へ]を押しました。

処置:	項目値を入力するか、[リスト]を再度押して可能な値のリストを表示します。

レベル:	10

タイプ:	通知


FRM-41802;
FRM-41802: レコードの複製機能は新規レコードでのみ使用可能です｡

原因:	[レコードの複製]を押しましたが、現レコードはデータベースから取り出されたレコードです。

処置:	アクションは必要ありません。[レコードの複製]を使用できるのは、新規レコードの作成時のみです。

レベル:	10

タイプ:	エラー


FRM-41803;
FRM-41803: 値をコピーする元の前レコードがありません。

原因:	[項目の複製]または[レコードの複製]を押しましたが、現レコードはそのブロックの最初のレコードです。

処置:	アクションは必要ありません。このコンテキストにおける[項目の複製]および[レコードの複製]の使用は無意味です。

レベル:	10

タイプ:	エラー


FRM-41804;
FRM-41804: 変数が入力されていません: <プレースホルダ名>

原因:	[Query Where]警告に対する応答に、問合せ項目のどれにも使用されていないプレースホルダが含まれていました。

処置:	応答の中のそのプレースホルダを訂正するか、問合せ項目の1つにそれを定義します。次に、その問合せを再実行します。

レベル:	>25

タイプ:	エラー


FRM-41805;
FRM-41805: 項目名<項目名>が曖昧です。

原因:	アプリケーションの設計エラーです。項目名が曖昧です。

処置:

レベル:	>25

タイプ:	エラー


FRM-41806;
FRM-41806: 使われている変数が多すぎます。

原因:	問合せに25以上の置換変数を使用しました。

処置:	置換変数の数を減らし、問合せを再度行います。

レベル:	>25

タイプ:	エラー


FRM-41809;
FRM-41809: メニューを初期化中にエラーが発生しました。

原因:	Form Builder内部からメニュー・コンポーネントを使用しようとしましたが、内部エラーが発生しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-41810;
FRM-41810: メニューの作成中にエラーが発生しました。

原因:	Form Builder内部からメニュー・コンポーネントを使用しようとしましたが、内部エラーが発生しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-41811;
FRM-41811: メニューの削除中にエラーが発生しました。

原因:	Form Builder内部からメニューを使用しようとしましたが、内部メニュー・エラーが発生しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-41812;
FRM-41812: メニューを再設定中にエラーが発生しました。

原因:	Form Builder内部からメニュー・コンポーネントを使用しようとしましたが、内部エラーが発生しました。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-41813;
FRM-41813: フォームはデバッグ・モードによって終了されました。

原因:	[Break Processing]メニューの[Exit Oracle Forms Runtime]オプションを選択しました。

処置:	アクションは必要ありません。

レベル:	>25

タイプ:	処理中


FRM-41814;
FRM-41814: 無効なページ位置が指定されました。

原因:	アプリケーションの設計エラーです。トリガーが、ビューの全体または一部がスクリーン外に表示されるページにビューを移動またはサイズ変更しようとしました。

処置:	文を訂正します。

レベル:	>25

タイプ:	エラー


FRM-41815;
FRM-41815: Get_LOV_Propertyのためのそのような特性はありません。

原因:	存在しない値リスト・プロパティを取得しようとしました。

処置:	有効な値リスト・プロパティを検証し、再試行します。

レベル:	>25

タイプ:	エラー


FRM-41816;
FRM-41816: 既存タイマー<タイマー名>の作成が試みられました。

原因:	すでに存在するタイマーを作成しようとしました。

処置:	その既存タイマーを削除または変更してから新規タイマーを再作成します。

レベル:	>25

タイプ:	エラー


FRM-41817;
FRM-41817: <タイマー名>というタイマーはありません。

原因:	存在しないタイマーを変更または削除しようとしました。

処置:	ビルトインの引数が正しいかチェックします。

レベル:	>25

タイプ:	エラー


FRM-41818;
FRM-41818: Toolkitは、タイマー<タイマー名>の作成に失敗しました: メモリーが不足しているのかもしれません。

原因:	おそらくメモリー制約の結果と思われますが、タイマー作成試行中に内部エラーが発生しました。

処置:	メモリー割当て制限をチェックし、必要に応じて調整します。

レベル:	>25

タイプ:	エラー


FRM-41819;
FRM-41819: このプラットフォームではタイマーはサポートされません。

原因:	タイマーがサポートされないプラットフォームでのタイマー作成は無効です。

処置:	なし。使用しているプラットフォームではタイマー・オプションが使用できません。

レベル:	>25

タイプ:	エラー


FRM-41820;
FRM-41820: Toolkitでタイマー<タイマー名>を削除するのに失敗しました。

原因:	タイマー障害により内部エラーが発生しました。

処置:	サポート担当に連絡します。

レベル:	>25

タイプ:	エラー


FRM-41821;
FRM-41821: タイマー名が長すぎます: <タイマー名>...。

原因:	長さが30バイトを超える名前でタイマーを作成しようとしました。

処置:	もっと短い名前で再試行します。

レベル:	>25

タイプ:	エラー


FRM-41822;
FRM-41822: タイマー名にNULLは指定できません。

原因:	NULL名でタイマーを作成しようとしました。

処置:	非NULL名で再試行します。

レベル:	>25

タイプ:	エラー


FRM-41823;
FRM-41823: タイマー<タイマー名>に対して無効な時間間隔です。

原因:	1ミリ秒未満の間隔でタイマーを作成しようとしました。

処置:	1ミリ秒以上の間隔でタイマーを再作成します。

レベル:	>25

タイプ:	エラー


FRM-41824;
FRM-41824: <項目名>の日付/時刻操作に失敗しました。

原因:	項目の日付/時刻初期値の解消中に内部エラーが発生しました。

処置:	サポート担当に連絡します。

レベル:	10

タイプ:	エラー


FRM-41825;
FRM-41825: Get_LOV_Propertyのためのそのような特性はありません。

原因:	存在しない値リスト・プロパティを取得しようとしました。

処置:	有効な値リスト・プロパティを検証し、再試行します。

レベル:	>25

タイプ:	エラー


FRM-41826;
FRM-41826: グループを置換できません; 列が値リストに一致しません。

原因:	値リストの現行のレコード・グループを、値リストの列構造と互換性のないレコード・グループと置換することはできません。

処置:	このレコード・グループのこの値リストへの割当ては控えてください。

レベル:	>25

タイプ:	エラー


FRM-41827;
FRM-41827: グループが存在していません。

原因:	指定されたグループ名またはIDが無効です。

処置:	入力された名前またはIDをチェックし、再試行します。

レベル:	>25

タイプ:	エラー


FRM-41828;
FRM-41828: 値リストが存在していません。

原因:	指定された値リスト名またはIDが無効です。

処置:	入力された名前またはIDをチェックし、再試行します。

レベル:	>25

タイプ:	エラー


FRM-41829;
FRM-41829: レコードは作成されませんでした。

原因:	アプリケーションの設計エラーです。レコードがその初期値を取得できませんでした。

処置:	アプリケーション・デザイナに連絡します。

レベル:	>25

タイプ:	エラー


FRM-41830;
FRM-41830: 値リストにはエントリがありません。

原因:	その値リストの基礎を形成するレコード・グループにレコードがありません。

処置:	長い値リストのリストを縮小するために使用される基準が、一致するすべての要素を排除していないかチェックします。

レベル:	>5

タイプ:	エラー


FRM-41832;
FRM-41832: エラー: プログラム単位<プログラム単位>（ライブラリ<ライブラリ名>内）がコンパイルされていません。

原因:	ライブラリから未コンパイルのプログラム単位をコールしました。

処置:	PL/SQLプログラム・エラーに従います。

レベル:	99

タイプ:	エラー


FRM-41833;
FRM-41833: 警告! プログラム単位<プログラム単位>（ライブラリ<ライブラリ名>中）が未コンパイルです。

原因:	デバッグ・モードが指定されているときに、ライブラリ内の未コンパイルのプログラム単位をコールしました。

処置:	これは警告にすぎません。Forms Runtimeはそのプログラム単位のコンパイルおよび実行を試行します。

レベル:	99

タイプ:	通知


FRM-41834;
FRM-41834: エラー: PECSクラス<クラス名>を作成できません。

原因:	PECSデータ・ファイルを作成できません。

処置:	PECSデータ・ファイルの位置は、PECS付録でチェックします。このファイルに対する適切な権限があるか、またパス環境変数に有効なパスが設定されているか確認します。

レベル:	99

タイプ:	通知


FRM-41835;
FRM-41835: キャンバス<キャンバス名>はタブ・キャンバスではありません。

原因:	タブ・キャンバスでないキャンバスにタブ・キャンバス固有の操作を実行しようとしました。

処置:	指定されたキャンバスがタブ・キャンバスか確認します。

レベル:	99

タイプ:	エラー


FRM-41836;
FRM-41836: タブ・ページ<タブ・ページ名>はキャンバス<キャンバス名>にありません。

原因:	指定されたキャンバスに存在しないタブ・ページに操作を実行しようとしました。

処置:	指定されたタブ・キャンバスに存在するタブ・ページを指定しているか確認します。

レベル:	99

タイプ:	エラー


FRM-41837;
FRM-41837: タブ・ページ<タブ・ページ名>をレイズ中にエラーが発生しました。

原因:	指定タブ・ページを一番上（そのタブ・ページの現行ページとなる）に配置できませんでした。

処置:	指定ページが使用可能であり、非表示であるか確認します。

レベル:	99

タイプ:	エラー


FRM-41838;
FRM-41838: 一時レコード・バッファ・ファイル<ファイル名>をオープンできません。

原因:	一時レコード・バッファとして使用されるファイルをオープンできません。

処置:	ファイルが常駐するファイル・システムまたはディレクトリが存在し、それに対する読込みおよび書込み権限があるか検証します。

レベル:	99

タイプ:	エラー


FRM-41839;
FRM-41839: 一時レコード・バッファ・ファイル<バッファ･ファイル名>でディスクI/Oエラーが発生しました。

原因:	レコードを一時レコード・バッファ・ファイルに書き込むときにI/Oエラーが発生しました。

処置:	そのファイルが存在するファイル・システムまたはディレクトリが存在し、それに対する読込みおよび書込み権限があり、かつそれに十分な領域があるか検証します。

レベル:	99

タイプ:	エラー


FRM-41840;
FRM-41840: レコード・バッファのメイン・メモリーが不足しています。

原因:	ブロック内に作成中のレコードにメモリーを割り振れません。

処置:	同時実行中のプログラム数がもっと少ないときにアプリケーションを再起動するか、メモリーのもっと多いマシン上で再起動します。1つ以上のブロックの[バッファ・レコード数]プロパティの値がもっと小さくなるよう設計変更が必要な場合があります。

レベル:	99

タイプ:	エラー


FRM-41841;
FRM-41841: DEBUG=YESを指定している場合は、デバッガ使用可能実行モジュールを使ってください。

原因:	デバッガを含んでいない実行可能ファイルからデバッガの使用が試みられました。

処置:	そのデバッガーを含んでいる他の実行モジュール（名前はオペレーティング・システムにより異なります）を実行します。

レベル:	99

タイプ:	エラー


FRM-41900;
FRM-41900: 実行は致命的エラーによって中止されました。

原因:	致命的エラーによりフォームが異常終了しました。

処置:	DBAに連絡してください。

レベル:	20

タイプ:	エラー


FRM-41901;
FRM-41901: エラー: <カーソル数>個のカーソルがクローズされていません。

原因:	内部エラーです。

処置:	DBAに連絡してください。

レベル:	>25

タイプ:	エラー


FRM-41902;
FRM-41902: 合計: <カーソル数>個のカーソルが使用されています。

原因:	[統計表示]作業環境を[Yes]に設定してフォームを実行したときにこのメッセージが表示されます。

処置:	アクションは必要ありません。

レベル:	>25

タイプ:	通知


FRM-41903;
FRM-41903: 入力ファイルのEOFが検出されたため､実行が中止されました｡

原因:	内部エラーです。

処置:	サポート担当に連絡してください。

レベル:	>25

タイプ:	エラー


FRM-42015;
FRM-42015: 非対話形式モードにあるキー・ファイルを指定しなければなりません。

原因:	フォーム起動時にキー入力ファイルの名前を指定せずに非対話形式モードでそのフォームを実行しようとしました。

処置:	そのキー・ファイルの名前を指定します。

レベル:	>25

タイプ:	エラー


FRM-42016;
FRM-42016: 読込みファイルと書込みファイルの名前は同じであってはいけません。

原因:	読込みファイルおよび書込みファイルに同一名を指定しようとしました。

処置:	この2つのファイルには別の名前を指定します。

レベル:	>25

タイプ:	エラー


FRM-42017;
FRM-42017:モジュール名を指定してください

原因:	モジュール名を指定していません。

処置:	モジュール名を指定します。

レベル:	>25

タイプ:	エラー


FRM-42100;
FRM-42100: エラーは見つかっていません。

原因:	[エラー表示]を押しましたが、現在エラーは発生していません。

処置:	アクションは必要ありません。

レベル:	5

タイプ:	通知


FRM-42400;
FRM-42400: イベント・トリガー<トリガー名>を実行しています。

原因:	このメッセージは、デバック・モードが指定されているとき、トリガー実行中に表示されます。

処置:	アクションは必要ありません。

レベル:	>25

タイプ:	通知


FRM-42401;
FRM-42401: プログラム･トリガー<トリガー名>を実行しています。

原因:	このメッセージは、デバック・モードが指定されているとき、トリガー実行中に表示されます。

処置:	アクションは必要ありません。

レベル:	>25

タイプ:	通知


FRM-42423;
FRM-42423: トリガー<トリガー名>を実行できません。コンパイルされていません。

原因:	このメッセージは、トリガーのコンパイル状態が破壊されている場合に、デバッグ・モードでフォームを実行中に表示されます。これは、そのトリガー・テキストに変更を加え、その変更内容がコンパイル・エラーを起こした場合に発生することがあります。

処置:	デバッガーでこのトリガーを再コンパイルするか、そのフォームを終了し、再起動してください。

レベル:	99

タイプ:	エラー


FRM-47000;
FRM-47000: パラメータ・リスト<パラメータ・リスト名>を作成できません : 内部エラーです。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47001;
FRM-47001: パラメータ・リスト<パラメータ・リスト名>を作成できません : この名前のリストが存在しています。

原因:	このパラメータ・リストに指定した名前は、すでに使用中です。

処置:	パラメータ・リストに別名を指定します。

レベル:	99

タイプ:	エラー


FRM-47002;
FRM-47002: パラメータ・リストを作成できません : 名前はNULL以外でなければなりません。

原因:	パラメータ・リスト名がNULLであることはできません。

処置:	そのパラメータ・リストに名前を指定します。


FRM-47003;
FRM-47003: パラメータ・リストを削除できません : 内部エラーです。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47004;
FRM-47004: パラメータ・リストを削除できません : IDが無効です。

原因:	無効なパラメータ・リストIDを渡そうとしました。

処置:	リストID名をチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47005;
FRM-47005: パラメータ<パラメータ名>の妥当性チェックができません : 内部エラーです｡

原因:	内部エラーです。

処置:	サポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47006;
FRM-47006: パラメータ・リスト<パラメータ・リスト名>を作成できません : 識別子名が間違っています。

原因:	識別子名が無効です。

処置:	この識別子の有効な構文をチェックします。

レベル:	99

タイプ:	エラー


FRM-47007;
FRM-47007: パラメータ・リストからパラメータ<パラメータ名>属性を取得できません : リストIDが無効です。

原因:	無効なパラメータ・リストIDを指定しました。

処置:	パラメータ・リストIDをチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47008;
FRM-47008: パラメータ<パラメータ名>をパラメータ・リスト<リスト名>に追加できません : 内部エラーです。

原因:	内部エラーが発生しました。

処置:	サポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47009;
FRM-47009: パラメータ<パラメータ名>をパラメータ・リストに追加できません : リストIDが無効です。

原因:	無効なパラメータ・リストIDが指定されました。

処置:	パラメータ・リストIDをチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47010;
FRM-47010: パラメータをパラメータ・リスト<リスト名>に追加できません : 指定キーがNULLです。

原因:	パラメータに名前が指定されていません。

処置:	ADD_PARAMETERに対するコールにパラメータ名<キー>を指定します。

レベル:	99

タイプ:	エラー


FRM-47011;
FRM-47011: パラメータ<パラメータ名>をパラメータ・リスト<リスト名>に追加できません : 指定したタイプが正しくありません。

原因:	指定したパラメータ・タイプが無効です。

処置:	TEXT_PARAMETERまたはDATA_PARAMETERのいずれかを指定します。

レベル:	99

タイプ:	エラー


FRM-47012;
FRM-47012: パラメータ<パラメータ名>をパラメータ・リスト<リスト名>に追加できません : グループ<グループ名>が存在していません。

原因:	レコード・グループ名が存在しません。

処置:	レコード・グループ名をチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47013;
FRM-47013: パラメータ<パラメータ名>をパラメータ・リスト<リスト名>に追加できません : この名前のパラメータは存在しています。

原因:	この名前のパラメータはすでに存在します。

処置:	このパラメータに別名を指定します。

レベル:	99

タイプ:	エラー


FRM-47014;
FRM-47014: パラメータ<パラメータ名>をパラメータ・リスト<リスト名>から削除できません : 内部エラーです。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47015;
FRM-47015: パラメータ<パラメータ名>をパラメータ・リストから削除できません : リストIDが無効です。

原因:	無効なパラメータ・リストIDを指定しました。

処置:	リストID名をチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47016;
FRM-47016: パラメータ・リスト<リスト名>からパラメータを削除できません : 指定キーがNULLです。

原因:	パラメータに名前を指定していません。

処置:	パラメータ名の提供により、DELETE_PARAMETERのコールを訂正します。

レベル:	99

タイプ:	エラー


FRM-47017;
FRM-47017: パラメータ<パラメータ名>をパラメータ・リスト<リスト名>から削除できません : このような名前のパラメータは存在していません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 存在しないパラメータ名が指定されました。

処置:	パラメータ名をチェックして、再試行します。

レベル:	99

タイプ:	エラー


FRM-47018;
FRM-47018: パラメータ<パラメータ名>属性（パラメータ・リスト<リスト名>中）を設定できません : 内部エラーです。

原因:	内部エラー: 無効なパラメータ・リストIDを指定しました。

処置:	サポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47019;
FRM-47019: パラメータ<パラメータ名>の属性をパラメータ・リストに設定できません : リストIDが無効です｡

原因:	無効なパラメータ・リストIDが指定されました。

処置:	パラメータ・リストIDをチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47020;
FRM-47020: パラメータ<パラメータ名>属性（パラメータ・リスト<リスト名>中）を設定できません : このような名前のパラメータは存在していません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 存在しないパラメータ名が指定されました。

処置:	パラメータ名をチェックして、再試行します。

レベル:	99

タイプ:	エラー


FRM-47021;
FRM-47021: <パラメータ名>という名前のパラメータはパラメータ・リスト<リスト名>に存在しません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 存在しないパラメータ名が指定されました。

処置:	名前をチェックして、再試行します。

レベル:	99

タイプ:	エラー


FRM-47022;
FRM-47022: パラメータ・リスト<リスト名>を作成できません : 名前が予約語です。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 予約語である名前が指定されました。

処置:	パラメータ・リストに別名を指定します。

レベル:	99

タイプ:	エラー


FRM-47023;
FRM-47023: <パラメータ名>という名前のパラメータはフォーム<フォーム名>に存在しません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 存在しないパラメータ名が指定されました。

処置:	名前をチェックして、再試行します。

レベル:	99

タイプ:	エラー


FRM-47024;
FRM-47024: パラメータ<パラメータ名>タイプはフォーム<フォーム名>の定義と一致しません。

原因:	フォーム内の定義と一致しないパラメータ・タイプを指定しました。

処置:	フォーム内の定義に一致するパラメータ・タイプを指定します。

レベル:	99

タイプ:	エラー


FRM-47025;
FRM-47025: パラメータ<パラメータ名>属性をパラメータ・リスト<リスト名>から取得できません : 内部エラーです。

原因:	内部エラー: 無効なパラメータ・リストIDを指定しました。

処置:	サポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47026;
FRM-47026: パラメータ<パラメータ名>属性をパラメータ・リスト<リスト名>から取得できません : このような名前のパラメータは存在していません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 存在しないパラメータ名が指定されました。

処置:	名前をチェックして、再試行します。

レベル:	99

タイプ:	エラー


FRM-47027;
FRM-47027: パラメータ<パラメータ名>をパラメータ・リスト<リスト名>に追加できません : 指定キーが無効です。

原因:	無効なパラメータ・リストIDが指定されました。

処置:	名前をチェックして、再試行します。

レベル:	99

タイプ:	エラー


FRM-47028;
FRM-47028: パラメータ<パラメータ名>の属性をパラメータ・リスト<リスト名>に設定できません : グループ<グループ名>は存在していません｡

原因:	無効なパラメータ・リストIDが指定されました。

処置:	名前をチェックして、再試行します。

レベル:	99

タイプ:	エラー


FRM-47029;
FRM-47029: フォーム<フォーム名>のパラメータ・リストIDが無効です。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 存在しないパラメータ名が指定されました。

処置:	IDをチェックして、再試行します。

レベル:	99

タイプ:	エラー


FRM-47030;
FRM-47030: パラメータ値<パラメータ値>は、フォーム<フォーム名>の定義には長過ぎます。

原因:	指定したパラメータが長すぎます。

処置:	有効なパラメータを指定します。

レベル:	99

タイプ:	エラー


FRM-47031;
FRM-47031: DEFAULTパラメータ・リストでパラメータ<パラメータ値>の値を設定できません。指定した値が無効です。

原因:	アプリケーションの設計エラーです。フォームが設計されたときに定義されたパラメータの値の設定をビルトイン（SET_PARAMETER_ATTRなど）が試みていますが、指定された値はそのパラメータのデータ型に有効ではありません。

処置:	そのビルトインのコールを変更するか削除します。

レベル:	99

タイプ:	エラー


FRM-47032;
FRM-47032: DEFAULTパラメータ・リストでパラメータ<パラメータ値>の値を設定できません。内部エラーです。

原因:	パラメータ値設定時の内部エラーです。

処置:	サポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47033;
FRM-47033: 読込み専用バインド変数<変数>を設定できません。

原因:	アプリケーションの設計エラーです。アプリケーションが、プログラム的には変更不能なバインド変数に値を割り当てようとしました。

処置:	この割当ては削除する必要があります。

レベル:	25

タイプ:	エラー


FRM-47100;
FRM-47100: イメージ・ファイル<ファイル名>が読込めません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. Form Builderがファイルを見つけることができなかったか、ファイルをオープンできませんでした。

3. ファイル内のデータが指定された形式ではありません。

処置:	ファイル名およびファイル形式をチェックして、再試行します。

レベル:	99

タイプ:	エラー


FRM-47101;
FRM-47101: イメージ・ファイル<ファイル名>が書込みできません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. Form Builderがファイルを見つけることができなかったか、ファイルをオープンできませんでした。

3. ファイル内のデータが指定された形式ではありません。

処置:	ファイル名をチェックし、書込み権限を有するか確認します。

レベル:	99

タイプ:	エラー


FRM-47102;
FRM-47102: <操作名>操作（イメージ:<イメージ名>および<イメージ名>）が実行できません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. この操作はカラー・イメージでは実行できません。

処置:	両方のイメージがモノクロであるか確認します。

レベル:	99

タイプ:	エラー


FRM-47103;
FRM-47103: イメージ<イメージ名>がズームできません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. NULLイメージまたは無効なイメージ・データをスケーリングしようとして起こされた内部的なマルチメディア・エラーです。

処置:	ズームするイメージ名をチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47104;
FRM-47104: イメージ・タイプ<ファイル名>が無効です。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 指定されたファイル名のデータが指定されたデータ型と一致しません。

処置:	ファイル名をチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47105;
FRM-47105: イメージ名が指定されていません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. ビルトイン・コールに対し名前が指定されませんでした。

処置:	問題のビルトインの構文が正しいかマニュアルを参照してください。

レベル:	99

タイプ:	エラー


FRM-47106;
FRM-47106: イメージ・タイプが指定されていません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. READ_IMAGE_FILEまたはWRITE_IMAGE_FILEのコール時にイメージ・タイプが指定されませんでした。

処置:	READ_IMAGE_FILEまたはWRITE_IMAGE_FILEのコールにイメージ型を引数として提供します。

レベル:	99

タイプ:	エラー


FRM-47107;
FRM-47107: Image_Zoomの位取り項目<項目番号>が無効です。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 無効なスケール変更係数が指定されました。

処置:	IMAGE_ZOOMのコールを訂正します。

レベル:	20

タイプ:	エラー


FRM-47108;
FRM-47108: 項目<項目名>がイメージ項目ではありません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. イメージ項目ではない項目に対しイメージ操作の実行が試みられました。

処置:	項目名をチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47109;
FRM-47109: イメージ・ファイル<ファイル名>が見つかりません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. 見つからない、または存在しないファイルが指定されました。

処置:	そのファイルが存在するか、パス名が正しいか検証します。

レベル:	20

タイプ:	エラー


FRM-47110;
FRM-47110: Image_Zoom<領域名>に選択された領域がありません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. イメージ領域が選択されずにイメージのズームが試みられました。

処置:	イメージ領域を選択します。

レベル:	20

タイプ:	エラー


FRM-47111;
FRM-47111: 項目<項目名>に値をコピーできません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. イメージ項目上でCOPYビルトインの使用が試みられました。

処置:	イメージ項目にCOPYビルトインは使用できません。

レベル:	20

タイプ:	エラー


FRM-47200;
FRM-47200: 項目<項目名>はサウンド項目ではありません。

原因:	原因は次のいずれかです。

1. 無効なパラメータ・リストIDが指定されました。

2. サウンド項目ではない項目に対しサウンド操作の実行が試みられました。

処置:	項目名をチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47201;
FRM-47201: サウンド<サウンド名>を再生できません。

原因:	要求されたサウンド項目のサウンドを再生できません。サウンド出力デバイスが使用中の可能性があります。

処置:	そのサウンド・デバイスに出力を向ける他のプログラムを停止し、再試行します。

レベル:	99

タイプ:	エラー


FRM-47202;
FRM-47202: サウンド・ファイル名が指定されていません。

原因:	ビルトイン・コールにファイル名を指定していません。

処置:	問題のビルトインの構文が正しいかマニュアルを参照してください。

レベル:	99

タイプ:	エラー


FRM-47203;
FRM-47203: サウンド・ファイル<ファイル名>を位置付けられません。

原因:	Form Builderは、READ_SOUND_FILEに指定されたファイルを見つけられませんでした。

処置:	ファイル名をチェックし、再試行します。

レベル:	99

タイプ:	エラー


FRM-47204;
FRM-47204: サウンド・ファイル<ファイル名>を読み込めません。

原因:	Form Builderがそのサウンド・ファイルを読み込めませんでした。一般的な理由は、指定ファイルタイプがファイル内容に一致しないことです。

処置:	そのサウンド・ファイルの内容を検証します。

レベル:	99

タイプ:	エラー


FRM-47205;
FRM-47205: サウンド・タイプが指定されていません。

原因:	WRITE_SOUND_FILEのコール時にサウンド型を指定していません。

処置:	WRITE_SOUND_FILEのコールにサウンド型を引数として提供します。

レベル:	99

タイプ:	エラー


FRM-47206;
FRM-47206: サウンド・ファイル<ファイル名>が書き込めません。

原因:	Form Builderはそのサウンド・ファイルを作成できませんでした。サウンド・データが破壊された可能性があります。

処置:	サポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47207;
FRM-47207: このリリースでは、現項目に対してのみPlay_Soundを実行できます。

原因:	現行項目以外の項目にたいしてPLAY_SOUNDが起動されました。

処置:	PLAY_SOUNDのコール前にそのサウンド項目に入力フォーカスを配置します。

レベル:	99

タイプ:	エラー


FRM-47208;
FRM-47208: 空サウンド・ファイル（<ファイル名>）を作成できません。

原因:	サウンド・データを含まないサウンド項目に対してWRITE_SOUND_FILEが起動されました。

処置:	サウンド・データをサウンド項目にロードしてから、WRITE_SOUND_FILEをコールします。

レベル:	99

タイプ:	エラー


FRM-47300;
FRM-47300: 項目は階層ツリーではありません。(<項目名>)

原因:	階層ツリー・ビルトインが、ツリー項目以外でコールされました。

処置:	項目タイプおよび項目名を確認します。

レベル:	99

タイプ:	エラー


FRM-47301;
FRM-47301: ツリーのルートと同レベルにデータを追加することはできません。

原因:	ADD_TREE_DATAまたはADD_TREE_NODEを使用して、ルートと同じレベルにデータを追加しようとしました。

処置:	ツリー内のルートより下のレベルにデータを追加します。

レベル:	99

タイプ:	エラー


FRM-47302;
FRM-47302: ツリーの子または同レベルにのみデータを追加できます。

原因:	ADD_TREE_DATAまたはADD_TREE_NODEにおいて、不明なoffset_type値を使用しようとしました。

処置:	 offset_typeパラメータには、PARENT_OFFSETおよびSIBLING_OFFSETのみ指定できます。

レベル:	99

タイプ:	エラー


FRM-47303;
FRM-47303: ADD_TREE_DATAにはグループまたは問合せからのデータだけを受け付けます。

原因:	ADD_TREE_DATAにおいて、不明なdatasource値を使用しようとしました。

処置:	datasourceパラメータには、RECORD_GROUPまたはQUERY_TEXTのみ指定できます。

レベル:	99

タイプ:	エラー


FRM-47304;
FRM-47304: ツリーのルート・ノードは削除できません。

原因:	DELETE_TREE_NODEにおいて、ルート・ノードを削除しようとしました。

処置:	ノードを削除する前にID_NULLを使用して、ノードがルートかどうかを確認します。

レベル:	99

タイプ:	エラー


FRM-47305;
FRM-47305: ツリーの検索ではラベルまたは値以外は検索できません。

原因:	FIND_TREE_NODEにおいて、不明なsearch_byパラメータ値を使用しようとしました。

処置:	search_byパラメータを、NODE_LABELまたはNODE_VALUEに設定します。

レベル:	99

タイプ:	エラー


FRM-47306;
FRM-47306: Search_typeはFIND_NEXTまたはFIND_NEXT_CHILDでなければなりません。

原因:	FIND_TREE_NODEにおいて、無効なsearch_typeパラメータ値を使用しようとしました。

処置:	search_typeパラメータを、FIND_NEXTまたはFIND_NEXT_CHILDに設定します。

レベル:	99

タイプ:	エラー


FRM-47307;
FRM-47307: ツリーのルート・ノードのプロパティを取得できません。

原因:	GET_TREE_NODE_PARENTまたはGET_TREE_NODE_PROPERTYにおいて、ルート・ノードから情報を取得しようとしました。

処置:	ビルトインは、有効なノードに対してのみコールします。

レベル:	99

タイプ:	エラー


FRM-47308;
FRM-47308: GETまたはSET_TREE_NODE_PROPERTYのプロパティが無効です。

原因:	GETまたはSET_TREE_NODE_PROPERTYに無効なプロパティ定数を渡しました。

処置:	引数を検証します。

レベル:	99

タイプ:	エラー


FRM-47309;
FRM-47309: GETまたはSET_TREE_PROPERTYのプロパティが無効です。

原因:	 GETまたはSET_TREE_PROPERTYに無効なプロパティ定数を渡しました。

処置:	引数を検証します。

レベル:	99

タイプ:	エラー


FRM-47310;
FRM-47310: GET_TREE_SELECTIONの選択インデックスが無効です。

原因:	選択インデックスの範囲は1～選択ノード数です。

処置:	選択が、範囲内であることを確認します。

レベル:	99

タイプ:	エラー


FRM-47311;
FRM-47311: レコード・グループのデータロード中にエラーが発生しました。

原因:	 POPULATE_GROUP_FROM_TREEに指定されたレコード・グループが無効です。

処置:	レコード・グループが存在すること、およびレコード・グループの定義が静的ではないことを確認します。

レベル:	99

タイプ:	エラー


FRM-47312;
FRM-47312: レコード・グループのデータロード中に内部エラーが発生しました。

原因:	POPULATE_GROUP_FROM_TREEにおいて、内部エラーが発生しました。一部の行はすでに追加されている可能性があります。

処置:	レコード・グループに行を追加できません。

レベル:	99

タイプ:	エラー


FRM-47313;
FRM-47313: 階層ツリーへの問合せが無効です。

原因:	指定された問合せテキストから有効なツリー・データを作成できませんでした。

処置:	問合せテキストの列数が有効であること、およびデータ型が有効であることを確認します。

レベル:	99

タイプ:	エラー


FRM-47314;
FRM-47314: ツリーのルート・ノードのプロパティを設定できません。

原因:	SET_TREE_NODE_PROPERTYにおいて、ルート・ノードのプロパティを設定しようとしました。

処置:	ビルトインは、有効なノードに対してのみコールします。

レベル:	99

タイプ:	エラー


FRM-47315;
FRM-47315: SET_TREE_NODE_PROPERTYのパラメータ値が無効です。

原因:	設定しようとしているツリー･ノード・プロパティのパラメータ値を確認します。

処置:	 SET_TREE_NODE_PROPERTYに渡されるパラメータ値を訂正します。

レベル:	99

タイプ:	エラー


FRM-47316;
FRM-47316: 子を持たないブランチ・ノードは許可されていません。

原因:	ノードの状態をリーフ・ノードからブランチに変更しようとしました。このツリーには、空のブランチ・ノードを許可されていません。

処置:	空のブランチ・ノードを使用できるようにツリーを変更するか、ノードに子を追加します。

レベル:	99

タイプ:	エラー


FRM-47317;
FRM-47317: リーフ・ノードは子を持つことができません。

原因:	子を持つノードの状態を、ブランチ・ノードからリーフに変更しようとしました。

処置:	ノードの状態を変更するには、まずノードから子を削除します。

レベル:	99

タイプ:	エラー


FRM-47318;
FRM-47318: SET_TREE_PROPERTYのパラメータ値が無効です。

原因:	設定しようとしているツリー・プロパティのパラメータ値を確認します。

処置:	SET_TREE_PROPERTYに渡すパラメータ値を訂正します。

レベル:	99

タイプ:	エラー


FRM-47319;
FRM-47319: ツリーのルート・ノードは選択できません。

原因:	SET_TREE_SELECTIONにおいて、ルート・ノードを選択しようとしました。

処置:	ビルトインは、有効なノードに対してのみコールします。

レベル:	99

タイプ:	エラー


FRM-47320;
FRM-47320: SET_TREE_SELECTIONの選択タイプが無効です。

原因:	SET_TREE_SELECTIONにおいて、無効なselection_typeパラメータ値を使用しようとしました。

処置:	パラメータ値を、SELECT_ON, SELECT_OFFまたはSELECT_TOGGLEに設定します。

レベル:	99

タイプ:	エラー


FRM-47321;
FRM-47321: ツリーのデータロードに使われたデータが無効です。

原因:	ADD_TREE_DATAにおいて、無効な書式のデータを使用しようとしました。

処置:	グループまたは問合せにおける列の数とタイプを確認します。

レベル:	99

タイプ:	エラー


FRM-47322;
FRM-47322: 指定されたツリーのデータ･ソースはレコード・グループではありません。

原因:	ツリーのデータ・ソースはレコード･グループとして宣言されていますが、レコード･グループではありません。

処置:	指定されたIDまたは名前が、既存のレコード・グループのIDまたは名前であるかを確認します。

レベル:	99

タイプ:	エラー


FRM-47323;
FRM-47323: ツリーのノードが選択されていません。

原因:	選択されたノードを取得しようとしましたが、現在選択されているノードはありません。

処置:	選択されているノードの数の確認してから、取得を行います。

レベル:	99

タイプ:	エラー


FRM-47324;
FRM-47324: ツリー構造にメモリーを割り当てられませんでした。

原因:	内部ツリー構造にメモリーを割り当てることができません。ツリーは破棄されました。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47325;
FRM-47325: ツリー・ノードにメモリーを割り当てられませんでした。

原因:	ツリー・ノードにメモリーを割り当てることができません。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47333;
FRM-47333: ツリー･ノードを要求された状態に設定できませんでした。

原因:	ツリー・ノードの状態を変更できません。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47334;
FRM-47334: ツリー・ノードのアイコンの文字列にメモリーを割り当てられませんでした。

原因:	ツリー・ノードのアイコン名にメモリーを割り当てることができません。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47335;
FRM-47335: ツリー・ノードのアイコンが見つかりませんでした。 （<アイコン名>）

原因:	必要なアイコンが標準位置にありません。

処置:	ツリー・ノードのアイコンが適切なディレクトリ内にあることを確認します。

レベル:	99

タイプ:	エラー


FRM-47336;
FRM-47336: ツリー･ノードを要求されたアイコンに設定できませんでした。

原因:	要求されたツリー・ノードのアイコンを設定できません。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47337;
FRM-47337: ツリー・ノードのラベルはNULLにできません。

原因:	ツリー・ノードのラベルをNULL値に設定しようとしました。

処置:	ラベルをNULL以外の値に設定します。

レベル:	99

タイプ:	エラー


FRM-47338;
FRM-47338: ツリー・ノードのラベルにメモリーを割り当てられませんでした。

原因:	ツリー・ノードのラベルにメモリーを割り当てることができません。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47339;
FRM-47339: ツリー・ノードを要求されたラベルに設定できませんでした。

原因:	要求されたツリー・ノードのラベルを設定できません。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47340;
FRM-47340: ツリー・ノードの値にメモリーを割り当てられませんでした。

原因:	ツリー・ノードの値にメモリーを割り当てることができません。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-47341;
FRM-47341: ツリーのノードが多すぎます。

原因:	ツリー内には、現行のMAX-SIGNED-4-BYTEノードまたは削除されたMAX-SIGNED-4-BYTEノードのみを指定できます。

処置:	ツリー内のノード数を減らします。常にノードを追加したり削除する場合は、ツリーを消去して再度データをロードする必要があります。

レベル:	99

タイプ:	エラー


FRM-47342;
FRM-47342: ツリーの問合せテキストにメモリーを割り当てられませんでした。

原因:	ツリーの問合せテキストにメモリーを割り当てることができません。

処置:	DBAまたはサポート担当に連絡してください。

レベル:	99

タイプ:	エラー


FRM-99999;
FRM-99999: エラー<エラー番号>が発生しました。このエラーに関する情報は、リリース・ノート・ファイル（relnotes）を参照してください。

原因:	エラーが発生しました。このエラーは、リリース・ノート・ファイルで説明されています。

処置:	リリース・ノート・ファイルを参照してください。


FRM-30004;
FRM-30004: モジュール名を指定してください。

原因:	モジュール名が提供されていないか、または提供されたモジュール名が使用不能です。

処置:	有効モジュール名を入力します。


FRM-30009;
FRM-30009: ブロックが入力されていません。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30012;
FRM-30012: ブロックは最低1つ項目をもたなければなりません。

原因:	ブロックに項目を入力していません。

処置:	ブロックに項目を入力するか、またはそのブロックを再作成します。


FRM-30013;
FRM-30013: 項目<項目名>（ブロック<ブロック名>中）がありません。

原因:	現ブロックに存在しない項目を参照しました。

処置:	項目名をチェックし、次のいずれかを行います。

1. 項目への参照を削除します。

2. 項目の名前を変更します。


FRM-30014;
FRM-30014: ブロック<ブロック名>はありません。

原因:	現フォームに存在しないブロックを参照しました。

処置:	ブロック名をチェックし、次のいずれかを行います。

1. ブロックに対する参照を削除します。

2. ブロックの名前を訂正します。


FRM-30015;
FRM-30015: 項目名<項目名>はあいまいです。

原因:	2つ以上のブロックに存在する項目名を入力しました。

処置:	その項目名を一意のものにするには、そのブロック名を指定します。block_name.item_nameの書式（例: EMP.SALARY）を使用します。


FRM-30016;
FRM-30016: 項目<項目名>はありません。

原因:	現フォームに存在しない項目を参照しました。

処置:	項目名をチェックし、次のいずれかを行います。

1. 項目への参照を削除します。

2. 項目の名前を変更します。


FRM-30018;
FRM-30018: 内部エラー: メモリーを割り当てられません 。

原因:	メモリーが足りないか、またはメモリーが破壊されている可能性があります。

処置:	DBAに連絡してください。


FRM-30020;
FRM-30020: 内部エラー: VGSコンテキストを割り当てられません。

原因:	レイアウト・エディタのVGSコンテキストの割振り中にエラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-30021;
FRM-30021: 内部エラー: VGSボイラープレート情報をビルドできません。

原因:	ボイラープレート・データが破壊されているため、内部エラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-30028;
FRM-30028: WHERE句が長すぎます。

原因:	V2トリガーの一部として入力したSQL文が長すぎます。

処置:	文を短くします（最大長 = 4096文字）。


FRM-30029;
FRM-30029: ウィンドウ<ウィンドウ名>が見つかりません。

原因:	ウィンドウ・セットが無効な親ウィンドウに設定されています。

処置:	ウィンドウを有効な親ウィンドウに設定します。


FRM-30032;
FRM-30032: レコード表示数は1から255の間になければなりません。

原因:	レコード表示数が有効範囲内にありません。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30033;
FRM-30033: バッファされたレコードが表示レコードを超えていなければなりません。

原因:	バッファ・レコード数が、表示レコード数より大きくなっていません。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30040;
FRM-30040: 項目タイプが無効です。

原因:	無効な項目タイプを入力しました。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30041;
FRM-30041: 項目の位置がキャンバス外を指しています。

原因:	その項目に無効なY座標を指定しました。

処置:	キャンバス内の座標を指定します。


FRM-30042;
FRM-30042: 項目長は1から133の間でなければなりません。

原因:	入力した項目長が有効範囲内に入っていません。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30043;
FRM-30043: 項目長は1から255の間でなければなりません。

原因:	入力した項目長が有効範囲内に入っていません。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30044;
FRM-30044: 表示長は1-133の間でかつ実際のフィールド長を超えられません。

原因:	入力した項目長が有効範囲内に入っていません。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30045;
FRM-30045: 項目の問合せ長は0（デフォルト）か、実際の長さ以上でなければなりません。

原因:	無効な問合せ長を入力しました。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30046;
FRM-30046: 内部エラー: ポインタを調整できません。

原因:	内部コンパイル・エラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-30047;
FRM-30047: 項目参照<項目名>を解決できません。

原因:	参照項目が存在しません。

処置:	参照を変更するか、またはその項目を作成します。


FRM-30048;
FRM-30048: レコード・グループ<レコード・グループ名>が見つかりません。

原因:	値リストオブジェクトまたは階層ツリーオブジェクト内に指定されたレコード・グループが無効です。

処置:	指定されたレコード・グループ名またはIDをチェックします。


FRM-30049;
FRM-30049: 列マッピングをビルドできません。

原因:	その値リストオブジェクト内のレコード・グループ列の参照が見つかりません。

処置:	その値リストオブジェクト内に指定された列名をチェックします。


FRM-30051;
FRM-30051: 内部エラー: 出力用のヒープを準備できません。

原因:	内部コンパイル・エラーが発生しました。

処置:	サポート担当に連絡してください。


FRM-30052;
FRM-30052: ユーザー命名の可視属性<可視属性名>が存在しません。

原因:	未定義の可視属性名をオブジェクトに割当てました。

処置:	その可視属性名をチェックし、再試行します。


FRM-30053;
FRM-30053: ユーザー命名でない可視属性が作成できません。

原因:	内部エラーまたはメモリー割振りエラーが原因です。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30054;
FRM-30054: キャンバス<キャンバス名>が見つかりません。

原因:	無効なキャンバス名またはIDが指定されました。

処置:	キャンバス名またはIDをチェックするか、または再試行します。


FRM-30056;
FRM-30056: 警告! 項目<データ・ブロック名>.<項目名>のプロンプトは切り捨てられました。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30057;
FRM-30057: レコード・グループの最大レコード長を超えています。

原因:	指定した列が多すぎます。

処置:	このレコード・グループには列をこれ以上追加しないでください。


FRM-30058;
FRM-30058: レコード・グループ列名<列名>が無効です。

原因:	無効な列名を指定しました。

処置:	列名をチェックし、再試行します。


FRM-30059;
FRM-30059: 列名<列名>が重複しています。

原因:	既存の列名を指定しました。

処置:	一意の列名を指定します。


FRM-30060;
FRM-30060: 列記述子<列記述子>が作成できません。

原因:	内部エラーまたはメモリー割振りエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30061;
FRM-30061: INTO句は、<構文名>文から削除できません。

原因:	バインド変数置換エラー: 値リストまたはレコード・グループ内のSELECT文が間違っています。

処置:	そのSELECT文の構文をチェックし、INTO句を追加します。


FRM-30062;
FRM-30062: 文<構文名>のバインド変数置換が実行できません。

原因:	参照先バインド変数が存在しません。

処置:	この変数を作成するか、またはその参照を訂正します。


FRM-30063;
FRM-30063: レコード・グループ照会<問合せ名>の解析にカーソルをオープンできません。

原因:	データベースとの接続を失くしました。

処置:	データベース接続をチェックするか、またはDBAに連絡します。


FRM-30064;
FRM-30064: 文<構文名>が解析できません。

原因:	値リストまたはレコード・グループ内のSELECT文に構文エラーが発生しました。

処置:	文をチェックし、FROM句を追加します。


FRM-30065;
FRM-30065: 列型<項目番号>がサポートされていません。

原因:	指定された列型がCHAR、NUMBERまたはDATEではありません。

処置:	列型をForm Builderがサポートするものに変更します。


FRM-30069;
FRM-30069: トリガー名が無効です。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30081;
FRM-30081: SQL文が長すぎます。

原因:	最大許容長を超えるSQL文を（V2トリガーの一部として)入力しました。

処置:	文の長さを4096文字以下に縮めます。


FRM-30082;
FRM-30082: SELECT文以外のSQL文は、コミットなしのトリガーでは使用できません。

原因:	このトリガーには、SELECT文以外のSQL文が含まれています。

処置:	SELECTではないSQL文を有効なトリガーに移動します。


FRM-30083;
FRM-30083: エディタ<エディタ名>が見つかりません。

原因:	参照先エディタ名が存在しません。

処置:	そのエディタを作成するか、またはその参照を削除します。


FRM-30084;
FRM-30084: 値リスト<リスト名>が見つかりません。

原因:	参照先値リスト名が存在しません。

処置:	別の値リスト名を指定するか、またはその参照を削除します。


FRM-30085;
FRM-30085: 出力用のフォームが調整できません。

原因:	内部エラーまたはメモリー割振りエラーが原因です。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30087;
FRM-30087: フォーム・ファイル<ファイル名>が作成できません。

原因:	指定されたディレクトリにおける権限がないか、または必要なディスク領域がありません。

処置:	DBAに連絡して、必要なアクセス権限が自分にあるか確認してください。


FRM-30089;
FRM-30089: ページが多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30090;
FRM-30090: ボイラープレート項目が多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30091;
FRM-30091: トリガー・ステップが多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30092;
FRM-30092: 範囲が多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30093;
FRM-30093: トリガーが多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30094;
FRM-30094: 項目ポインタが多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30096;
FRM-30096: 出力ファイル<ファイル名>を作成できませんでした。

原因:	オペレーティング・システム・エラーが発生したので、Form Builderは出力ファイルを作成できませんでした。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30100;
FRM-30100: ブロックには少なくとも1つ主キー項目がなければなりません。

原因:	次の1つが当てはまる場合は、主キーの一部として少なくとも1つの項目がマークされる必要があります。

1. ブロックのキー・モードが、「更新可能」または「更新不可」のどちらかです。

2. ブロックのキー・モードが「自動」であるのに、接続しているデータ・ソースが一意キー・モードをサポートしていません。

処置:	項目の1つを主キーの一部としてマークし、再コンパイルします。


FRM-30101;
FRM-30101: 文字列が多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30102;
FRM-30102: 出力ファイルの全体を書込みできませんでした。

原因:	オペレーティング・システム・エラーが発生したので、Form Builderは出力ファイルを作成できませんでした。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30109;
FRM-30109: 項目<データ・ブロック名>.<項目名>は、右揃えでスクロールされています。

原因:	項目は、スクロール項目または右寄せ項目のいずれかであり、両方ではいけません。

処置:	項目をスクロール項目または右寄せ項目のいずれかに定義します。


FRM-30110;
FRM-30110: Y、*Y、**Y、N、*N、または**Nを入力しなければなりません。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30112;
FRM-30112: 警告! <項目名>は、ブロック: PARAMETERの項目として解釈されます｡

原因:	パラメータではなく、フィ－ルドをポイントしました。

処置:	これが意図したことであるか確認してください。


FRM-30113;
FRM-30113: ブロックには、非問合せのみのデータベース項目がなければなりません。

原因:	更新および挿入可能なブロックには、データベースから導出した項目が少なくとも1つ必要です。

処置:	そのブロック内に導出項目を作成します。


FRM-30118;
FRM-30118: 警告メッセージ・ファイル<ファイル名>を作成できませんでした。

原因:	オペレーティング・システム・エラーが発生したので、Form Builderは警告ファイルを作成できませんでした。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30119;
FRM-30119: エラーおよび警告はファイル<ファイル名>に書き込まれました。

原因:	コンパイル・エラーです。

処置:	指定ファイル内のエラーおよび警告をチェックします。


FRM-30120;
FRM-30120: バージョン1のマクロ<マクロ名>はサポートされていません。

原因:	Formsバージョン1のマクロ（#MACRO、#MACROIFまたは#KEY）を使用しています。このバージョンは、それ以降のバージョンのForm Builderではサポートされていません。

処置:	マクロを、それ以降の適正なバージョンの等価なマクロと置換してください。


FRM-30121;
FRM-30121: INTO句でエラーになったか、FROM句が足りません。

原因:	V2式トリガーに不正なSQL文が含まれています。

処置:	SQL文を訂正します。


FRM-30122;
FRM-30122: 行番号が無効です。

原因:	項目に無効なY位置が付与されました。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30123;
FRM-30123: 列番号が無効です。

原因:	項目に無効なX位置が付与されました。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30124;
FRM-30124: プロシージャが多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30125;
FRM-30125: ライブラリ単位メモリーが大きすぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30129;
FRM-30129: プロシージャ<プロシージャ名>のプロシージャ仕様部でコンパイル・エラーが発生しました。

原因:	無効な仕様部を含むプロシージャをコンパイルしようとしました。

処置:	該当する仕様部を訂正します。


FRM-30130;
FRM-30130: トリガー<トリガー名>に無名ブロックでないテキストが入力されました。

原因:	無名ブロックでないトリガー・テキストを入力しました。

処置:	そのトリガーを書き換えて無名ブロックにします。


FRM-30131;
FRM-30131: トリガー<トリガー名>のパラメータ参照が無効です。

原因:	パラメータを参照するトリガー・テキストを入力しました。

処置:	そのトリガーからパラメータ参照を削除します。ヒント: パラメータを使用する場合は、フォームレベル・プロシージャを書き込みます。


FRM-30132;
FRM-30132: トリガー<トリガー名>に実行不能なテキストが入力されました。

原因:	実行不能なトリガー・テキストを入力しました。

処置:	そのトリガーを書き換えます。


FRM-30133;
FRM-30133: トリガー<トリガー名>で、コンパイル・エラーが発生しました。

原因:	無効なトリガー・テキストを入力しました。

処置:	エラー画面にコンパイル・エラーを表示します


FRM-30134;
FRM-30134: プロシージャとプロシージャ<プロシージャ名>の単位名が一致しません。

原因:	プロシージャ名がプロシージャ・テキスト内で定義された名前と一致しません。

処置:	互いに一致するようこれらの名前を変更します。


FRM-30135;
FRM-30135: プロシージャ<プロシージャ名>として入力されたコードには名前がありません。

原因:	フォームレベル・プロシージャを入力すべきですが、無名ブロックを入力しました。

処置:	そのフォームレベル・プロシージャを書き換えます。


FRM-30136;
FRM-30136: プロシージャ<プロシージャ名>として入力されたコードは実行できません。

原因:	指定されたフォ－ムレベル・プロシージャに実行不能なコードを入力しました。

処置:	そのフォームレベル・プロシージャを書き換えます。


FRM-30137;
FRM-30137: プロシージャ<プロシージャ名>で、コンパイル・エラーが発生しました。

原因:	誤ったフォームレベル・プロシージャを入力しました。

処置:	エラー画面でコンパイル・エラーを確認します。


FRM-30145;
FRM-30145: バインド変数が多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30148;
FRM-30148: バッファ・メモリーが大きすぎます 。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30149;
FRM-30149: 値リストが多すぎます。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30150;
FRM-30150: 項目<データ・ブロック名>.<項目名>用の値リスト・テキストでエラーが発生しました。

原因:	値リストに無効なSQL文を指定しました。

処置:	SQL文を書き換えます。


FRM-30152;
FRM-30152: データベースに接続できません。

原因:	内部システム・エラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30156;
FRM-30156: 出力ファイル<ファイル名>をクローズできませんでした。

原因:	オペレーティング・システム・エラーが発生したので、Form Builderは出力ファイルをクローズできませんでした。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30157;
FRM-30157: LONG項目長は1から65534の間でなければなりません。

原因:	LONG型の項目長が有効範囲内にありませんでした。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30158;
FRM-30158: 表示長は0から133の範囲でなければなりません。

原因:	表示長が有効範囲内にありませんでした。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30159;
FRM-30159: トリガー文の中にテキストがありません。

原因:	空白トリガー・ステップが見つかりました。このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-30161;
FRM-30161: ウィンドウ%sとその主キャンバス%sの間の関係に矛盾があります。

原因:	ウィンドウがその主キャンバスのウィンドウ・プロパティに一致しません。

処置:	ウィンドウの主キャンバス・プロパティまたはキャンバスのウィンドウ・プロパティをチェックします。


FRM-30162;
FRM-30162: ウィンドウ%sとその水平ツールバー%sの間の関係に矛盾があります。

原因:	ウィンドウがその水平ツールバーのウィンドウ・プロパティに一致しません。

処置:	ウィンドウの水平ツールバー・プロパティまたはツールバーのウィンドウ・プロパティをチェックします。


FRM-30163;
FRM-30163: ウィンドウ%sとその垂直ツールバー%sの間の関係に矛盾があります。

原因:	ウィンドウがその垂直ツールバーのウィンドウ・プロパティに一致しません。

処置:	ウィンドウの垂直ツールバー・プロパティまたはツールバーのウィンドウ・プロパティをチェックします。


FRM-30169;
FRM-30169: ユーザー名とパスワードが必要です。

原因:	データベースへの接続に必要なユーザー名およびパスワードを指定していません。

処置:	ユーザー名およびパスワードを指定します。


FRM-30170;
FRM-30170: 警告には最低1つのボタンが必要です。

原因:	警告にボタンが含まれていません。

処置:	この警告には最低1つのボタンを作成します。


FRM-30172;
FRM-30172: このような項目はありません。

原因:	参照先レコード・グループ内に存在しない項目を指定しました。

処置:	参照を訂正します。


FRM-30173;
FRM-30173: モジュールにキャンバスが含まれていません。

原因:	キャンバスを含んでいないフォーム・モジュールをコンパイルしようとしました。

処置:	そのフォーム・モジュールには最低1つのキャンバスを定義します。


FRM-30174;
FRM-30174: チェックあり/チェックなしのチェックボックス値は明確でなければなりません。

原因:	そのチェックボックスは、チェックあり/チェックなしの各状態に同じ値が付与されています。

処置:	値をチェックして、再試行します。


FRM-30179;
FRM-30179: ブロック<ブロック名>が見つかりません。

原因:	指定したブロック名が存在しません。

処置:	ブロック名をチェックし、再試行します。


FRM-30180;
FRM-30180: ラジオ・グループにラジオ・ボタンがありません。

原因:	ラジオ・グループがラジオ・ボタンの外に定義されました。

処置:	ラジオ・グループには最低1つのラジオ・ボタンを定義します。


FRM-30182;
FRM-30182: イメージ項目長は少なくとも1024バイトなければなりません。

原因:	そのイメージの最大長は、1024を超える必要があります。

処置:	イメージのサイズを最大長に増やします。


FRM-30184;
FRM-30184: 他の値が見つかりません。

原因:	定義された他の値が、有効値かラベル文字列の1つに一致しません。

処置:	有効な他の値を定義します。


FRM-30185;
FRM-30185: レコード・グループ<レコード・グループ名>はLONG型の列を1つ以上含んでいます。

原因:	1つのレコード・グループに含められるLONG列は1つのみです。

処置:	次のいずれかの操作を行います。

1. レコード・グループ内のLONG型の列の1つを除き、他のすべてを削除します。

2. レコード・グループ内のLONG型の列の1つを除き、他のすべての型を変更します。


FRM-30186;
FRM-30186: スタティック・レコード・グループ<レコード・グループ名>はLONG列を含んでいます。

原因:	スタティック・レコード・グループには、LONG型の列を含めることはできません。

処置:	次のいずれかの操作を行います。

1. グループを問合せレコード・グループにします。

2. LONG列の型を変更します。


FRM-30187;
FRM-30187: レコード・グループのCHAR列のサイズは1から2000の間で設定してください。

原因:	レコード・グループ内の文字列のサイズが間違って指定されました。

処置:	そのレコード・グループ内の文字列の各サイズが1～2000の間であるか確認します。


FRM-30188;
FRM-30188: 初期値がなく、他の値は受け付けません（項目<データ・ブロック名>.<項目名>）。

原因:	項目に初期値が付与されていません。

処置:	項目の初期値を提供します。


FRM-30089;
FRM-30089: プロパティ・クラス<プロパティ・クラス名>が見つかりません。

原因:	内部Oracleエラーです。

処置:	DBAまたはサポート担当に連絡してください。


FRM-30190;
FRM-30190: Tリスト用に定義された項目がありません。

原因:	空白Tリストを定義しました。

処置:	Tリストの項目を定義します。


FRM-30191;
FRM-30191: 必須ポップリスト用に定義されたリスト項目がありません。

原因:	空白ポップリストを定義しました。

処置:	ポップリストの項目を定義します。


FRM-30193;
FRM-30193: JDATE項目<データ・ブロック名>.<項目名>では書式マスクが使用できません。

原因:	書式マスクは、NUMBER、DATE、TIMEおよびDATETIMEにのみ有効です。

処置:	JDATE項目から書式マスクを削除します。


FRM-30195;
FRM-30195: EDATE項目<データ項目名>.<項目名>では書式マスクが使用できません。

原因:	書式マスクは、NUMBER、DATE、TIMEおよびDATETIMEにのみ有効です。

処置:	EDATE項目から書式マスクを削除します。


FRM-30196;
FRM-30196: ユーザー命名トリガーが多すぎます。

原因:	Formsのメモリー割振り能力を越える多数のユーザー命名トリガーを定義しました。

処置:	定義するユーザー命名トリガーの数を減らします。


FRM-30197;
FRM-30197: レコード・グループに行を追加できません。

原因:	行の追加を試行する前に、そのレコード・グループを作成し、列を追加する必要があります。

処置:	指定しようとするレコード・グループが存在するか確認します。


FRM-30199;
FRM-30199: トランザクション・トリガーは、このブロックに存在しません。

原因:	トランザクション・トリガーを参照しましたが、このモジュールには1つもありません。

処置:	そのトリガーを作成するか、またはその参照を削除します。


FRM-30201;
FRM-30201: フォームをアップグレードする間にエラーが発生しました。

原因:	SQL*Forms 3.0からForms 4.5への変換中にエラーが発生しました。

処置:	付随するエラー・メッセージ（もしあれば）をチェックするか、DBAまたはサポート担当に連絡します。


FRM-30203;
FRM-30203: ブロック<ブロック名>上に項目がありません。

原因:	項目を含まないブロックを持つフォーム・モジュールをコンパイルしようとしました。

処置:	そのブロックにいくつかの項目を定義します。


FRM-30204;
FRM-30204: このブロックの項目合計データ長は、大きすぎます。

原因:	その項目のフィールド長が制限を超えています。

処置:	その項目のフィールド長を減らします。


FRM-30205;
FRM-30205: パラメータ参照<パラメータ参照名>を解決できません。

原因:	参照先パラメータが見つかりませんでした。

処置:	そのパラメータを宣言するか、またはその参照を削除します。


FRM-30207;
FRM-30207: コンボ・ボックス項目<項目名>.<項目名>の「マウス・ナビゲート」は「はい」でなければなりません。

原因:	コンボ・ボックスでは、「マウス・ナビゲート」プロパティを「はい」に設定する必要があります。

処置:	プロパティ値を「はい」に設定します。


FRM-30209;
FRM-30209: モジュールにウィンドウがありません。

原因:	フォーム・モジュールには最低1つのウィンドウが定義されている必要があります。

処置:	そのフォーム・モジュールにウィンドウを定義します。


FRM-30305;
FRM-30305: ライブラリ・ファイル<ファイル名>をオープンできません。

原因:	VBX制御プロパティが変更されました。

処置:	そのVBXプロパティを再定義します。


FRM-30306;
FRM-30306: ライブラリ<ライブラリ名>を保存できません。

原因:	VBX制御プロパティが変更されました。

処置:	そのVBXプロパティを再定義します。


FRM-30307;
FRM-30307: ライブラリからプロシージャをロードできません。

原因:	VBX制御プロパティが変更されました。

処置:	そのVBXプロパティを再定義します。


FRM-30308;
FRM-30308: メモリーを割り当てられません。

原因:	VBX制御プロパティが変更されました。

処置:	そのVBXプロパティを再定義します。


FRM-30309;
FRM-30309: ライブラリにPL/SQLコードがありません。

原因:	VBX制御プロパティが変更されました。

処置:	そのVBXプロパティを再定義します。


FRM-30311;
FRM-30311: ライブラリを連結できません。

原因:	VBX制御プロパティが変更されました。

処置:	そのVBXプロパティを再定義します。


FRM-30312;
FRM-30312: ライブラリのコンパイルに失敗しました。

原因:	VBX制御プロパティが変更されました。

処置:	そのVBXプロパティを再定義します。


FRM-30213;
FRM-30213: 高範囲値は、低範囲値よりも大きくなければなりません。

原因:	テキスト項目の最高許容値は、最低許容値より大きな値です。

処置:	最低許容値より大きな最高許容値を定義します。


FRM-30351;
FRM-30351: リスト項目用に定義されたリスト要素がありません。

原因:	コンボ・リストにはリスト内の要素が必要です。

処置:	コンボ・リストの各項目を定義します。


FRM-30352;
FRM-30352: ミラー項目名<項目名>が無効です（項目<データ・ブロック名>.<項目名>用）。

原因:	その項目に定義されたミラー項目名が無効です。

処置:	有効なミラー項目名を使用します。


FRM-30353;
FRM-30353: VBX項目用に指定されたVBXコントロール・ファイルがありません。

原因:	VBX制御ファイルが指定されていません。

処置:	Form BuilderにVBX制御ファイルを指定します。


FRM-30354;
FRM-30354: VBX項目用に指定されたVBXコントロール名がありません。

原因:	VBX制御名が指定されていません。

処置:	Form BuilderにVBX制御名を指定します。


FRM-30355;
FRM-30355: 項目<項目名>用に指定されたミラー項目が多すぎます。

原因:	ミラー項目数が最大数100を超えています。

処置:	ミラー項目の最大数を超えていないことを確認してください。


FRM-30356;
FRM-30356: この項目用に表示されているレコードが多すぎます。

原因:	その項目用に表示されたレコード数が、そのブロック用に表示されたレコード数を超えています。

処置:	その項目の表示レコード数を減らします。


FRM-30357;
FRM-30357: 項目はそれ自体をミラー項目として指定します。

原因:	項目の「ミラー項目」プロパティがその項目自体に設定されました。

処置:	そのミラー項目プロパティの別の有効項目を指定します。


FRM-30358;
FRM-30358:項目のミラー項目<項目名>も、ミラー項目を指定します。

原因:	項目の「項目と同期」プロパティが、ミラー項目を指定している項目に設定されました。

処置:	ミラー項目でない項目を指定します。


FRM-30359;
FRM-30359: 項目が存在しないキャンバス<キャンバス名>を指定しています。

原因:	存在しないキャンバスを指定しました。

処置:	有効なキャンバスを指定します。


FRM-30360;
FRM-30360: 警告は指定デフォルト・ボタンを含んでいません。

原因:	その警告定義の一部ではないデフォルト警告ボタンを指定しました。

処置:	そのデフォルト・ボタンのラベルを指定するか、有効なデフォルト・ボタンを指定します。


FRM-30361;
FRM-30361: チェックボックスの初期値が無効です。

原因:	チェックボックス項目に、チェックありまたはチェックなし状態の値に一致しない初期値を指定しました。

処置:	有効な初期値を指定します。


FRM-30362;
FRM-30362: 初期値が使用可能なリスト要素と一致しません。

原因:	使用可能なリスト要素上の値と一致しない値を指定しました。

処置:	有効値を指定します。


FRM-30363;
FRM-30363: 初期値はラジオ・ボタンのいずれにも一致しません。

原因:	ラジオ・グループ内のラジオ・ボタンに関連付けされていない値を指定しました。

処置:	ラジオ・グループ内のラジオ・ボタンに関連付けされた値を指定します。


FRM-30364;
FRM-30364: その他の値は、ラジオ・ボタンのいずれにも一致しません。

原因:	ラジオ・ボタン名でない値、またはラジオ・グループのラジオ・ボタンと関連付けされた値を指定しました。

処置:	そのラジオ・グループ内のラジオ・ボタン名、またはそのラジオ・グループのラジオ・ボタンに関連付けされた値を指定します。


FRM-30367;
FRM-30367: OLE項目がミラー項目を指定できません。

原因:	ミラー項目の指定にOLE項目を使用しました。

処置:	OLE項目はミラー化できません。ミラー項目の指定には他の項目を使用します。


FRM-30368;
FRM-30368: 項目が存在しないタブ・ページ<タブ・ページ名>を指定しています。

原因:	無効なタブ・ページ名を指定しました。

処置:	そのタブ・ページ名がこの項目用タブ・キャンバスに存在するか確認してください。


FRM-30369;
FRM-30369: ポップアップ・メニュー項目が存在しないサブメニュー<サブメニュー名>を指定しています。

原因:	無効なサブメニュー名を指定しました。

処置:	サブメニュー名をチェックして、再試行します。


FRM-30370;
FRM-30370: ポップアップ・メニューには少なくとも1つの項目がなければなりません。

原因:	このポップアップ・メニューには項目が含まれていません。

処置:	このポップアップ・メニューに最低1つのメニュー項目を追加します。


FRM-30373;
FRM-30373: ポップアップ・メニュー項目に指定したコマンドが無効です。

原因:	ポップアップ・メニュー項目には無効なコマンド・タイプを選択しました。

処置:	ポップアップ・メニュー項目に有効なコマンド・タイプを選択します。


FRM-30374;
FRM-30374: ポップアップ・メニュー項目の項目タイプが無効です。

原因:	ポップアップ・メニュー項目に選択した項目タイプが無効です。

処置:	有効な項目タイプを選択します。


FRM-30375;
FRM-30375: 最小/最大サマリー項目以外の項目のデータ型はNumberでなければなりません。

原因:	カウントまたは合計、平均、平方偏差、標準偏差の集計機能を持つサマリー項目のデータ型は、Number以外のものです。

処置:	そのサマリー項目を削除するか、そのデータ型をNUMBERに変更します。


FRM-30376;
FRM-30376: 最小/最大サマリー項目のデータ型はサマリー結果項目と一致しなければなりません。

原因:	最小または最大の集計機能をもつサマリー項目のデータ型が、サマリー結果項目のデータ型と一致しません。

処置:	そのサマリー項目を削除するか、そのデータ型を、サマリー結果項目のデータ型と一致するよう変更します。


FRM-30377;
FRM-30377: サマリー項目は、単一レコード・ブロックまたはサマリー結果項目と同じブロックになければなりません。

原因:	サマリー項目がサマリー結果項目とは別のブロックに常駐しており、サマリー項目のブロックには「単一レコード」プロパティが「はい」に設定されていません。

処置:	そのサマリー項目を、サマリー結果項目を含むブロックに移動するか、「単一レコード」プロパティを「はい」に設定したブロックに移動します。


FRM-30378;
FRM-30378: サマリー結果項目はサマリー項目以外でなければならず、単一レコード・ブロックにあってもいけません。

原因:	サマリー項目が、次のいずれかをサマリー結果項目として指定しています。

1. 別のサマリー項目。

2. 「単一レコード」プロパティが「はい」に設定されたブロック内の項目。

処置:	サマリー項目を削除するか、「単一レコード」プロパティを「いいえ」に設定したブロック内の非サマリー項目を集計するようサマリー項目を変更します。


FRM-30379;
FRM-30379: ヒント・テキストは255文字を超えてはいけません。

原因:	項目のヒント・テキストが255文字を超えています。

処置:	ヒント・テキストの文字数を減らします。


FRM-30380;
FRM-30380: 依存計算項目の循環チェーンがあります。

原因:	計算項目の循環チェーンがあり、チェーン内の各項目の値が同チェーン内の次の項目の値に依存しています。

チェーン内の項目はエラー・メッセージの次にリストされます。

処置:	チェーン内の項目を削除するか、チェーン内の項目を変更して、それがチェーン内の他の項目に依存しないようにします。

計算項目の場合、その計算式も、それがコースする機能またはプロシージャもチェーン内の項目を参照しないことを確認します。

サマリー項目の場合は、それがサマリーする項目がチェーン内にないことを確認します。


FRM-30390;
FRM-30390: 警告: 計算項目<データ・ブロック名>.<項目名>のヒント・プロパティが無視されました。

原因:	計算項目に「ヒント」プロパティが指定されました。これは無視されます。

処置:	処置は不要です。


FRM-30391;
FRM-30391: 警告: 計算項目<データ・ブロック名>.<項目名>の項目プロパティからのコピー値が無視されました。

原因:	「（項目の）コピー値」プロパティが計算項目に指定されました。これは無視されます。

処置:	処置は不要です。


FRM-30392;
FRM-30392: 警告: 計算項目<データ・ブロック名>.<項目名>の初期値が無視されました。

原因:	「初期値」プロパティが計算項目に指定されました。これは無視されます。

処置:	処置は不要です。


FRM-30393;
FRM-30393: 警告: 計算項目<データ・ブロック名>.<項目名>の最高許容値が無視されました。

原因:	計算項目に対し「最高許容値」プロパティが指定されました。これは無視されます。

処置:	処置は不要です。


FRM-30394;
FRM-30394: 警告: 計算項目<データ・ブロック名>.<項目名>の最低許容値が無視されました。

原因:	計算項目に対し「最低許容値」プロパティが指定されました。これは無視されます。

処置:	処置は不要です。


FRM-30395;
FRM-30395: 計算項目には他の値が必要です。

原因:	チェックボックスまたはリスト項目、ラジオ・グループである計算項目に「ほかの値のマッピング」プロパティが指定されていません。

処置:	その項目の「ほかの値のマッピング」プロパティを設定します。


FRM-30396;
FRM-30396: サマリー項目にはサマリー・ファンクションが必要です。

原因:	サマリー項目に「サマリー・ファンクション」プロパティが「なし」と指定されました。

処置:	「サマリー・ファンクション」プロパティを「なし」以外の値に設定します。


FRM-30397;
FRM-30397: 警告: サマリー項目以外の項目: <データ・ブロック名>.<項目名>に指定されたサマリー・ファンクションは無視されました。

原因:	サマリー項目でない項目に「サマリー・ファンクション」プロパティが指定されました。これは無視されます。

処置:	アクションは必要ありません。今後この警告を防止するには、「サマリー・ファンクション」プロパティを「なし」に設定します。


FRM-30398;
FRM-30398: サマリー項目には、サマリー結果ブロック名とサマリー結果項目名プロパティが必要です。

原因:	サマリー項目に「サマリー結果ブロック」および「サマリー結果項目」プロパティが設定されていません。

処置:	これらのプロパティの値を指定します。


FRM-30399;
FRM-30399: Warning: サマリー項目以外の項目: <データ・ブロック名>.<項目名>に指定されたサマリー結果項目名は無視されました。

原因:	「サマリー結果ブロック」または「サマリー結果項目」プロパティが、サマリー項目以外の項目に指定されました。これは無視されます。

処置:	処置は不要です。


FRM-30400;
FRM-30400: 式値には式が必要です。

原因:	式項目に「式」プロパティが指定されていません。

処置:	「式」プロパティを指定します。


FRM-30401;
FRM-30401: 警告: 式は非式項目<データ・ブロック名>.<項目名>で無視されました。

原因:	「式」プロパティが、式項目でない項目に指定されました。これは無視されます。

処置:	アクションは必要ありません。今後この警告を防止するには、「式」プロパティを消去します。


FRM-30402;
FRM-30402: 計算項目は値リストの戻り値にはなり得ません。

原因:	計算項目が、値リスト用列マッピング内の戻り項目として指定されています。

処置:	その戻り項目を削除するか、計算項目でない項目を指定します。


FRM-30403;
FRM-30403: 計算項目がミラー項目を指定できないか、ミラー項目として指定できません。

原因:	計算項目が「ミラー項目」を指定しているか、またはそのブロック内の他の項目によって「ミラー項目」として指定されています。

処置:	「ミラー項目」プロパティを削除します。効果的に2つの計算項目を互いにミラーにするには、一方の式の項目に「:」と、その後にもう一方の計算項目の名前指定します。


FRM-30404;
FRM-30404: サマリー結果項目の項目タイプはボタン、チャート、イメージ、サウンド、ＯＬＥコンテナ以外でなければなりません。

原因:	サマリー項目が、ボタン、チャート、イメージ、サウンドまたはOLEコンテナであるサマリー結果項目を指定しています。このような項目には、関連付けされたデータ値がないため集計できません。

処置:	そのサマリー項目を削除するか、またはそのサマリー結果項目を、関連付けされたデータ値を持つ項目となるよう変更します。


FRM-30405;
FRM-30405: 合計/平均/平方偏差/標準偏差が指定されたサマリー結果項目のデータ型はNumberでなければなりません。

原因:	合計、平均、平方偏差または標準偏差のサマリー･ファンクションをもつサマリー項目が、データ型がNUMBER以外のサマリー結果項目を指定しています。

処置:	そのサマリー項目を削除するか、そのサマリー結果項目のデータ型がNUMBERとなるよう変更します。


FRM-30406;
FRM-30406: 配列DML付きのブロックには主キー項目が必要です。

原因:	ブロックの「DML配列の大きさ」プロパティ値が1を超えていますが、「主キー」プロパティが「はい」に設定されている項目がなく、次の状況の1つが当てはまります。

1. ブロックのキー・モードが、「更新可能」または「更新不可」のどちらかです。

2. 接続中のデータソースが「一意キー」モードをサポートしていません。

処置:	次のいずれかの操作を行います。

1. 1つ以上の項目に対し「主キー」プロパティ値を「はい」に設定することにより、データ・ブロックの主キーを指定します。

2. データ・ブロックの「DML配列の大きさ」プロパティを1に設定します。


FRM-30407;
FRM-30407: ブロックには少なくとも１つのデータベース項目がなければなりません。

原因:	このフォーム・モジュールには、データベース項目を持たないデータ・ブロックがあります。

処置:	そのデータ・ブロックに最低1つのデータベース項目を定義します。


FRM-30408;
FRM-30408: 値が無効です。

原因:	指定されたデータ型に入力された値が無効です。

処置:	次の1つ以上を訂正します。

1. 指定されたプロシージャのプロシージャ引数リスト内の、指定された値に対応する引数のデータ型。

2. 指定されたプロシージャのプロシージャ引数リスト内の引数の値。


FRM-30409;
FRM-30409: リレーションの削除レコード動作は無効です。

原因:	このリレーションの「レコード削除時の動作」は、そのディテール・データ・ブロックと互換性がありません。

処置:	次のいずれかを変更します。

1. リレーションの「レコード削除時の動作」。

2. ディテール・データ・ブロックの「DMLデータ宛先タイプ」または「問合せデータ・ソース・タイプ」。（このリレーションの「レコード削除時の動作」が「カスケード」である場合、そのディテール・データ・ブロックの「DMLデータ宛先タイプ」は「表」である必要があります。このリレーションの「レコード削除時の動作」が「孤立」である場合、ディテール・データ・ブロックの「問合せデータ・ソース・タイプ」は「表」である必要があります。


FRM-30410;
FRM-30410: 警告: 非制御ブロック<ブロック名>の単一レコード・プロパティが無視されました。

原因:	ブロックが「単一レコード」プロパティを「はい」として指定していますが、「問合せデータ・ソース・タイプ」または「DMLデータ宛先タイプ」も指定しています。

処置:	アクションは必要ありません。今後警告を防ぐには、「単一レコード」プロパティを「いいえ」に設定します。


FRM-30411;
FRM-30411: メモリーの割当てに失敗しました。compile_all=yesを指定し、フォームを再コンパイルしてください。

原因:	計算項目の依存性がある情報の計算中にメモリー割振りが失敗しました。

処置:	次のいずれかを行ってください。フォーム・モジュールを次のようにコンパイルします。

1. 1.（Form Builder内からではない）'スタンドアロン'で、すべてのPL/SQLコードがコンパイルされるように指定します。

2. もっとメモリーのあるマシンで行います。

3. 同時に実行されるジョブが少ないマシンで行います。


FRM-30413;
FRM-30413: リレーションにディテール・ブロックがありません。

原因:	マスター/ディテール・リレーションでディテール・データ・ブロックを指定していません。

処置:	ディテール・データ・ブロックを指定します。


FRM-30414;
FRM-30414: リレーションのディテール・ブロックが存在しません。

原因:	マスター/ディテール・リレーションが存在しないディテール・データ・ブロックを指定しています。

処置:	存在するディテール・データ・ブロックを指定します。


FRM-30415;
FRM-30415: リレーションのディテール・ブロックが制御ブロックです。

原因:	マスター/ディテール・リレーションが、制御ブロックであるディテール・データ・ブロックを指定しています。

処置:	データベース・ブロックであるディテール・データ・ブロックを指定します。


FRM-30416;
FRM-30416: リレーションのマスター・ブロックが制御ブロックです。

原因:	マスター/ディテール・リレーションが、制御ブロックであるマスター・ブロックを指定しています。

処置:	データベース・ブロックであるマスター・ブロックを指定します。


FRM-30417;
FRM-30417: リレーションのディテール・ブロックがマスター・ブロックと同じです。

原因:	マスター/ディテール・リレーションが、マスター・ブロックと同じブロックであるディテール・データ・ブロックを指定しています。

処置:	固有のマスター・ブロックおよびディテール・データ・ブロックを指定します。


FRM-30418;
FRM-30418: 現行プラットフォーム用のブロックが含む項目が多すぎます（<項目数>以上）。

原因:	このブロック内の項目数は、ブロック毎の最大許容数を超えています。

処置:	ブロック内の使用項目数を減らすか、項目を2つ以上の別のブロックに分けます。


FRM-30419;
FRM-30419: ブロック・スクロールバーが存在しないタブ・ページ<タブ・ページ名>を指定しています。

原因:	フォーム内に存在しないタブ・ページにスクロールバーが割り当てられています。

処置:	タブ・ページ名をチェックし、それがこのスクロールバー用の所有キャンバス内に存在することを確認します。


FRM-30420;
FRM-30420: QUERY-PROCEDUREトリガーをコンパイルできません。

原因:	QUERY-PROCEDUREの列または引数、あるいはその両方が正しく宣言されていません。

処置:	QUERY-PROCEDUREの列または引数を訂正します。


FRM-30421;
FRM-30421: INSERT-PROCEDUREトリガーをコンパイルできません。

原因:	INSERT-PROCEDUREの列または引数が正しく宣言されていません。

処置:	INSERT-PROCEDUREの列または引数、あるいはその両方を訂正します。


FRM-30422;
FRM-30422: UPDATE-PROCEDUREトリガーをコンパイルできません。

原因:	UPDATE-PROCEDUREの列引数、あるいはその両方が正しく宣言されていません。

処置:	UPDATE-PROCEDUREの列引数、あるいはその両方を訂正します。


FRM-30423;
FRM-30423: DELETE-PROCEDUREトリガーをコンパイルできません。

原因:	削除プロシージャの列および/または削除プロシージャの引数が正しく宣言されていません。

処置:	削除プロシージャの列および/または削除プロシージャの引数を訂正します。


FRM-30424;
FRM-30424: LOCK-PROCEDUREトリガーをコンパイルできません。

原因:	ロック・プロシージャの列、および/またはロック・プロシージャの引数が正しく宣言されていません。

処置:	ロック・プロシージャの列の定義、および/またはロック・プロシージャの引数の定義を訂正します。


FRM-30425;
FRM-30425: 集計されたデータベース項目は「全レコードの問合せ」または「サマリーの予備計算」が「はい」のブロックになければなりません。

原因:	「全レコードの問合せ」および「サマリーの予備計算」プロパティが「いいえ」に設定されたデータベース・ブロック内のデータベース項目であるサマリー結果項目をサマリー項目が指定しています。

処置:	サマリー項目を削除するか、サマリー結果項目のブロックに対し「サマリーの予備計算」または「全レコードの問合せ」プロパティを「はい」に設定します。


FRM-30426;
FRM-30426: サマリー制御項目は、制御ブロックまたは「全レコードの問合せ」が「はい」のブロックになければなりません。

原因:	「全レコードの問合せ」プロパティが「いいえ」に設定されたデータベース・ブロック内の制御項目であるサマリー結果項目をサマリー項目が指定しています。

処置:	サマリー項目を削除するか、集計項目のブロックに対し「サマリーの予備計算」プロパティを「いいえ」に、「全レコードの問合せ」プロパティを「はい」に設定します。


FRM-30427;
FRM-30427: 集計された制御項目は、「サマリーの予備計算」が「はい」のブロックには設定できません。

原因:	「サマリーの予備計算」プロパティを「はい」に設定したブロック内にある集計された制御項目を、サマリー項目が指定しています。

処置:	サマリー項目を削除するか、集計項目のブロックに対し「サマリーの予備計算」プロパティを「いいえ」に、「全レコードの問合せ」プロパティを「はい」に設定します。


FRM-30428;
FRM-30428: 最小/最大集計項目は、「サマリーの予備計算」が「はい」のブロックには設定できません。

原因:	最小または最大の集計機能をもつサマリー項目が、「サマリーの予備計算」プロパティを「はい」に設定したブロック内の集計項目を指定しています。

処置:	サマリー項目を削除するか、集計項目のブロックに対し「サマリーの予備計算」プロパティを「いいえ」に、「全レコードの問合せ」プロパティを「はい」に設定します。


FRM-30429;
FRM-30429:「サマリーの予備計算」を指定したブロックは「問合せデータ・ソース・タイプ」を表またはFROM句問合せで指定します。

原因:	ブロックにある「サマリーの予備計算」プロパティは「はい」に設定されていますが、「問合せデータ・ソース・タイプ」が「プロシージャ」または「トランザクション・トリガー」に設定されています。

処置:	「サマリーの予備計算」を「いいえ」に設定します。ブロックにサマリー結果項目が含まれる場合は、「全レコードの問合せ」を「はい」に設定します。


FRM-30430;
FRM-30430: 警告: ブロック: <ブロック名>で「サマリーの予備計算」を指定していますが、フォームの独立モードをシリアル･モードに変更できません。

原因:	ブロックでは「サマリーの予備計算」を「はい」に指定していますが、フォームは「独立モード」を「シリアル化可能」に指定していません。

処置:	アクションは必要ありません。ただし、読込み一貫性は保証できません。サマリーの予備計算とブロック移入のための問合せとの間に、他のユーザーによるアクションが発生することが考えられます。このようなアクションにより、サマリー項目値がブロックのコンテンツと一致しなくなる場合があります。


FRM-30431;
FRM-30431: 警告: 列名<列名>（ブロック（<ブロック名>中）が重複しています。

原因:	次のいずれかです。

・データベース列名に同一の項目があります。

・1つの項目の列名が、列名のない項目の項目名と一致します。

処置:	各項目のデータベース列名が一意であるか確認します。


FRM-30432;
FRM-30432: プロシージャの定義が不完全です。

原因:	そのプロシージャの列または引数が指定されていません。

処置:	プロシージャ定義に列と引数の両方を入力します。


FRM-30433;
FRM-30433: 問合せプロシージャではREFCURSOR/TABLE型の引数を1つだけもち、モードはIN OUTでなければなりません。

原因:	問合せプロシージャ定義が次のいずれかです。

1. タイプTABLEまたはREFCURSORの引数が存在しません。

2. タイプTABLEまたはREFCURSORの引数が複数存在します。

3. タイプTABLEまたはREFCURSORの引数のモードがIN OUTとして定義されていません。

処置:	次のように引数を定義します。

1. タイプTABLEまたはREFCURSORの引数を1つのみ定義します。

2. TABLEまたはREFCURSORの引数のモードをIN OUTと宣言します。


FRM-30434;
FRM-30434: プロシージャ定義の表引数にはタイプ名が必要です。

原因:	与えられたプロシージャ内のTABLE引数のタイプ名が入力されていません。

処置:	与えられたプロシージャ内にTABLE引数のタイプ名を入力します。


FRM-30435;
FRM-30435: DMLプロシージャにはＴＡＢＬＥタイプの引数を1つだけ指定し、モードはINまたはIN OUTでなければなりません。

原因:	DML（挿入、更新、削除、ロック）プロシージャ定義が次のいずれかです。

1. タイプTABLEの引数が存在しません。

2. タイプTABLEの引数が複数存在します。

3. タイプTABLEの引数のモードがOUTに定義されています。

処置:	次のように引数を定義します。

1. タイプTABLEの引数の1つのみを定義します。

2. TABLEの引数のモードをINまたはIN OUTとして宣言します。


FRM-30436;
FRM-30436: キャンバスの親ウィンドウが指定されていません。

原因:	キャンバスに、それを含めるよう指定されたウィンドウがありません。省略時は次のとおりです。

1. Forms 4.0では、キャンバスはROOT_WINDOWに連結されます。

2. Forms 4.5アプリケーションでは、ROOT_WINDOWは存在しないことがあり、そのためキャンバスはオブジェクト・ナビゲータ階層の最初のウィンドウに自動的に連結されます。

3. 5.0では、フォームを参照し「ウィンドウ」のようなプロパティを上書きすることがあります。したがって、キャンバスの「ウィンドウ」プロパティを常に設定しておく必要があります。

処置:	そのキャンバスの「ウィンドウ」プロパティを設定します。


FRM-30437;
FRM-30437: 警告: 従属ミラー項目<データ・ブロック名>.<項目名>でPOST-CHANGEトリガーが無視されました。

原因:	従属ミラー項目にPOST-CHANGEトリガーが指定されました。フォームの「ランタイム互換性モード」が5.0であるため、POST-CHANGEトリガーはマスター・ミラー項目（「項目と同期」プロパティにより指定された項目）から取得されます。

処置:	マスター・ミラー項目内にPOST-CHANGEトリガーを指定します。


FRM-30438;
FRM-30438: 警告: 従属ミラー項目<データ・ブロック名>.<項目名>でWHEN-VALIDATE-ITEMトリガーが無視されました。

原因:	従属ミラー項目にWHEN-VALIDATE-ITEMトリガーが指定されました。フォームの「ランタイム互換性モード」が5.0であるため、WHEN-VALIDATE-ITEMトリガーはマスター・ミラー項目（「項目と同期」プロパティにより指定された項目）から取得されます。

処置:	マスター・ミラー項目内にWHEN-VALIDATE-ITEMトリガーを指定します。


FRM-30439;
FRM-30439: 警告: 従属ミラー項目<データ・ブロック名>.<項目名>でON-SEQUENCE-NUMBERトリガーが無視されました。

原因:	従属ミラー項目にON-SEQUENCE-NUMBERトリガーが指定されました。フォームの「ランタイム互換性モード」が5.0であるため、ON-SEQUENCE-NUMBERトリガーはマスター・ミラー項目（「項目と同期」プロパティにより指定された項目）から取得されます。

処置:	マスター・ミラー項目内にON-SEQUENCE-NUMBERトリガーを指定します。


FRM-30440;
FRM-30440: 警告: 従属ミラー項目<データ・ブロック名>.<項目名>で項目からのコピー値が無視されました。

原因:	従属ミラー項目に「（項目の）コピー値」プロパティが指定されました。フォームの「ランタイム互換性モード」が5.0であるため、「（項目の）コピー値」プロパティはマスター・ミラー項目（「項目と同期」プロパティにより指定された項目）から取得されます。

処置:	マスター・ミラー項目内に「（項目の）コピー値」プロパティを指定します。


FRM-30441;
FRM-30441: 警告: 従属ミラー項目<データ・ブロック名>.<項目名>で初期値が無視されました。

原因:	従属ミラー項目に「初期値」プロパティが指定されました。フォームの「ランタイム互換性モード」が5.0であるため、「初期値」プロパティはマスター・ミラー項目（「項目と同期」プロパティにより指定された項目）から取得されます。

処置:	マスター・ミラー項目内に「初期値」プロパティを指定します。


FRM-30442;
FRM-30442: 警告: 従属ミラー項目<データ・ブロック名>.<項目名>で必須プロパティが無視されました。

原因:	従属ミラー項目に「必須」プロパティが指定されました。フォームの「ランタイム互換性モード」が5.0であるため、「必須」プロパティはマスター・ミラー項目（「項目と同期」プロパティにより指定された項目）から取得されます。

処置:	マスター・ミラー項目内に「必須」プロパティを指定します。


FRM-30443;
FRM-30443: 警告: 従属ミラー値<データ・ブロック名>.<項目名>で最高許容値が無視されました。

原因:	従属ミラー項目に「最高許容値」プロパティが指定されました。フォームの「ランタイム互換性モード」が5.0であるため、「最高許容値」プロパティはマスター・ミラー項目（「項目と同期」プロパティにより指定された項目）から取得されます。

処置:	マスター・ミラー項目内に「最高許容値」プロパティを指定します。


FRM-30444;
FRM-30444: 警告: 従属ミラー値<データ・ブロック名>.<項目名>で最低許容値が無視されました。

原因:	従属ミラー項目に「最低許容値」プロパティが指定されました。フォームの「ランタイム互換性モード」が5.0であるため、「最低許容値」プロパティはマスター・ミラー項目（「項目と同期」プロパティにより指定された項目）から取得されます。

処置:	マスター・ミラー項目内に「最低許容値」プロパティを指定します。


FRM-30445;
FRM-30445: Include REF Itemプロパティを使用するには、非NULLのAliasプロパティが必要です。

原因:	このブロックのInclude REF ItemプロパティはTRUEであるため、このブロックのオブジェクトIDを含むREFと呼ばれる新しい隠し項目が作成されます。この新しい項目の列名は'REF(a)'で、'a'はブロックのAliasプロパティの値です。AliasプロパティはNULLであってはいけません。

処置:	ブロックのAliasプロパティにNULL値以外を指定します。


FRM-30446;
FRM-30446: 項目名<項目名>が無効です。

原因:	入力された項目名が無効です。

処置:	項目名からスペースを削除します。


FRM-30453;
FRM-30453: ユーザー命名可視属性が最大数255を超えています。

原因:	フォームに、255を超えるユーザー命名可視属性があります。

処置:	ユーザー命名可視属性数を減らします。


FRM-31601;
FRM-31601: オプション -e, -g, -m, -p, -rは同時に使用できません。

原因:	これらのオプションのうち、2つ以上を指定しました。

処置:	これらのオプションは同時に使用できません。つまり組み合せて使用できません。


FRM-31602;
FRM-31602: モジュール名が指定されていません。

原因:	モジュール名を指定していません。

処置:	モジュール名を指定します。


FRM-31603;
FRM-31603: 権限の付与/取消しを行うユーザー名がありません。

原因:	ユーザーにForm Builderアクセス権を付与しようとしたか取り消そうとしましたが、ユーザー名を指定していません。

処置:	コマンドを再実行し、ユーザー名を指定します。


FRM-31605;
FRM-31605: モジュール<モジュール名>は不明です。

原因:	データベース内に存在しないモジュールにアクセスしようとしました。

処置:	モジュール名が正しいことを確認し、再試行します。


FRM-31606;
FRM-31606: ファイル<ファイル名>はオープンできませんでした。

原因:	ファイル権限が間違って設定されているか、オープンしようとしたライブラリが無効です。

処置:	そのモジュール・ライブラリを再コンパイルし、再試行します。


FRM-31616;
FRM-31616: 警告! メニュー<メニュー名>用に定義されている項目がありません。

原因:	項目を含まないメニューをもつモジュールを生成しようとしています。

処置:	処置は不要です。


FRM-31626;
FRM-31626: メニュー・モジュールで共用メニュー参照が検出されました。

原因:	コンパイルしようとしたメニュー・モジュールに共用メニュー参照（複数のメニューが1つのサブメニューを共用している）が含まれています。

処置:	各メニュー項目に、個別のサブメニューを定義し、使用します。


FRM-31627;
FRM-31627: メニュー・モジュールの参照が循環しているのが見つかりました。

原因:	コンパイルしようとしたメニュー・モジュールに循環参照（メニュー項目が階層内でその上にあるメニューをコールする場合のインスタンス）が含まれています。

処置:	その循環参照を取り出して、解消します。


FRM-31628;
FRM-31628: 項目が未定義メニューを参照しています。

原因:	その項目はモジュールの一部でないサブメニューを参照しています。

処置:	そのモジュールの一部となっているサブメニューを定義するか、項目参照をそのモジュールの一部となっているサブメニューにします。


FRM-31629;
FRM-31629: ファイル<ファイル名>への書込みでビルド・エラーが発生しました。

原因:	コンパイル・エラーです。

処置:	指定ファイル内のエラーおよび警告を参照します。


FRM-31631;
FRM-31631: ファイル<ファイル名>をクローズできませんでした。

原因:	オペレーティング・システム・エラーが発生したので、Form Builderは出力ファイルをクローズできませんでした。

処置:	DBAまたはサポート担当に連絡してください。


FRM-31633;
FRM-31633: モジュールにはメイン・メニュー<メニュー名>がありません。

原因:	指定メニュー名がこのモジュールにありません。

処置:	この名前のメニューが存在するか確認します。


FRM-31634;
FRM-31634: ファイル<ファイル名>を書込み中にエラーが発生しました。

原因:	指定されたディレクトリにおける権限がないか、または必要なディスク領域がありません。

処置:	DBAに連絡して、必要なアクセス権限が自分にあるか確認してください。


FRM-31635;
FRM-31635: 指定ファイルにはメニューがありません。

原因:	ファイルがロードされましたが、そのファイルにはメニュー・モジュールがありませんでした。

処置:	そのファイルがMMBファイルであるか確認します。


FRM-31637;
FRM-31637: アップグレード中にエラーが発生しました。アップグレードは異常終了しました。

原因:	メニュー更新時にSQLエラーが検出されました。

処置:	SYSTEMとして実行中であるか、そしてOracle Forms4.5およびメニュー表のインストールが正しく行われているかを確認します。


FRM-31639;
FRM-31639: アップグレードするモジュールがありません。

原因:	Oracle Forms 4.5表に存在しないモジュールが指定されていません。

処置:	この名前のメニュー・モジュールがOracle Forms 4.5に存在しないことを確認します。


FRM-31640;
FRM-31640: サブメニュー名が指定されていません。

原因:	メニュー型のメニュー項目にメニューが指定されていません。

処置:	そのメニュー項目のサブメニューを指定します。


FRM-31641;
FRM-31641: ラジオ・グループ項目には名前を指定してください。

原因:	メニュー項目がラジオ・ボタン型と定義されましたが、ラジオ・グループが指定されていません。

処置:	ラジオ・グループ名を指定します。


FRM-31643;
FRM-31643: メニュー<メニュー名>は存在しません。

原因:	メニュー項目がメニュー型と定義されましたが、参照元のメニューが存在しません。

処置:	この名前のメニューを作成します。


FRM-31644;
FRM-31644: メニュー<メニュー名>には項目がありません。

原因:	メニューの選択項目を提供していません。

処置:	フォームを編集して、メニュー内に各項目を提供します。


FRM-31645;
FRM-31645: モジュールごとの各マジック・メニュー・タイプのインスタンスは1つずつにしてください。

原因:	特定マジック・メニュー・タイプの複数のインスタンスを使用しました。

処置:	各マジック・メニュー・タイプのインスタンスは、1つを残して、すべて削除します。


FRM-31646;
FRM-31646: マジック・メニュー項目<項目名>のコマンド・タイプが無効です。

原因:	特定マジック・メニュー項目には無効なコマンド・タイプを選択しました。

処置:	現マジック・メニュー項目タイプと互換性のあるコマンド・タイプを選択します。


FRM-31649;
FRM-31649: メニュー項目<項目名>のラベルが長すぎます。

原因:	文字数が最大許容文字数を超えるメニュー項目ラベルを指定しました。

処置:	メニュー項目ラベルを短くします。


FRM-31650;
FRM-31650: メニュー項目<項目名>の名前が長すぎます。

原因:	文字数が最大許容文字数を超えるメニュー項目名を指定しました。

処置:	メニュー項目名を短くします。


FRM-31651;
FRM-31651: メニュー項目<項目名>にPL/SQLソース・コードがありません。

原因:	「コマンド・タイプ」が「PL/SQL」であるが「メニュー項目コード」のないメニュー項目名が指定されました。

処置:	「コマンド・タイプ」を「NULL」に変更するか、「メニュー項目コード」を指定します。


FRM-32009;
FRM-32009: 行<行数>でファイルが不完全に終了しています。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-32010;
FRM-32010: 行<行数>で入力ファイル順序エラーが発生しました。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-32011;
FRM-32011: ファイルが有効な実行フォーム・ソースを含んでいません。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-32035;
FRM-32035: フィールド・タイプ<フィールド・タイプ名>（<データ・ブロック名>.<ファイル名>中)が間違っています。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-32036;
FRM-32036: 警告! <データブロック名><項目名>の第１行目より上にプロンプトがあります。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-32037;
FRM-32037: 警告! プロンプトがフィールド: <データブロック名><項目名>以外に合いません。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-32041;
FRM-32041: 正しい指定<文字列> 現状<文字列>。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-32042;
FRM-32042: エラー（行<行数>）: はい/いいえで答えてください。<エラー名>を受け取りました。

原因:	「はい」または「いいえ」以外のものを入力します。

処置:	「はい」または「いいえ」のいずれかで答えます。


FRM-32051;
FRM-32051: フォーム・テキストの行<行数>は間違ったコマンドです。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。

原因:	このエラーは、.INPファイルを編集したときによく発生します。

処置:	.INPファイルを編集していないのに発生した場合には、DBAに連絡してください。


FRM-32079;
FRM-32079: 与えられたデータ型の初期値は無効です。

原因:	与えられたデータ型に無効な初期値を指定しました。

処置:	与えられたデータ型の有効な初期値を指定します。


FRM-32080;
FRM-32080: 与えられたデータ型の範囲値が間違っています。

原因:	与えられたデータ型に無効な範囲値を指定しました。

処置:	与えられたデータ型に有効な範囲値を指定します。


FRM-32081;
FRM-32081: 与えられたデータ型のデフォルト・パラメータ値が間違っています。

原因:	与えられたデータ型に無効なデフォルト・パラメータ値を指定しました。

処置:	与えられたデータ型に有効なデフォルト・パラメータ値を指定します。


FRM-32082;
FRM-32082: 与えられた項目タイプの値が間違っています。

原因:	「最大長」プロパティの値を超える「初期値」プロパティまたは「他の値」プロパティの値を指定しようとしました。

処置:	最大長プロパティの値を超えない値を指定します。


FRM-32083;
FRM-32083:  値の長さが項目の最大長よりも長いです。

原因:	その項目の最大長を超える値長を指定しました。

処置:	それより短い値の長さを指定します。


FRM-32084;
FRM-32084: 項目タイプがミラー項目<項目名>に一致していません。

原因:	非互換のミラー項目プロパティである項目を指定しました。

処置:	有効なミラー項目プロパティを指定します。


FRM-32085;
FRM-32085: Strip_Sourceには出力ファイル名が必要です。

原因:	コマンド行からライブラリを生成時に、出力ファイル名を指定しませんでした。

処置:	出力ファイル名を指定します。


FRM-32086;
FRM-32086: バインド変数<変数名>の解析に<書式>で失敗しました。

原因:	このバインド変数は、書式が無効なため、解析できませんでした。

処置:	有効な書式に変更します。


FRM-32087;
FRM-32087: バインド変数<変数>は1つ以上のオブジェクトにバインドされています。

原因:	このバインド変数は、複数のオブジェクトに結合するため、あいまいです。

処置:	このバインド変数が1つのオブジェクトのみに結合することを確認してください。


FRM-32088;
FRM-32088: 階層ツリー・ビューにレコード・グループと問合せテキストの両方を設定することはできません。

原因:	階層ツリー・ビューで、レコード・グループと問合せテキストの両方に値が指定されています。.

処置:	階層ツリーから、レコード・グループまたは問合せテキストのうち、どちらか一方の値を削除します。


FRM-32089;
FRM-32089: ツリーは単一行の、単一項目ブロックに配置しなければなりません。

原因:	他の項目を持つブロックまたは複数行ブロックにツリー表示が置かれました。

処置:	個別の単一行ブロックにツリーを置きます


FRM-99999;
FRM-99999: エラー<エラー番号>が発生しました。このエラーに関する情報は、リリース・ノート・ファイル(relnotes)を参照してください。

原因:	エラーが発生しました。このエラーは、リリース・ノート・ファイルで説明されています。

処置:	リリース・ノート・ファイルを参照してください。


FRM-10200;
FRM-10200: このコンテキストでは使用できない機能が含まれています。

原因:	このコンテキストでは無効なキーを押しました。

処置:	[キー一覧]を押して、有効なファンクション・キーのリストを表示します。


FRM-10201;
FRM-10201: パラメータは必要ありません。

原因:	[アプリーション・パラメータ入力]または[メニュー・パラメータ入力]を押しましたが、このコンテキストでは何も要求されていません。

処置:	処置は不要です。


FRM-10202;
FRM-10202: メニューのネストが深すぎます。

原因:	深さが10以上のメニューをネストする項目を選択しようとしました。

処置:	[メイン・メニュー]を押してメイン・メニューに戻ってから、自分で選択したメニューにナビゲートします。


FRM-10203;
FRM-10203: 選択された項目がこのメニューにありません。

原因:	全画面メニューで、メニュー項目の最大数を超える数値を入力しました。

処置:	このメニュー上にある項目を選択します。


FRM-10204;
FRM-10204: 選択されたバックグラウンド項目に対してコマンドが定義されていません。

原因:	nがバックグラウンド・メニュー上の最大数より大きい状態で[バックグラウンド・メニューn]を押しました。

処置:	処置は不要です。[バックグラウンド・メニュー一覧]を押して、有効なバックグラウンド・メニュー項目を確認します。


FRM-10205;
FRM-10205: メニュー<メニュー名>がありません。

原因:	全画面メニューの選択フィールドに、このアプリケーションまたはライブラリーにないメニュー名を入力しました。

処置:	そのメニューがアプリケーションに存在しない場合には、アクションは必要ありません。しかし、存在する場合には、そのライブラリを再コンパイルします。


FRM-10206;
FRM-10206: 動的メモリーが不足しています。

原因:	Form Builderのメモリー不足です。

処置:	DBAに連絡してください。


FRM-10207;
FRM-10207: バックグラウンド・メニューが存在していません。

原因:	[バックグラウンド・メニュー一覧]を押しましたが、バックグラウンド・メニューがありません。

処置:	処置は不要です。


FRM-10208;
FRM-10208: パラメータ<パラメータ名>がありません。

原因:	メニュー項目が未定義のパラメータを参照しました。

処置:	DBAに連絡してください。


FRM-10209;
FRM-10209: このコンテキストにはバックグラウンドからの次メニューはありません。

原因:	このアプリケーションはバックグラウンド・メニューから名前付きメニューにナビゲートしようとしました。

処置:	処置は不要です。


FRM-10210;
FRM-10210: 応答が必要です。

原因:	必須パラメータを入力していないか、全画面メニューの選択フィールドをブランクにしています。

処置:	入力してください。


FRM-10211;
FRM-10211: フィールドが完全に埋まってません。

原因:	完全入力が必要なパラメータの一部しか入力していません。

処置:	そのフィールドを完全に埋めるのに必要な十分なデータを入力します。


FRM-10212;
FRM-10212: このユーザー名とパスワードのログインに失敗しました。

原因:	不当なユーザー名およびパスワードを指定しました。

処置:	ユーザー名およびパスワードをチェックし、再試行します。


FRM-10213;
FRM-10213: ログイン・プロシージャが終了しました。

原因:	ORACLEへのログオンを3回連続して失敗しました。

処置:	処置は不要です。有効ユーザーであれば、ユーザー名およびパスワードをチェックします。


FRM-10214;
FRM-10214: アプリケーションを実行する権限はありません。

原因:	Form Builderのどのモジュールにおいても有効なユーザーではありません。

処置:	処置は不要です。有効なユーザーであるはずだと思う場合は、DBAに、実行するモジュールへのアクセス権限を付与するよう依頼してください。


FRM-10215;
FRM-10215: ヘルプは使用できません。

原因:	[ヘルプ]を押しましたが、この項目に使用可能なヘルプはありません。

処置:	処置は不要です。


FRM-10216;
FRM-10216: オペレーティング・システムに対するコマンドを生成できませんでした。

原因:	オペレーティング・システムがサブプロセスを導出できませんでした。

処置:	オペレーティング・システムが発行したエラー・メッセージを参照します。


FRM-10217;
FRM-10217: 選択されたメニューには項目に対する権限はありません。

原因:	アクセス可能な項目がないメニューに移動しようとしました。

処置:	入力したメニュー名をチェックし、再試行します。


FRM-10218;
FRM-10218: メニュー<メニュー名>にエラーが発生しました。

原因:	Form Builderがこのメニューのライブラリ情報を読み込めなかったか、無効なメニュー名が指定されました。

処置:	ライブラリを再コンパイルするか、メニュー名を訂正します。


FRM-10219;
FRM-10219: 項目番号が無効です。

原因:	全画面メニューの選択フィールドに無効な数値を入力しました。

処置:	項目番号をチェックし、再入力します。


FRM-10220;
FRM-10220: この項目に使用できる詳細なヘルプはありません。

原因:	[ヘルプ]を押しましたが、このメニュー項目に使用可能なヘルプはありません。

処置:	処置は不要です。


FRM-10221;
FRM-10221: ファイル<ファイル名>を読込めません。

原因:	ファイル権限の設定が間違っているか、オープンしようとしたライブラリが無効です。

処置:	そのアプリケーション・ライブラリを再コンパイルし、再試行します。


FRM-10222;
FRM-10222: メニュー<メニュー名>はFormsコンパイラの古いバージョンで作成されています。

原因:	現在使用中のForm Builderは、このメニュー・モジュールを作成したものよりバージョンが上です。

処置:	メニュー・モジュールを再コンパイルし、コマンドを再実行します。


FRM-10223;
FRM-10223: アプリケーションのパラメータ・モジュールがありません。

原因:	パラメータ情報がライブラリ内にありませんでした。ライブラリ・ファイルが無効であるか、別のアプリケーションを含んでいる可能性があります。

処置:	そのアプリケーション・ライブラリを再コンパイルし、再試行します。これでも失敗が継続する場合には、DBAに連絡します。


FRM-10224;
FRM-10224: アプリケーションのバインド変数モジュールがありません。

原因:	バインド変数情報がライブラリ内にありませんでした。ライブラリ・ファイルが無効である可能性があります。

処置:	そのアプリケーション・ライブラリを再コンパイルし、再試行します。これでも失敗が継続する場合には、DBAに連絡します。


FRM-10225;
FRM-10225: パラメータ・データを読み込むことができませんでした。

原因:	アプリケーション・ライブラリが無効です。

処置:	そのアプリケーション・ライブラリを再コンパイルし、再試行します。これでも失敗が継続する場合には、DBAに連絡します。


FRM-10226;
FRM-10226: バインド変数データを読み込むことができませんでした。

原因:	アプリケーション・ライブラリが無効です。

処置:	そのアプリケーション・ライブラリを再コンパイルし、再試行します。これでも失敗が継続する場合には、DBAに連絡します。


FRM-10227;
FRM-10227: メニュー・パラメータが多すぎます。

原因:	このアプリケーションには、オペレーティング・システム上で使用可能な数を上回るメニュー・パラメータが含まれています。

処置:	アプリケーションを改訂・再コンパイルするか、DBAに連絡します。


FRM-10228;
FRM-10228: ヘルプ・テキストを読み込むことができませんでした。

原因:	アプリケーション・ライブラリが無効です。

処置:	そのアプリケーション・ライブラリを再コンパイルし、再試行します。これでも失敗が継続する場合には、DBAに連絡します。


FRM-10229;
FRM-10229: ファイル<ファイル名>をクローズできませんでした。

原因:	オペレーティング・システム・エラーまたは内部エラーです。

処置:	DBAに連絡してください。


FRM-10230;
FRM-10230: アプリケーションのプロシージャ・モジュールがありません。

原因:	プロシージャ情報がライブラリにありませんでした。ライブラリ・ファイルが無効である可能性があります。

処置:	そのアプリケーション・ライブラリを再コンパイルし、再試行します。これでも失敗が継続する場合には、DBAに連絡します。


FRM-10231;
FRM-10231: プロシージャ・データを読み込むことができませんでした。

原因:	アプリケーション・ライブラリが無効です。

処置:	そのアプリケーション・ライブラリを再コンパイルし、再試行します。これでも失敗が継続する場合には、DBAに連絡します。


FRM-10233;
FRM-10233: 現在のメニュー・スタイルではナビゲーション・プロシージャ/マクロは無効です。

原因:	全画面ナビゲーション・パッケージ・プロシージャ、プルダウンまたはメニュー・バー表示形式のマクロを使用しようとしました。

処置:	DBAに通知します。


FRM-10234;
FRM-10234: マクロ・ステートメントにセミコロンがありません。

原因:	この項目に指定されたコマンド行に構文エラーがあります。

処置:	DBAに通知します。


FRM-10235;
FRM-10235: マクロ<マクロ名>がありません。

原因:	メニュー・デザイナが、未定義のマクロの実行を指定しました。

処置:	DBAに通知します。


FRM-10236;
FRM-10236: プロシージャ/マクロが指定されていません。

原因:	メニュー・デザイナがブランク・コマンドを指定しています。

処置:	DBAに通知します。


FRM-10237;
FRM-10237: このプロシージャ/マクロに引数は使用できません。

原因:	メニュー・デザイナが、引数を取らないコマンドに引数を指定しました。

処置:	DBAに通知します。


FRM-10238;
FRM-10238: <コマンド名>の実行中にエラーが発生しました｡  引数を確認してください｡

原因:	メニュー・デザイナが、引数を取らないコマンドに引数を指定しました。

処置:	DBAに通知します。


FRM-10239;
FRM-10239: その名前ではフォームを読込めません。

原因:	Form Builderが、現行ディレクトリに存在しないフォームを読み込もうとしました。

処置:	DBAに通知します。


FRM-10240;
FRM-10240: フォーム名が指定されていません。

原因:	Oracle Formsのランタイム・コマンドが実行対象のフォーム名を提供していません。

処置:	DBAに通知します。


FRM-10241;
FRM-10241: Form Builderがアクティブの場合にはこの操作は無効です。

原因:	Form BuilderがForms Runtimeをコールするときには使用できないビルトインまたはマクロを、メニュー・デザイナが指定しました。

処置:	DBAに通知します。


FRM-10242;
FRM-10242: Form Builderからリンク－イン・フォームを呼び出せません。

原因:	メニュー・デザイナが、Form Builder内からリンクインFormsのコールを指定しました。

処置:	DBAに通知します。


FRM-10243;
FRM-10243: Form Builderの起動時にエラーが発生しました。

原因:	Forms Runtimeのコールが失敗しました。

処置:	DBAに通知します。


FRM-10244;
FRM-10244: アプリケーション<アプリケーション名>は存在しません。

原因:	指定したアプリケーション名がデータベースに存在しないか、そのアプリケーション名へのアクセス権限がありません。

処置:	アプリケーション名をチェックして再試行するか、DBAに連絡します。


FRM-10245;
FRM-10245: 既に第1項目にいます。

原因:	パラメータ・フォームの第1項目から[前の項目へ]を押しました。

処置:	処置は不要です。パラメータ・フォームの第1項目以前の項目には進めません。


FRM-10246;
FRM-10246: パッケージ・プロシージャの実行エラーが発生しました｡ -フォームがアクティブではありません。

原因:	メニュー・デザイナが、現コンテキストでは実行不能なビルトインを指定しました。

処置:	DBAに通知します。


FRM-10247;
FRM-10247: アプリケーションのルート・メニューにアクティブ項目がありません。

原因:	アプリケーションをオープンしようとしましたが、そのルート・メニューにアクセス可能な項目がありません。ルート・メニューは、アプリケーションのメイン・メニューであるか、あるいはForm BuilderがForms Designerをコールした際に指定された別のメニューです。

処置:	DBAに通知します。


FRM-10248;
FRM-10248: ルート・メニューの使用時はダイレクト・メニュー選択項目を使用できません。

原因:	Forms Designerをコールした際にForm Builderが別のルート・メニューを指定したため、ルート・メニューはモジュールのメイン・メニューではありません。

処置:	処置は不要です。ダイレクト・メニュー選択が行えるのは、モジュールのメイン・メニューがルート・メニューの場合のみです。


FRM-10249;
FRM-10249: アプリケーション<アプリケーション名>を実行する権限がありません。

原因:	使用しようとしたアプリケーションの有効なユーザーではありません。

処置:	処置は不要です。有効なユーザーであるはずだと思う場合は、そのアプリケーションへのアクセス権限を付与するようDBAに依頼してください。


FRM-10250;
FRM-10250: Formsランタイム・アプリケーションの初期化中にエラーが発生しました。

原因:	モジュールの命名が誤っています。

処置:	モジュール名をチェックし、それを正しく入力します。


FRM-10251;
FRM-10251: 使用されているコマンド・タイプ4スイッチ（-e、-i、-r、-w）はサポートされていません。

原因:	このメニュー・オプションはフォームを実行しようとしましたが、メニューからのフォーム実行時には無効なコマンド行引数をForms Runtimeに指定しました。

処置:	DBAに通知します。


FRM-10252;
FRM-10252: 使用されているコマンド・タイプ4スイッチが不明です。

原因:	このメニュー・オプションはフォームを実行しようとしましたが、Forms Runtimeに不明なコマンド行引数を指定しました。

処置:	DBAに通知します。


FRM-10253;
FRM-10253: ファイル名を入力しなければなりません。

原因:	ファイル名の入力がまだか、ファイル名を削除しました。

処置:	ファイル名を入力する必要があります。


FRM-10254;
FRM-10254: 画面ショット用のファイルをオープンできません。

原因:	オペレーティング・システムがファイルをオープンできませんでした（権限上の問題、ディスク領域の欠如など）。

処置:	そのエラーの原因となったオペレーティング・システム条件を解消します。


FRM-10255;
FRM-10255: 画面ショットの印刷中にエラーが発生しました。

原因:	オペレーティング・システムにファイル・トラブルが発生しました。

処置:	そのエラーの原因となったオペレーティング・システム条件を解消します。


FRM-10256;
FRM-10256: ユーザーにForm Builderメニューを実行する権限がありません。

原因:	ユーザーがForm Builderに未登録です。Form Builderの実表に対するSELECT権限がありません。

処置:	DBAに通知します。


FRM-10257;
FRM-10257: 指定されたオプションを選択する権限はユーザーにありません。

原因:	アクセス権限のないメニュー項目を選択しようとしました。

処置:	他の項目を選択するか、DBAに通知します。


FRM-10258;
FRM-10258: 指定されたメニューは既にアクティブです。

原因:	現メニューにナビゲートしようとしました。

処置:	処置は不要です。


FRM-10259;
FRM-10259: パッケージ・プロシージャまたはファンクションに対するNULL引数が無効です。

原因:	ビルトインに引数を指定していないか、指定した引数が無効です。

処置:	オンライン・ヘルプで正しいビルトイン構文をチェックします。


FRM-10260;
FRM-10260: 選択されたメニューにアクティブ項目がありません。

原因:	このメニュー内の項目に対するアクセス権限がありません。

処置:	このメニュー上の各項目にはアクセス権限があると思われる場合は、DBAに連絡してアクセス権限を取得します。


FRM-10261;
FRM-10261: メニュー<メニュー名>はFormsコンパイラの新しいバージョンで作成されています。

原因:	Forms Runtimeの旧バージョンを、Forms Compilerの新バージョンで使用しています。

処置:	Forms Runtimeを新バージョンにアップグレードします。


FRM-10262;
FRM-10262: ラジオ項目/チェック・ボックス/セパレータはメニュー・バー上に設置できません。

原因:	ラジオ項目またはチェックボックス、セパレータをメニュー・バーに配置しようとしました。

処置:	これらの項目をサブメニューに配置します。


FRM-10263;
FRM-10263: アイコン化メニュー項目用のアイコン・ファイルが見つかりません。

原因:	このアイコンのディレクトリ名がありません。

処置:	このメニュー・アプリケーショの作成者に連絡します。


FRM-10264;
FRM-10264: 指定されたメニュー項目は存在しません。

原因:	フォーム内に存在しないメニュー項目を指定しました。

処置:	名前を再入力するか、他の項目名を選択します。


FRM-10265;
FRM-10265: ライブラリはFormsコンパイラの古いバージョンで作成されています。

原因:	Form Builderはライブラリを使用できません。

処置:	ライブラリを現行バージョンのForms Compilerで再コンパイルします。


FRM-10266;
FRM-10266: ライブラリはFormsコンパイラの新しいバージョンで作成されています。

原因:	Form Builderはライブラリを使用できません。

処置:	ライブラリを現行バージョンのForms Compilerで再コンパイルします。


FRM-10267;
FRM-10267: ヘルプ型マジック・メニュー項目は最上位レベルのメニューに配置してください。

原因:	ヘルプ型マジック・メニュー項目をサブメニューに配置しました。

処置:	ヘルプ型マジック・メニュー項目を最上位レベルのメニュー（メイン・メニュー）に移動します。


FRM-10268;
FRM-10268: エラー: プログラム単位<プログラム単位>（ライブラリ<ライブラリ名>中）はコンパイルされていません。

原因:	ライブラリから未コンパイルのプログラム単位をコールしました。

処置:	PL/SQLプログラム・エラーに従います。


FRM-10269;
FRM-10269: 警告! プログラム単位<プログラム単位>（ライブラリ<ライブラリ名>中）未コンパイルです。

原因:	デバッグForms Runtimeのライブラリに未コンパイルのプログラム単位をコールしました。

処置:	これは警告にすぎません。Forms Runtimeはそのプログラム単位のコンパイルおよび実行を試行します。


FRM-10270;
FRM-10270: ライブラリ<ライブラリ名>を連結できません（メニュー<メニュー名>をオープン中）。

原因:	指定ライブラリ・ファイルは、与えられたメニューに連結されていますが、PL/SQLライブラリの検索パスにありません。

処置:	そのライブラリ・ファイルがあるか確認してから、指定メニューでの再実行を試行します。たとえば、作業ディレクトリにそれを配置します。


FRM-10401;
FRM-10401: 出力用のファイル<ファイル名>をオープンできません。

原因:	オペレーティング・システムのファイル・オープン・エラーです（権限上の問題、ディスク領域の欠如など）。

処置:	そのエラーの原因となったオペレーティング・システム条件を解消します。


FRM-10402;
FRM-10402: このようなアプリケーションは存在しません。

原因:	文書化のために要求されたアプリケーションが見つかりません。

処置:	正しいアプリケーション名が指定されているか確認します。


FRM-10409;
FRM-10409: ファイルをクローズできません。

原因:	オペレーティング・システム・エラーまたは内部エラーです。

処置:	DBAに連絡してください。


FRM-99999;
FRM-99999: エラー<エラー番号>が発生しました。このエラーに関する情報は、リリース・ノート・ファイル（relnotes）を参照してください。

原因:	エラーが発生しました。このエラーは、リリース・ノート・ファイルで説明されています。

処置:	リリース・ノート・ファイルを参照してください。


FRM-21011;
FRM-21011: PL/SQL未処理例外<例外名>です。


オプション

「一般」タブのオプション

ビルド前に保存

実行前にコンパイル

ヒント表示の抑止

システム・エディタの使用

カラー・パレット

カラー・モード

プリンタ

モジュールの非同期実行

「アクセス」タブのオプション

アクセス

サブクラス・パス

「ウィザード」タブのオプション

前置きダイアログ

ウィザード前置きページ

「ランタイム」タブのオプション

ファイルのバッファ・レコード

デバッグ・メッセージ

配列処理

SQL処理の最適化

トランザクション・モード処理の最適化

統計表示

ブロック・メニューの表示

問合せ専用モード

消音モード

HTMLファイル名


「オプション」ダイアログ

「Designer」タブのオプション

カラー・モード

カラー・パレット

実行前にコンパイル

オブジェクト･アクセス

プリンタ

モジュールの非同期実行

上書き保存

ヒント表示の抑止

ビルド前に保存

ヒント表示の抑止

システム・エディタの使用

「ランタイム」タブのオプション

配列処理

ファイルのバッファ・レコード

デバッグ・モード

ブロック・メニューの表示

SQL処理の最適化

トランザクション・モード処理の最適化

問合せ専用モード

消音モード

統計表示


用語集

英

    ActiveX
    Ada
    ASCII
    Bilder
    CGI
    CGM
    CHARデータ型（CHAR datatype）
    CMDFILE
    DATE
    Designer
    Designer(Oracle)
    DIANA
    EBCDIC
    Familyツール（Family tool）
    GUI
    HTML
    HTTP
    ICD
    IP（インターネット・プロトコル）アドレス（Internet Protocol）
    JAR
    Java
    NA値（NA value）
    NOCACHE
    NULL値（NULL value）
    ODBC
    OLE
    OLEコンテナ（OLE container）
    OLEサーバ（OLE Server）
    Oracle Designer
    ORACLE_HOME
    Oracleデータ型（Oracle datatype）
    Pcode
    PDF
    PL/SQL
    pldファイル（pld file）
    pllファイル（pll file）
    plsファイル（pls file）
    plxファイル（plx file）
    Project Wizard
    prtファイル（prt file）
    RC4
    RDBMS
    rdfファイル（rdf file）
    REF列（REF column）
    Reports Queue Manager（RWRQM60）
    Reports Server（RWMTS60）
    Reports Web Cartridge
    Reports Web CGI（RWCGI60）
    Reportsバックグラウンド・エンジン（Reports Background Engine）（RWRBE60）
    repファイル（rep file）
    rexファイル（rex file）
    RGB
    RTF
    SELECT文（SELECT statement）
    SQL
    SQLスクリプト（SQL script）
    sqlファイル（sql file）
    SQL文（SQL statement）
    SYLK
    TCP
    Top/Bottomツール（Top/Bottom tool）
    URL
    VBX
    VBXコントロール（VBX control）
    Web
    Web cartridge
    Webサーバー（Web server）
    Webブラウザ（Web browser）
    Webリンク（Web link）
    WKS
    WRB
    WWW
    XML
    zoom

数

あ

    アイコン（icon）
    アクション（action）
    アクティブ・ウィンドウ/ビュー（active window/view）
    値構成体（value construct）
    値軸（continuous axis）
    値軸（value axis）
    値のリスト（list of values）
    アプリケーション（application）
    アプレット（applet）
    アンカー（anchor）
    アンカー・ポイント（anchor point）
    暗号化（encyption）
    暗示項目（implied item）
    依存項目（decendant）
    依存性ツリー（dependency tree）
    依存性表示（dependency view）
    依存データ（dependent data）
    イメージ（image）
    インクローズ・オブジェクト（enclosing object）
    インターネット（internet）
    インタプリタ・スクリプト（interpreter script）
    イントラネット（intranet）
    インポート（import）
    ウィンドウ（window）
    内側枠ボックス（inner bounding box）
    エクスポート（export）
    エクスポート・ファイル（export file）
    エディタ（editor）
    オーバーフロー（overflow）
    オブジェクト（object）
    オブジェクト・グループ（object group）
    オブジェクト・タイプ（object type）
    オブジェクト・ナビゲータ（Object Navigator）
    オブジェクト・ハンドル（object handle）
    オブジェクト表（object table）
    オブジェクト列（object column）
    親（parent）

か

    カーソル（cursor）
    カートリッジ（cartridge）
    階層（hierarchy）
    外部PL/SQLライブラリ（external PL/SQL library）
    外部キー（foreign key）
    外部問合せ（external query）
    可視属性（visual attribute）
    カスケード・スタイル・シート（cascading style sheet）
    カスタム基準（custom measure）
    仮想ディレクトリ（virtual directory）
    仮想ファイル・システム（virtual file system）
    カット（cut）
    カテゴリ（category）
    カテゴリ軸（category axis）
    可変配列（varying array）type
    カラー・パレット（color palette）
    環境（environment）
    関係演算子（relational operator）
    キーワード（keyword）
    基準（measure）
    基本形（primitive）
    基本線の値（baseline value）
    キャッシュ（メモリー）（cache （memory））
    キャンバス（canvas）
    キャンバス・ビュー（canvas view）
    行（row）
    行オブジェクト（row object）
    境界線/塗り/テキスト表示（Edge/Fill/Text Display）
    境界線（border）
    切離しメニュー（tear-off menu）
    句（clause）
    クライアント（client）
    クライアント/サーバー・アーキテクチャ（client/server architecture）
    繰返し枠（repeating frame）
    クリップボード（Clipboard）
    グループ（group）
    グループ・ツリー（group tree）
    グループ・フィルタ（group filter）
    グローバル変数（global variable）
    グローバル・レジストリ（Global Registry）
    クロス積（cross product）
    クロス・タブ（crosstab）
    警告（alert）
    計算式列（formula column）
    継承（inherit）
    結合（join）
    限定モード（confie mode）
    原点（origin）
    子（child）
    格子表示（gridlines）
    更新（update）
    構成体（construct）
    構文（syntax）
    項目（item）
    項目軸（discrete axis）
    項目ノード（item node）
    コール・インタフェース（call interface）
    コール・スタック（call stack）
    子問合せ（child query）
    コピー（copy）
    コマンド行（command line）
    コミット（commit）
    コメント（comment）
    コレクション・タイプ（collection type）
    コンテキスト領域（context area）
    コンパイル（compile）
    コンポーネント（component）

さ

    作業環境（preference）
    索引（index）
    座標（x, y）（coordinates）
    座標系（coordinate system）
    座標平面（coordinate plane）
    サブプログラム（subprogram）
    サブプロジェクト（subproject）
    サブプロジェクト・ノード（subproject node）
    サマリー列（summary column）
    参照線（reference line）
    式（expression）
    式（formula）
    字句参照（lexical reference）
    軸チャート（aixs chart）
    システム変数（system variable）
    下に伸びる（downward-growing）
    実行（execute）
    実行（run）
    実行時（Runtime）
    実行ファイル（runfile）
    実行プログラム引数（executable argument）
    修飾ディメンション（qualifying dimension）
    十分に構成されたXML（well-formed XML）
    集約（aggregation）
    終了（quit）
    主キー（primary key）
    仕様（specification）
    上位項目（antecedent）
    使用可能（enabled）
    使用禁止（disabled）
    条件（condition）
    省略記号ボタン（Ellipsis button）
    書式マスク（format mask）
    数値演算子（numeric operators）
    スキーマ（schema）
    スクリプト（script）
    スコープ（scope）
    スタイル・シート（style sheet）
    スタック（stack）
    ストアド・サブプログラム（stored subprogram）
    ストアド・プログラム単位（stored program unit）
    すべてのツール（All tool）
    制御ポイント（control point）
    生成（Generate）
    生成（generate）
    静的な選択済み保存項目（static saved selection）
    制約（constraint）
    セクション（section）
    セッション（session）
    接続（connect）
    接続文字列（connect string）
    セル（cell）
    セレクタ（selector）
    セレクタ・ツール（Selector tool）
    選択項目（selection）
    選択項目のスクリプト（selection script）
    相関副問合せ（correlated subquery）
    挿入モード（insert mode）
    ソース（source）
    ソート・ツール（Sort tool）
    属性（attriute）
    属性値（attribute value）
    属性ツール（Attribute tool）
    属性マスク（attribute mask）
    属性列（attribute columns）
    ソケット（socket）
    祖先（ancestor）
    祖先グループ（ancestor group）
    外側枠ボックス（outer bounding box）

た

    ターゲット（target）
    ターゲット・ノード（target node）
    ダイアログ・ボックス（dialog box）
    タイトルバー（title bar）
    タイトル・ページ（title page）
    タイプ（type）
    チェックサム（checksum）
    チェックボックス（check box）
    置換モード（replace mode）
    チャート項目（chart item）
    チャート・テンプレート（chart template）
    チャート要素（chart element）
    ツール（tool）
    ツールバー（toolbar）
    ツール・パレット（tool palette）
    定義済みアクション（pre-defined action）
    定義済みタイプ（pre-defined type）
    ディテール問合せ（detail query）
    ディメンション（dimension）
    ディメンション階層（dimension hierarchy）
    ディメンション値（dimension value）
    データ型（datatype）
    データ構造ノード（data structure node）
    データソース（datasource）
    データ・ディクショナリ（data dictionary）
    データベース（database）
    データベース・トリガー（database trigger）
    データ・モデル（data model）
    データ・リンク（data link）
    テキスト項目（text item）
    デバッガ（debugger）
    デバッグ（debug）
    デバッグ・アクション（debug action）
    デバッグ・トリガー（debug trigger）
    デフォルト（default）
    問合せ（query）
    問合せフィルタ・ファンクション（query filter function）
    同位項目（sibling）
    動的な保存済み選択項目（dynamic saved selection）
    登録（register）
    独立ﾃﾞｰﾀ（independent data）
    トグル（toggle）
    ドラッグ（drag）
    トランザクション（transaction）
    トリガー（trigger）
    ドリル（drill）
    トレーラ（trailer）

な

    入力項目（input item）
    塗り領域（fill area）
    ネストされたマトリックス（nested matrix）
    ノード（node）

は

    配置（alignment）
    ハイパー・テキスト（hypertext）
    ハイパーリンク（hyperlink）
    配布（deliver）
    バインド参照（bind reference）
    バインド変数（bind variable）
    破損（damage）
    パターン（pattern）
    バックグラウンド処理（background process）
    バックグラウンド要素（background element）
    パッケージ（package）
    パッケージ仕様部（package specification）
    パッケージ・ファンクション（package function）
    パッケージ本体（package body）
    バッチ（Batch）
    バッチ・コンパイル（batch compile）
    バッファ（buffer）
    パネル（panel）
    パラメータ（parameter）
    パラメータ・リスト（parameter list）
    パレット（palette）
    範囲ツール（Range tool）
    ハンドル（handle）
    比較演算子（comparison operators）
    引数（argument）
    非キャッシュ列（non-caching column）
    日付軸（date axis）
    非表示（hidden）
    ビュー（view）
    表（table）
    表形式（tabular）
    表示（display）
    表示形式（plot type）
    表示項目（display item）
    表タイプ（table type）
    ビルトイン（built-ins）
    ビルトイン・データ型（built-in datatype）
    ビルトイン・マクロ（built-in macro）
    ファイアウォール（firewall）
    ファイル・ノード（file node）
    ファミリ（family）
    ファンクション（function）
    フィールド（field）
    フィールド・テンプレート（field template）
    フィルタ（filter）
    フォアグラウンド要素（foregrond element）
    フォーカス（focus）
    フォーマット・トリガー（format trigger）
    フォーム・レイアウト（form layout）
    フォーム・レター・レイアウト（form letter layout）
    複数行フィールド（multi-line field）
    複製（duplicate）
    物理ページ（physical page）
    付与（grant）
    フラット化オブジェクト（flattened object）
    プリンタ制御コード（printer control code）
    ブレーク・グループ（break group）
    ブレーク・チャート（break chart）
    ブレーク・トリガー（break trigger）
    ブレーク・ポイント（breakpoint）
    ブレーク列（break column）
    ブレーク・レポート（break report）
    プレースホルダー・ユーザー名（placeholder username）
    フレックス・モード（flex mode）
    プレビュー（preview）
    プレビューア（Previewer）
    プログラム単位（program unit）
    プロシージャ（procedure）
    プロジェクト（project）
    プロジェクト項目（project item）
    プロジェクト・ナビゲータ（Project Navigator）
    プロジェクト・ノード（project node）
    プロジェクト表示（project view）
    プロジェクト・ファイル（project file）
    プロジェクト・レジストリ（project registry）
    ブロック（block）
    プロトコル（protocol）
    プロパティ（property）
    プロパティ・クラス（property class）
    文（statement）
    分解オブジェクト（deconstructed object）
    分割バー（split bar）
    分類（classification）
    並行性（concurrency）
    ペイン（pane）
    ページ（page）
    ページ・ブレーク（page break）
    ペースト（paste）
    ヘッダー（header）
    ヘッダー・ノード（heading node）
    別名(alias)
    変数（variable）
    編成ノード（organization node）
    ボイラープレート（boilerplate）
    ポート（port）
    保存済み選択項目（saved selection）
    保存済み選択項目ツール（Saved Selection tool）
    ボタン（button）
    ボタン・プロシージャ（button procedure）
    ポップアップ・リスト（pop-up list）
    ボディ（body）

ま

    マージン（margin）
    マクロ（macro）
    マスター/ディテール・レイアウト（master/detail layout）
    マッチング・ツール（Match tool）
    マトリックス・セル（matrix cell）
    マトリックス・レイアウト（matrix layout）
    マトリックス・レポート（matrix report）
    無名ブロック（anoymous block）
    メール・ラベル・レイアウト（mailing label layout）
    メガバイト（MB）（megabyte）
    メソッド（method）
    メッセージ・ボックス（message box）
    モーダル・ウィンドウ（modal window）
    モードなしウィンドウ（modeless window）
    文字位置（justification）
    モジュール（module）

や

    有効なXML（valid XML）
    ユーザー・イグジット（user exit）
    ユーザー定義アクション（user-defined action）
    ユーザー定義型（user-defined type）
    ユーザー定義マクロ（user-defined macro）
    ユーザー・レジストリ（user registry）
    要素（element）
    要素タイプ（element type）
    読込み一貫性（read consistency）

ら

    ライブラリ（library）
    ラジオ・グループ（radio group）
    ラジオ・ボタン（radio button）
    ラベル（label）
    ランタイム・パラメータ･フォーム（Runtime Parameter Form）
    ランチャ（Launcher）
    リスト項目（list item）
    リスト・ツール（list tool）
    リスト・ボックス（list box）
    リフレッシュ（refresh）
    リモート・データベース（remote database）
    リンク（link）
    リンク・ファイル（link file）
    ルート（root）
    ルート・ノード（root node）
    ループ（loop）
    レイアウト（layout）
    レイアウト単位（layout unit）
    例外（exception）
    例外ツール（Exception tool）
    レコード（record）
    レコード・グループ（record group）
    レジストリ（registry）
    列（column）
    列オブジェクト（column object）
    レベル（level）
    レベル・ツール（level tool）
    レポート・レベルのオブジェクト（report-level objects）
    連結したライブラリ（attached library）
    ローカル・データベース（local database）
    ローカル変数（local variable）
    ローカル・レジストリ（local registry）
    論理演算子（logical operators）
    論理ページ（logical page）

わ

    ワイルド・カード（wildcard）
    枠（edge）
    枠（frame）
    枠ボックス（bounding box）


Project Builderにおいて、Project Builderまたはユーザーにより提供され、一定の形式のファイルに用いられるコマンド文字列。アクションは単一のファイル・タイプに制限されていない。たとえば、「ビルド」アクションがFormモジュールおよびCソース・ファイルの双方に定義されている場合、「すべてをビルド」を選択すると適切なツールによりすべての.fmbおよび.cファイルがコンパイルされる。｢定義済みアクション（pre-defined action）｣と｢ユーザー定義アクション（user-defined action）｣も参照。


埋込み型のコンピュータ・システム用に米国国防総省により開発された、高レベルのプログラミング言語。


ユーザー入力を受けることができるウィンドウまたはビュー。


（Oracle Express） 複数のディメンション値のデータを1つの値（全都市の合計販売数など）またはさらに小さな値セット（各地域の都市について算出された平均販売数など）に統合すること。データは詳細の最低レベルで収集されることが多く、分析用にさらに高いレベルでの合計に集約される。


最後のアクションのために発生した状況を通知するモーダル・ウィンドウ。警告には応答する必要がある。


フィールド内でデータが位置付けられる方法。データを定義されたフィールド幅の左、右、中央、左揃え、右揃えまたは中央揃えで配置できる。


表、ビューまたは列を参照するためにSQL文内で使用される2次的な名前。


（Oracle Express） ディメンション内のすべての値または特定階層についてのディメンション内のすべての値を選択できる「セレクタ」ダイアログ・ボックスのツール。


（Oracle Express） 階層内の特定の値を超えるレベルのディメンション値。祖先の値は、その子孫の値の集約合計である。次の例は、GEOGRAPHYディメンション内における、"France"、"Lyon"および"Paris"の祖先としてのディメンション値である"Europe"を示している。


別のグループを直接または間接に所有するグループ。


最初のオブジェクトの位置と2番目のオブジェクトとの関係を保ちながら、1つのオブジェクト上のスポットを別のオブジェクト上のスポットに固定するレイアウト・オブジェクト。


（Oracle Express） ファミリ・リレーションを基準にしてディメンション値を選択するとき、または階層内をナビゲートするときに使用する特定のディメンション値。


名前がなく、実行可能文を囲むBEGINおよびENDキーワードを明示的に指定する必要のないPL/SQLプログラム単位。無名ブロックには名前がないため、他のプログラム単位は参照できない。


別のオブジェクトのグループツリー内で、そのオブジェクトよりも上の位置で現れるオブジェクト。どのオブジェクトも、その依存項目の上位項目になる。


必要に応じWebページやアプリケーションに動的にインポートできる小さなプログラムを表すJava用語。


特定の結果を達成するために使用される、1つ以上のプログラム・モジュール。アプリケーションは、他のアプリケーションにネストできる。たとえば、業務システムを制御するアプリケーションには、データ入力用のさまざまなForm Builderアプリケーションやそのデータを視覚的に表示するさまざまなGraphics Builderアプリケーションを含めることができる。


1. プログラム単位が継続して作動するようにプログラム単位に渡される任意の式。
2. キーワードおよびキーワードの指定値を含む句。


情報交換用の米国標準コード。American National Standard Code for Information Interchangeの略称。


読込み専用のPL/SQLサブプログラムの集合であり、通常アプリケーションと共に提供され、必要なPL/SQLソースを提供する。連結ライブラリ内のプログラム単位は、コンパイル時または実行時に他のプログラム単位によって初めてコールされたときに、暗黙的にロードされる。それらのプログラム単位は、再度必要になったときにすばやく利用できるように、ロードされた状態になっている。このため、実行時のメモリの使用量を節約し、アプリケーションのパフォーマンスを改善することができる。「ライブラリ（library）」も参照。


1. 「プロパティ（prorety）」を参照。
2.  Oracle8オブジェクト・タイプ定義の一部またはコンポーネント。各属性には、名前とOracle8データ型がある。オブジェクト表がオブジェクト・タイプに基づいて作成される場合、表内の列は、オブジェクト・タイプ定義内の属性に対応する。リレーショナル表内の列オブジェクトがオブジェクト・タイプに基づいて作成される場合、その列オブジェクトにはサブ列と同等のものが含まれ、それぞれがオブジェクト・タイプ定義内の属性に対応する。表内の各Oracle8オブジェクト属性が、別の列であるかのように異なるデータ項目として扱われる。このことは、リレーショナル表内のオブジェクト表と列オブジェクトについてもあてはまる。
3. （Oracle Express） ディメンション値によって共有される記述子の特徴。属性は論理グループ分けを表し、これによってユーザーは、同類の特徴を基にデータを選択できる。たとえば、履き物を表すデータベースでは、履き物の色という属性を使用することにより、同じ色を共有するすべてのブーツ、スニーカーおよびスリッパを選択できる。


列オブジェクトを構成する列（Oracle8）。


Graphics Builderでは、属性記述子内の最初の要素。その後のファンクション・コールで設定または取り出される属性のツールキットに知らせる32ビットのマスク。属性マスク内に対応するビットが設定されている要素のみが設定または取り出される。


（Oracle Express） 属性および属性値を基準にしてディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、ソフト・ドリンクを表すデータベースでは、サイズが1リットルの全製品を選択する場合もある。その場合、「サイズ」が属性で、「1リットル」が属性値である。


（Oracle Express） 属性を構成する、データベース内の値。たとえば、アイスクリーム製品を表すデータベースでは、バニラ、チョコレートおよびストロベリーといった属性値は、製品ディメンションの味属性に属する場合がある。ブランド、形態およびサイズなど、製品ディメンションのさまざまなレベルにおけるディメンション値は、味について同じ値を共有する場合がある。


チャートの1種であり、軸と呼ばれるチャートの境界線のどこにデータが位置するかに基づきデータが表示される。軸チャートには軸が2つまたは3つあり、それぞれが項目軸、値軸または日付軸のいずれかになる。


パターンの白い部分。バックグラウンド要素に色を付けるには、「塗りカラー」パレットを使用する。


オペレーティング・システム環境で実行され、サービスやアクションを行う非対話形式のプロセス。一部のOracle製品では、データベースを同時に使用するユーザーのための作業の実行と調整、電子メッセージの処理と配布、印刷サービスの管理など、さまざまな作業にバックグラウンド処理を使用する。


チャートの値軸上の表示フィールドの始点として使用される値。


ウィンドウ・システムを使用せずにバッチ・モードでアプリケーションを実行する実行可能プログラム。


いくつかのPL/SQLプログラム単位をマシンが実行できる形式に一度に変換する。


PL/SQL構成体またはSQL SELECT文内のあらゆる位置に出現する単一のリテラル値（文字列、数値、日付など）の置換に使用されるパラメータへの参照。バインド参照の際には、パラメータ名の前にコロン（:）を付ける必要がある。


PL/SQLパッケージ以外で作成し使用できるグローバル変数。


1. キーワードDECLARE、BEGIN、EXCEPTIONおよびENDで定義される、PL/SQL内の基本的なプログラム単位。
2. Form Builderでは、データベース表またはビューに関連する論理コンテナ。


1. プログラム単位の仕様部と同じ情報が入っており、サブプログラムの実際のインプリメンテーション（そのアクション順序）も含む。ほとんどの場合、1つのサブプログラムには、本体を1つのみ定義する必要がある。
2. Report Builderでは、レポート・レイアウトの大部分（テキスト、図形、データおよび計算）を含む領域。レポートのボディは、レポートのヘッダー・ページとトレーラ・ページの間に表示される。


レポートが実行されるたびにレポート内に表示されるテキストまたは図形（あるいはその両方）。一部の製品では、「一定の」テキストまたは図形と呼ばれる。


レイアウト・オブジェクトの周辺のユーザー定義のアウトラインであり、通常その内容を強調表示するために使用する。境界線は、幅の半分がオブジェクトの枠の外側、もう半分が内側になるように描かれる。


「内側枠ボックス（inner bounding box）」および「外側枠ボックス（outer bounding box）」を参照。


1つの軸に沿って2種類のデータを表示する軸チャート。


ブレーク・グループに割り当てられた問合せ列。


レポート・データのブレークまたは分類に使用されるグループ。ブレーク・グループに割り当てられた問合せ列のデータは、すべて別のグループに属する列のデータの上に表示される。ブレーク・グループにフェッチされた各レコードは一度しか表示されないが、別のグループの複数の関連レコードは表示できる。


レポート・データの集合を分類する項目を含むレポート。


ブレーク・ポイントに達するたびに実行されるPL/SQLブロック。「ブレーク・ポイント（breakpoint）｣も参照。


PL/SQLサブプログラム内のあらゆる実行可能ソース行にセットできるデバッグ・アクション。ブレーク・ポイントはプログラム単位の実行を中断し、制御をPL/SQLインタプリタに渡す。ブレーク・ポイントを使用すると、サブプログラムをステップごとに実行し、ランタイム・エラーを探すことができる。「ブレーク・トリガー（break trigger）」も参照。


特定の形式のドキュメントを作成するために使用されるコンポーネントを指す。たとえば、フォームの作成にはForm Builderが、レポートの作成にはReport Builderが使用される。


Oracle Serverによって定義およびサポートされるデータ型。


PL/SQL言語に対する拡張機能の集合であり、ソフトウェアで使用されるように設計されている。ビルトインには、データ型、プロシージャ、ファンクション、例外および定数が含まれる。


Project Builderでは、マクロはProject Builderに付属している。「マクロ（macro）｣も参照。


コンピュータと周辺機器、またはコンピュータの部分間でデータを転送する間、データを一時的に格納する領域。バッファにより、転送の速度またはタイミングの違いによる情報の損失を防ぎ、一部の機能が高速化される。


1. アクション項目の選択、ダイアログボックスの表示、または現行の条件の確認に使用されるインタフェース要素。
2. 関連するPL/SQLプロシージャをもつ、アプリケーション内のオブジェクト。通常、ユーザ・マウス・イベントに基づいて実行される。


アプリケーション・オブジェクトに関連するPL/SQLプロシージャであり、実行時にその項目で特定のマウス・イベント（ボタンのクリックなど）が発生すると実行される。これは、ブレーク・グループを含む、フェッチされたデータの階層を確立することによって行われる。


現在、ユーザーからアクセスまたは変更されているデータベース上のデータ、またはOracle Serverがユーザーのサポートに必要とするデータのための、一時的な格納領域。これらの用語は同義で使用されることが多い。


Forms DeveloperおよびReports Developerコンポーネントの実行可能プログラムを他のOracle製品や3GLプログラムから起動させるためのインタフェース。


最初のエントリ・ポイントから現在実行しているサブプログラムに対する、一連のサブプログラム・コール。各サブプログラム・コールは、下に伸びるコール・スタック上の枠によって表され、新規に入力されたサブプログラムはスタックの一番下に追加される。


   「エディタ（editor）」を参照。


Form Builderでは、ユーザーがランタイム・アプリケーションで対話を行うインタフェース・オブジェクトを配置するバックグラウンド・オブジェクト。キャンバス・ビューは、通常、ウィンドウに対応付けられる。


オープンAPIを通じてクライアント、アプリケーション・サーバーまたはデータベースにプラグインできる、管理可能なオブジェクト。


「スタイル・シート（style sheet）」を参照。


非階層型の図表やその断片などの情報の種別を、感性レベルではなく、可能とするラベル・コンポーネント。分類された種々の情報へのアクセスを個別に制限する手段として使用される。


「項目軸（discrete axis）」を参照。


スプレッドシート内のデータのインスタンス（Microsoft Excelなど）。


Common Gateway Interfaceの略称。アプリケーションをWebサーバー上で実行するための、業界標準の技法。Webサーバーで検索される標準のHTMLドキュメントは静的であるが（まったく同じテキストが毎回検索される）、CGIにより、プログラムがWebサーバー上で稼働して別のコンピュータと通信を行い、ユーザーが入力する情報に応えて「動的な」HTMLドキュメントを生成することが可能になる。


コンピュータ・グラフィックス・メタファイル。国際的に認められたファイル形式で、オブジェクト指向の図形の保存や、システムまたはプログラム間の転送に使用される。


ANSI/ISO互換のために提供されているOracleデータ型の1種。CHAR列は固定長の列で、A、3、&、ブランクなどの印字可能文字を含むことができ、1～255個の半角文字やNULLを入力できる。


フィールドに対する単一の値を示す、横棒、線、記号、その他の図形オブジェクト。


Graphics Builderチャートをフォームまたはレポートに埋め込むのに使用されるあらゆるサイズの境界のある四角形。


チャートの書式を定義する属性とプロパティの集合。


小さな四角形として表示されるインタフェース要素であり、ユーザーはこれをオンまたはオフに切り替えることができる。


エラーチェックのアルゴリズム。


1. グループの1メンバーであり、グループ・ツリー内でそのグループ・オブジェクトのすぐ下に位置するオブジェクト。グループ・オブジェクトを構成するオブジェクトは、そのグループの子である。どのオブジェクトも、その親オブジェクトの子になる。
2. （Oracle Express） 階層内にある特定値のすぐ下のレベルのディメンション値。子の値は、親の集約合計を生成する計算に組み込まれる。ディメンションに複数の階層が含まれる場合、ディメンション値は複数の親の子である場合がある。次の例は、GEOGRAPHYディメンション内で、"France"の子としてのディメンション値"Lyon"と"Paris"を示している。


「ディテール問合せ（detail query）」を参照。


ラベルの付いた、情報の感度を示す階層レベル。分類は、情報へのアクセスを制限する手段として使用される。


文全体を構成しない、SQL文の一部。たとえば、「WHERE句」。


別のアプリケーションまたはコンピュータ（「サーバー」）のサービス、データ、処理などを要求するユーザー、ソフトウェア・アプリケーションまたはコンピュータ。2タスク環境では、クライアントはユーザー・プロセスである。ネットワーク環境では、クライアントはローカル・ユーザー・プロセスであり、サーバーはローカルまたはリモートの場合がある。


2つのCPU間の処理の分離。1つはトランザクション内でサービスを提供するサーバーとして、もう1つはトランザクション内でサービスを要求して受けるクライアントとして稼働する。共有データ管理の仕事は、すべてデータベース管理システムを実行しているコンピュータによって処理されるので、データベース・アプリケーションを実行しているワークステーションは、データの解釈と表示専用になる。


メモリー・バッファ。オブジェクトは、別のオブジェクトをカットまたはコピーするか、またはアプリケーションを終了するまで、クリップボードに残る。


すべてが同じデータ型で、数に制限のない要素によって構成されるデータ単位を記述する、ユーザー定義データ型。可変配列型および表タイプは、コレクション・タイプである（Oracle8）。


Forms Developerの実行可能プログラムのコマンド・ライン引数のセットが入ったファイルを指定できる引数。


ウィンドウ・システム、描画面、またはウィンドウおよびそのビューに利用できるすべての色を含む。


1. データの特定のドメインを表す、データベース表内の垂直方向の領域。列には列名（ENAMEなど）があり、特定のデータ型（CHARなど）を持っている。たとえば、従業員情報の表で従業員名のすべてが1つの列を構成するなど。レコード・グループ列は、データベースの列を意味する。
2. Report Builderでは、問合せのSELECTリスト内の列のそれぞれの式に対し自動的に作成されるか、集計や式を実行したりプレースホルダーとして稼働するために手動で作成されるデータ・モデル・オブジェクト。


Oracle8のリレーショナル表またはオブジェクト表で、定義がオブジェクト・タイプに基づいている列。列は複合列で、その構成部分は、オブジェクト・タイプの属性に対応する。


オペレーティング・システムのコマンド・ライン。ほとんどのOracle製品は、いくつかの実行プログラム引数を使用して、コマンド・ラインから起動できる。


プログラム内に説明文を含めるための言語要素。これを実行しても影響は出ない。


データベース内のデータの変更を永続的にすること。変更が確定されるまでは、変更情報を格納したり、データを前の状態に復元できるように、新旧のデータが存在する。


（Oracle Express）

>	より大きい

<	より小さい

=	等しい

<=	以下

>=	以上

<>	等しくない

数値の場合、オペランドは最小共通型に拡大される（IntegerはLongに優先し、LongはSingleに優先し、SingleはDoubleに優先する）。文字列の場合、比較は大/小文字が区別され、Windowsのコントロール・パネルで指定する言語によって使用される照合順番に基づいて行われる。結果はFALSEが0でTRUEが-1になる。


ソース・プログラムを、バイナリの実行可能な形式に変換すること。PL/SQLプログラム単位は、実行する前にコンパイルする必要がある。


大規模アプリケーションの一部である特定のターゲット・オブジェクト。｢ターゲット（target）｣も参照。


異なるデータベース・アプリケーションや同じアプリケーションを実行する複数のユーザーによる、同じデータの同時アクセス。データベース・ソフトウェアで並行性を保つには、すべてのユーザーが首尾一貫したデータを参照できることと、すべての変更が適切な順序で行われることを保証するロジックを追加する必要がある。


X> 100のように、値が真か偽である式。たとえば、式で真を評価させた行のみを表示するための問合せを行う場合、問合せに条件を設定します。


子オブジェクトが親オブジェクトの内外で移動またはサイズ変更されることを防ぐレイアウト・エディタ・モード。


データベースへログインすること。問合せを作成または変更したり、データベースに格納されているアプリケーションにアクセスする場合は、接続する必要がある。


SQL*Netがネットワーク上の特定のOracleインスタンスへの接続に使用する、プロトコルを含むパラメータの集合。


オブジェクト・レベルやアプリケーション・レベルではなくデータベース・レベルで実施される、一定のデータに関する規則または制限（列でのNOT NULL制限など）。


PL/SQLコードの構成体。構成体には2つのタイプがある。値無し構成体は値を戻さず、値付き構成体は値を戻す。


Oracle Serverが現行のSQL文を格納する作業領域。文が問合せの場合には、結果の列ヘッダーと結果が入る１行。カーソルとも呼ばれる。


1つの値で始まり、別の値に達するまで継続する値を表示する軸。したがって、これらの値は、数学的に関連付けられている依存データは、通常、値軸とも呼ばれるこの軸に沿って表示される。


オブジェクトの理想的な形を構成する、垂直の四角形の4隅の点。レイアウト上のオブジェクトを選択すると、その制御ポイントが表示される。選択するオブジェクトによっては、制御ポイントをドラッグして、オブジェクトを変更できる場合がある。


描画が行われる2次元の格子。


レイアウト・エディタ・ビューでのオブジェクトの配置とサイズ設定に使用される、x，y単位のタイプ。利用できる座標システムは、1) プラットフォーム固有の文字セル・サイズを使用する文字、2) 単位がピクセル、センチメートル、インチまたはポイントである実際単位。


オブジェクトがレイアウト内で表示されるための位置を示す点。x座標とy座標により、オブジェクトの水平方向（x）と垂直方向（y）の位置が決まる。


必要に応じエディタ内の別の位置にペーストできるように、選択されたオブジェクトの複製をクリップボード上に保管すること。


親問合せと同じ表に基づく副問合せ（たとえば、その親問合せに含まれる表の中にある列の参照など）。


2つ以上の他のグループを所有し、数学的なクロス積を実行する（それらの間の値を相関させる）グループ。


｢マトリックス･セル｣を参照。


1. マウスの位置を示す小さなアイコン。カーソルの形は、選択するツールによって異なる。
2. 問合せにより取り出されるデータに対する内部ポインタ。カーソルは、一度に1行のデータしか指さない。ただし、ビルトイン・サブプログラムを使用すると、カーソルをデータ・セットの任意の行に移動できる。


（Oracle Express） ユーザーが作成する式で、これによってデータ解析を細かくチューニングできる。データベース内のベース基準を使用して、カスタム基準を作成できる。たとえば、データベース内にVolume Shareという既存の基準がある場合、この基準を使用して、Volume Share Year Agoという名前のカスタム基準を作成できる。このカスタム基準では、製品の前年度からの全体シェアを見ることができる。


1つ以上のオブジェクトを削除し、必要に応じエディタ内の別の位置にペーストできるようにそれらをクリップボードに保管すること。


ビューは、その全体または一部が他のビューにより遮られると破損する。


データベースの管理者により所有される一組の表およびビュー。Oracle Serverやその他のリレーショナル・データベースの中核となる情報ソース。


グループと問合せ間でマスター/ディテール（親子）関係を定義するのに使用されるデータ・モデル・オブジェクト。


データベースからどの値をフェッチすべきか、どの値を計算すべきか、データをレポート内でどのように順序付けるべきかを定義するリレーショナル・モデル。データ・モデルを定義するReport Builderオブジェクトは、問合せ、グループ、列、パラメータおよびリンクである。


ビューは、その全体または一部が他のビューにより遮られると破損する。


Project Builderにおいて、オープン・オブジェクトの構造を制御するプロジェクト項目を示す、プロジェクト・ナビゲータ内のノード。たとえば、「グローバル・レジストリ」ノードはグローバル・レジストリを示し、ローカル・レジストリのリストとグローバル・タイプ定義のリストが含まれている。


ユニットとして扱われる、一組のディクショナリ表とユーザー表。


トリガーを実行するINSERT、UPDATEまたはDELETE文がデータベースのリレーショナル表に対して発行されたときに、暗黙的に実行される保存済みのPL/SQLブロック。｢デバッグ・トリガー（debug trigger）｣も参照。


データの標準の書式。共通のOracleデータ型には、CHAR、VARCHAR2、DATE、NUMBER、LONG、RAWおよびLONG RAWなどがある。


Oracle Serverのデータ型の1つ。日付列には、紀元前9999年1月1日から西暦9999年12月31日までの日付と時刻が入る。


1つの日付から始まり、別の日付に達するまで続く日付の値を表示する軸。


プログラム内のランタイム・エラーを検出して診断し、削除すること。


PL/SQLサブプログラム内に配置されるユーザー指定のイベントであり、通常ランタイム・エラーのトラブルシュートを目的とする。


PL/SQLサブプログラムのどの実行可能ソース行にも配置できる、条件付きのデバッグ・アクション。指定条件が満たされると、サブプログラムの実行が再開される前に、指定したアクションが実行される。｢データベース・トリガー（database trigger）｣も参照。


テストとデバッグに使用される、ソフトウェアでのProcedure Builderの機能。


Oracle8では、オブジェクト・タイプとオブジェクトは複合要素であり、構成要素と属性によって構成される。Forms DeveloperおよびReports Developerでは、個々の構成要素または属性を、独立した、個別に選択できるデータ項目として扱う。このような扱い方によって、分解オブジェクトが生成される（フラット化オブジェクトとも呼ばれることもある）。オブジェクトはDeveloper環境内において、同類のエンティティではない。


値が他のデータに依存するデータ。たとえば、ある従業員の就業年数は値10であるが、それはその従業員の名前の値と依存します。値データとも呼ばれる。


ユーザーが必要なコマンド・パラメータや属性を指定しない場合にシステムにより提供される値。


配布と実行のために完成されたアプリケーションを用意し提供すること。


Project Builderにおいて、Project Builderがプロジェクト内で参照されるファイルをどのようにコンパイルするかを決定するために使用する機構。ツリーの左上の項目は、右下の項目に依存している。たとえば、ヘッダー・ファイルが古いか、またはそれを使用して構築する実行可能ファイルより新しいと、Project Builderでは、Buildコマンドを受けて、実行可能ファイルが再構築される。依存性はサブプロジェクトにも当てはまる。たとえば、関数ライブラリを含むサブプロジェクトが再構築されていると、Project Builderは更新されたライブラリ関数を使用するため依存プロジェクトを再構築する必要があることを「理解する」。｢依存性表示（dependency view）｣も参照。


Project Builderでは、プロジェクト・ナビゲータ内のファイルをそれらが互いに依存する順に表示（プロジェクト・ノードを階層の最上位に、その後にターゲット・ノードを、続いてそれらのターゲットの構築可能コンポーネントを配置）する。たとえば、実行可能フォームは.fmbファイルに依存してこれに先行し、.fmbファイルはUSEREXITプロシージャが使用するライブラリに依存してこれに先行するなど。｢プロジェクト表示（project view）｣、｢ターゲット（target）｣も参照。


1. 別のオブジェクトのグループ・ツリー内で、そのオブジェクトより下位に現れるオブジェクト。どのオブジェクトも、その上位項目の依存項目になる。
2.（Oracle Express）階層内の特定の値より小さいレベルのディメンション値。子孫の値は、その祖先の集約合計を生成する計算に組み込まれる。次の例は、GEOGRAPHYディメンション内における、"Europe"の子孫としてのディメンション値である"France"、"Lyon"および"Paris"を示している。


Forms DeveloperおよびReports Developerアプリケーションのさまざまなコンポーネントを設計するためのインタフェース。


「Oracle Designer」を参照。


アプリケーション・モデリング、設計および生成のツールセット。Oracle Designerを使用すると、Oracleリポジトリに記録されているモジュール定義からフォームとメニューを生成できる。


マスター/ディテール・レポートを定義する際、ディテール問合せはマスター（親）問合せにより取り出された各レコードに対するすべての関連レコードを取り出す。


操作を完了するために必要な情報の入力を求める、部分的な画面またはウィンドウ。


コンパイラにより生成される、プログラム単位の中間的な表現。DIANAには、コンパイルされるプログラム単位の構文上と意味上の情報がすべて含まれている。参照をプログラム単位にコンパイルするため、コンパイラは参照先のプログラム単位のDIANAへのアクセスを必要とする。たとえば、プログラム単位Aがプログラム単位Bをコールする場合、BのDIANAが使用可能でなければ、Aをコンパイルできない。


（Oracle Express） データのカテゴリを提供する値のリストである、データベース・オブジェクトのタイプ。ディメンションは、変数の値を識別する索引として機能する。たとえば、月ごとに個別の販売金額が記録された販売データがある場合、そのデータにはMONTHディメンションがある。つまり、データが月別に分類される。ディメンションはリレーショナル・データベースにおけるキーに似ている。

マルチディメンションの変数内にある任意のデータ項目は、変数の各ディメンションから1つのメンバーを指定することにより、一意におよび完全に選択できる。たとえば、販売変数がMONTH、PRODUCTおよびMARKETによってディメンション化されている場合、MONTHディメンションで"January"、PRODUCTディメンションで"Stereos"、MARKETディメンションで"Eastern Resion"を指定すると、変数内の1つのセルが一意に指定される。このように、ディメンションによって、データの取出し、更新および計算について、データを編成および選択するための、正確で、直感的な方法が提供される。

ディメンションは、1つのテキストまたは整数値などの単純な値から、他のディメンションの値を組み合わせた値など、連結した値の場合もある。複合は、ディメンションではないが、散在する値を処理する目的でExpressによってディメンションのように扱われる、連結に似た内部オブジェクトである。


（Oracle Express） ディメンションを構成するリスト内の1つの要素。たとえば、コンピュータ会社のPRODUCTディメンションでは、"LAPPC"および"DESKPC"と呼ばれるディメンション値を持つ場合がある。GEOGRAPHYディメンション内の値には、"Boston"および"Paris"などが含まれる場合がある。また、TIMEディメンション内の値には、"MAY96"および"JAN97"などが含まれる場合がある。


メニュー項目、ボタンなどを表す、インタフェース要素の状態。現行のコンテキストでは使用不可。つまり、キーボードやマウス入力には応答しない。


固有の値を固定した間隔で表示する軸。これらの値は、数学的に関連付けられていない。通常、独立データは、項目軸とも呼ばれるこの軸に沿って表示される。


チャート、イメージ、テキスト・オブジェクトおよび形のあらゆる組合せを含むGraphics Builderドキュメント。


Form Builderでは、PL/SQLでプログラムに基づいてフェッチまたは割り当てる必要のある情報を格納または表示する項目。


これはコール・スタックに属するため、この中では新規に入るサブプログラムはスタックの最下部に追加される。最初のプログラム・エントリ・ポイントに対応する最も古い枠は、スタックの一番上に、最も深くネストされたサブプログラム・コールと関連付けられた最新の枠は、スタックの一番下にある。


マウス・ボタンを押したまま、マウス・ポインタをウィンドウ内の特定の位置にスライドさせること。


（Oracle Express） 階層を持つディメンション内の集約のレベルを上下にナビゲートすること。ディメンション値を選択したり、データを表示したりするとき、ディメンション階層内でドリル・ダウンまたはドリル・アップすることにより、階層を拡張または縮小できる。ドリル・ダウンによってビューが拡張され、ディメンション階層内にある親の値に関連付けられている子の値も表示される。ドリル・アップによって、ディメンション階層内にある親の値に関連付けられている子の値のリストが収縮される。

階層をドリル・ダウン（拡張）するにはプラス・アイコン( [image])をクリックし、ドリル・アップ（縮小）するにはマイナス・アイコン( [image])をクリックする。

セレクタ内では、ドリル・アイコン( [image])をクリックして「ドリル」ダイアログ・ボックスを表示し、ディメンション全体の詳細レベル選択できる。


クリップボードの内容を変更することなくレイアウト上のオブジェクトを直接コピーできるオプション。


（Oracle Express） 評価されるたびに異なるディメンション値を持つことのできる保存済み選択項目。選択されたディメンション値は、使用ごとに異なる場合がある。対照的に、静的な保存済み選択項目は、ディメンション値の変化しないリストである。動的な保存済み選択項目のスクリプトには"Select the last three Months"などのように文が記述されるが、静的な保存済み選択項目のスクリプトには、"Select February 1996, March 1996, and April 1996"といったように文が記述される。


拡張2進化10進符号（Extended Binary-Coded Decimal Interchange Code）の略称。


オブジェクトの境界。


境界線、塗りおよびテキスト・パターンと色の現行の設定を表示する、レイアウト・エディタのツール・パレット上の表示ボックス。


プログラム単位の作成やアプリケーションの設計など、一連の特定のタスクを実行する作業領域。


情報を記録する必要があるかもしれない重要な事柄。要素は、属性および他の要素との関係で記述される。


ディクショナリ内に保持される要素はすべて、特定のタイプに分類される。要素タイプには、エンティティ、属性、プログラム・モジュール、表、ダイアグラム、テキスト、ソフトボックスなどがある。これらのオカレンスまたはインスタンスは、要素と呼ばれる。


（Oracle Express） 実行しようとしているタスクに関連のあるダイアログ・ボックスを表示する。通常はそこで1つ以上の必要な値を選択する。


メニュー項目、ボタンなどが現行のコンテキストで使用できる（つまり、キーボードやカーソルおよびマウスの入力に応答する）ことを表すインタフェース要素の状態。


別のオブジェクトを含むオブジェクト。オブジェクトは、次の条件をすべて満たす場合に限り、別のオブジェクトに囲まれると見なされる。両方のオブジェクトが同じ領域に属している（ボディまたはマージン、ヘッダー、トレーラ）。2つのオブジェクトの外側のものが、枠または繰返し枠である。2つのオブジェクトの外側のものが、もう一方の後ろにある。2つのオブジェクトの内側のものが、完全にもう一方の境界線内にある。両方のオブジェクトが同じ領域に属している（ボディまたはマージン、ヘッダー、トレーラ）。2つのオブジェクトの外側のものが、枠または繰返し枠である。2つのオブジェクトの外側のものが、もう一方の後ろにある。2つのオブジェクトの内側のものが、完全にもう一方の境界線内にある。


意図された受取人のみがデータを暗号解除し、読めるようにデータを暗号化すること。


一般的に使用されるツールおよびそれらの構成情報を含む、ユーザーのコンピュータ･ベースの作業場所。Project Builderにおいて、Forms Developerアプリケーションの開発関連のさまざまな作業を完成するのに使用される、ツールのサブセットを指す。


PL/SQLサブプログラムから生成される警告またはエラーの状況。


（Oracle Express） 指定期間を満たすデータに関連付けられたディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、ボストン市場で1995年の12月23日で終わる週に、ドル売上高が10,000ドルを超えるすべての製品を選択するといった操作もできる。


'OPENFILE=my_disp'や'PRINT=YES'など、製品の実行可能プログラムに渡すことができる引数。これらの引数は、通常実行可能プログラムがコマンド・ラインから起動される際に指定される。


「実行（run）」を参照。


オブジェクト、モジュール、選択されたテキストやイメージのコピーをファイルやデータベースに格納すること。Project Builderにおいて、プロジェクト、タイプ、アクションまたはマクロ（あるいはそれらすべて）の定義が含まれるファイルを、異種プラットフォームで作業する他のクライアントに配布できる移植性のある形式で書くプロセス。「エクスポート・ファイル（export file）」、「インポート（import）」も参照。


Project Builderにおいて、プロジェクトのエクスポートにより作成された共有可能な移植性のあるファイル。


1. 変数、定数、リテラルおよびそれらの値による操作を結合したPL/SQL構成体。
2.（Oracle Express） Express言語プログラム内で指定される1つ以上のデータ値。たとえば、式をプログラムまたは関数の引数として指定できる。式は次のいずれかである。

•	単一のリテラル値（10など）

•	1つ以上の値を含む変数または式

•	1つ以上の値を返す関数

•	変数、式または関数などの値を、算術演算子またはブール演算子と組み合せる計算


「ライブラリ（library）」を参照。


他のOracle製品により参照可能なANSI規格のSQL SELECT文。


（Oracle Express） ディメンション階層のレベルに対応する、関連のあるディメンション値のグループ。ファミリ内のディメンション値は、祖先、親、子および子孫としてお互いに関連付けることができる。次の例では、GEOGRAPHYディメンション内のディメンション値"France"についてのファミリ・リレーションを示す。


（Oracle Express） 特定階層のディメンション値のファミリを選択できる、「セレクタ」ダイアログ・ボックスのツール。ファミリには、1つの親とその子孫にあたるディメンション値すべてが含まれる。たとえば、GeographyディメンションにあるChicago市場レベル以下のファミリ・メンバーをすべて選択できる。


1. その中でデータの入力、編集および削除が可能なインタフェース要素。2. Graphics BuilderおよびReport Builderでは、特定の問合せ列のデータがどのように表示されるかを定義するレイアウト・オブジェクト。


Graphics Builderでは、独立データ（値）が横棒や線のようなチャート・フィールドとしてどのように表示されるかを決定する、属性およびプロパティの集合。


Project Builderにおいて、ファイル・システム内に格納されたファイルを示す、プロジェクト・ナビゲータ内のノード。たとえば、グローバルおよびローカル・レジストリ・ノードは、それぞれグローバルおよびローカル・レジストリ・ファイルに対応する。


塗り（色またはパターン）が適用される、オブジェクト内の領域。


グループによりデータが表示されることを制限する、PL/SQL関数または無名関数。


ローカル・エリア・ネットワーク上のコンピュータに対する外部からのアクセスと、ローカル・エリア・ネットワーク内から外部のコンピュータへのアクセスを規定するコンピュータ。


「分解オブジェクト（deconstructed object）」を参照。


子オブジェクトが移動またはサイズ変更される際に親オブジェクトのサイズ変更または縮小を自動的に行い、オブジェクトの位置変更やサイズ変更により影響される可能性のある他のレイアウト・オブジェクトの位置を調整するレイアウト・エディタ・モード。


ユーザーまたはクライアントからの入力に応答できるエンティティ状態。エンティティは、キーボード・フォーカスを持っていれば、ユーザーがキーを押したときにイベントを受け取れる。描画ビューは、描画フォーカスを持っていれば、描画に影響を与えるクライアント・ルーチンに応答できる。


パターンの黒い部分。フォアグラウンド要素に色を付けるには、「線カラー」パレットを使用する。


別の表の主キーを参照している、1つの表内の値または列。


Report Builderにおいて、ラベルがフィールドの左に、各レコードが別々の論理ページに表示される、デフォルトのレイアウト・スタイル。


Report Builderにおいて、ボイラープレートとフィールドを混在させ「ワード」ブレークで行を折り返すデフォルトのレイアウト・スタイル。


（フィールド・プロパティ） フィールドの値の表示状態を定義する設定。たとえば、書式マスクは、金額や日付の表示を指定するのに使用される。


オブジェクトのフォーマット属性の動的な変更を可能にするPL/SQL関数。


（Oracle Express） 値を生成するストアド計算、ストアド式またはストアド・プロシージャを表すデータベース・オブジェクトのタイプ。データ内の複雑なまたは頻繁に使用されるリレーションを、データ自体を再保存せずに定義および保存する方法は、式によって提供される。式を使用するたびに、値の生成に必要な計算またはプロシージャはExpressによって実行される。


PL/SQLのファンクションまたは式、ユーザー・イグジット、SQL文またはこれらのあらゆる組合せからそのデータを獲得するユーザー作成の列。


1.Graphics Builderにおいて、チャートの基本構造を定義するがデータの表示方法は決定しない、チャート・テンプレートの一部。
2.Report Builderにおいて、他のレイアウト・オブジェクトを囲み複数のオブジェクトのフォーマット、周期および位置を同時に制御するのに使用されるレイアウト・オブジェクト。


アクションの指定されたシーケンスを実行して値を返すPL/SQLサブプログラム。クライアントおよびデータベース・サーバーに存在し、実行することができる。


アプリケーションを、ランタイム実行可能プログラムおよびバッチ実行可能プログラムで実行できるバイナリ形式でファイルまたはデータベースに保存すること。


実行可能なForm Builder。アプリケーションをバイナリ形式でファイルやデータベースに保存するときに使用される。


Forms DeveloperおよびReports Developerインストールの全体に共通した情報を格納するProject Builderレジストリ。この情報は、タイプ定義と、それに関連付けられたアクションおよび、事前定義済みまたはユーザー定義のプロパティに限られる。グローバル・レジストリの使用はオプションである。グローバル・レジストリのファンクションは、個々のユーザー・レジストリにより実行することができる。「レジストリ（registry）」、「ユーザー・レジストリ（user registry）」も参照。


アプリケーション内に存在する論理コンテナ。アプリケーションがグローバル変数を使用する場合、その変数は、アプリケーションを終了するまで、または別のオブジェクトがその変数を明示的に削除するまで、保持される。


ユーザーに、モジュールに対するアクセス権限を与える。アクセス権限を他のユーザーに付与できるのは、モジュールの作成者のみである。


Graphics Builderでは、レイアウト・エディタ内の行と列を分離する線。


1. いくつかの他のオブジェクトから構成されているオブジェクト。
2. Report Builderにおいて、問合せにより選択されているすべての列を含むため自動的に作成されるか、レポート内に現れるデータの階層を変更するためにユーザーにより作成されるデータ・モデル・オブジェクト。主に、レポート内でのブレークの作成と計算のリセットに使用される。
3.Project Builderにおいて、ランチャ外のサブメニューを介して利用できる関連項目の集合。グループによりユーザーは、他の項目またはグループ（あるいはその両方）を表示するためにポップアップする任意の「グループ」をエントリとして、ランチャをWindows95の「スタート」メニューに似せてセットアップできる。たとえば、ユーザーはプロジェクト計画、作業リスト、コンポーネント仕様などを含む「Project Docs」というグループを定義し、.TXTファイルや.DOCファイルなどを含めることができる。


グループによりフェッチされるデータを制限するPL/SQL関数。


「ファミリ・ツリー」に類似した階層モデルで、グループ・オブジェクトとそれらを構成するオブジェクトの関係を表す。


グラフィカル・ユーザー・インタフェース。プログラムの入出力を表す以外に、ピクチャを使用することを意味する。GUIのあるプログラムは、ウィンドウ・システム（X Windows、Microsoft Windows、Apple Macintoshなど）上で稼働する。GUIプログラムは、アイコンやボタンなどを画面上のウィンドウに表示する。ユーザーは、GUIプログラムを主に画面上のポインタ（通常マウスで制御される）を移動して制御する。ビットマップ・インタフェースとも呼ばれる。


アプリケーション・オブジェクトに対する内部ポインタ。PL/SQLプログラム単位内のオブジェクトを参照するには、適切なサブプログラムに、引数としてそのハンドルを渡す必要がある。


テキスト、図形、データ、計算など、レポートの紹介内容を入れることができるオプションのレポート領域。レポートには、ヘッダーが最初に表示され、ボディとトレーラがそれに続く。


レポート内に含めたりレポートに関連付けることができるオブジェクトのタイプを示す、オブジェクト・ナビゲータ内のノード。ヘッダー・ノードを選択しても、レポート内のオブジェクトは選択されない。


（フィールド・プロパティ）  Report Builderが、示されたフィールドをレイアウト内のその位置で禁止するかどうかを指定するプロパティ。「非表示」が指定されると、フィールドの値は（&fieldnameにより）テキスト・オブジェクト内で参照される位置のみ表示される。


（Oracle Express） データを編成および構造化するための方法。ディメンション内の値が複数のレベルに配置され、各レベルがその下位レベルからのデータの集約合計を表している場合、階層が存在する。一部のディメンションは、それらに基づく複数の階層を持つ。

次の例は、GEOGRAPHYディメンションに基づく階層を示す。ここでディメンション値は、5つのレベルで配置されている。CustomersレベルのデータはCitiesレベルに集約され、Citiesレベルのデータは、Countries/Areas、Continents/RegionsおよびGlobalの各レベルに集約される。


Hypertext Markup Languageの略称。インターネット上のWebサーバーの他のドキュメントに対するコンテンツとリンクを指定するのに使用される、タグ・ベースのASCII言語。エンド・ユーザーは、WebブラウザによりHTMLドキュメントを表示させ、リンクに従って他のドキュメントを表示させる。


Hypertext Transfer Protocolの略称。WWWブラウザを有するコンピュータとアクセスされるWWWサーバー間のWWW通信データを搬送するのに使用されるプロトコル。


1つの文書のある位置から、別のドキュメント（のある位置）や同じ文書内の別の場所への参照（リンク）。Webブラウザでは、通常区別ができる方法（異なる色、フォント、スタイルなど）によりハイパーリンクが表示される。ユーザーが（マウスをクリックして）ハイパーリンクを実行すると、ブラウザがリンク対象を表示する。


クロス・リファレンスを含むドキュメントの集まりであり、これを使用するとWebブラウザによりドキュメント間の移動を簡単に行うことができる。


Webブラウザを使用することにより、ドキュメント間を簡単に移動できるクロス・リファレンス。


インタフェースC定義。Cにインプリメントされた機能に対するPL/SQLアプリケーションのプログラミング・インタフェース。


ウィンドウやツールの図形表示。


アプリケーションに保管およびロードできるビットマップ・オブジェクト。クライアントは、インポートされたイメージを変更できない。


Project Builderでは、Project Builderが認識し自動的にプロジェクト・ナビゲータ内にそのエントリを作成するプロジェクト項目であり、通常自動生成の結果である。たとえば、Project BuilderはCソース・ファイルのコンパイルの間に中間ステップとして生成される、 OBJファイルを認識し、それらのエントリをプロジェクト・ナビゲータ内に作成できる。暗示項目のプロパティのリセットは使用が制限されているが（次のコンパイルが変更を破棄する）、編集、ビュー、印刷のようなアクションを介して確認できるため、このような項目は便利である。「項目（item）」、「アクション（action）」も参照。


1. モジュールをファイル・システムまたはデータベースから読み込み、それをアプリケーションに取り込むこと。
2.プロジェクト情報が入ったファイルを読み込むこと。


その値について他のデータに依存しないデータ。たとえば、ある従業員の名前が値Jonesで、これは他の従業員名や関連データの値とは無関係であるなど。項目データとも呼ばれる。


表に関連するオプション構造であり、Oracle Serverにより表の行の位置を素早く確かめ、（オプションとして）それぞれの行が他と重複しないことを保証するために使用される。


Project Builderにおいて、依存性ツリー内の祖先ノードからアクション、タイプ、マクロまたはプロパティ定義の情報を取得すること。上位ノードに関連属性がある場合、それらの属性は継承できる。したがって、フォームや文書のようなファイル・システム項目がサブプロジェクト、プロジェクト、ユーザー・レジストリ、グローバル・レジストリからアクション定義を継承したり、プロジェクトがローカルまたはグローバル・レジストリからタイプ定義を継承する、などの場合がある。


枠の厚みや他の属性設定にかかわらず、オブジェクトの理想的な形を構成し、その4つの制御ポイントを接続する仮想の四角形。


ターゲットの構築に使用されるファイル。たとえば、.FMBは.FMXの入力となる。ソースともいう。


入力する各文字が、カーソル位置以降の文字を右に移動させてその位置に挿入されるモード。置換モードの反対。


世界的な、コンピュータのTCP/IPベースのネットワーク。


PL/SQLソース、Procedure BuilderコマンドおよびSQL文のあらゆる組合せが入ったファイル。


内部的なTCP/IPネットワークであり、これに対するアクセスは（ファイアウォールにより）企業や組織内の人物に制限されている。イントラネットは、インターネットが提供するサービスと類似したものを組織内に提供するが、インターネットに接続される必要は必ずしもない。企業内で情報やアプリケーションの配布のため、内部ネットワーク上に1つ以上のWebサーバーをセットアップするのはイントラネットの一般的な例である。


インターネット上のコンピュータを個別に識別する4つの部分をもつ数値で、それぞれの部分は3桁以下である。


Project Builderでは、フォームやドキュメントなど、そのオブジェクトに関連するファイル・システム内のオブジェクト。プロジェクト・ナビゲータ内のノードにより指定または参照される。


Project Builderでは、「プロジェクト・ナビゲータ」ウィンドウ内のエントリで、アイコンおよび内容を示すタイトルから構成される。ノードは、「Form Builder」ファイルおよび文書などのファイル・システム内の実際の項目を持つ。「ノード（node）」、「項目（item）」も参照。


Java ARchiveの略称。多くのファイル（Javaのクラス・ファイル、イメージなど）を1つのファイルに集めるのに使用されるファイル。


インターネット用のプログラミングをプラットフォーム独自の「アプレット」の形でサポートするコンピュータ言語。


2つ（以上）の表のデータを1つのSELECT文内で結合すること。


「配置（alignment）」を参照。


1. 対応する引数と共に指定する必要があるコマンド・ライン構文の一部。

2. PL/SQL構成体に必要な部分の1つ。


アプリケーションの仮想オブジェクトの値または意味を示すテキスト。


（Oracle Express） ディメンション階層内の位置。ベース・レベルより上の各レベルは、それより下のレベルからのデータの集約合計を表す。たとえば、TIMEディメンションには、MonthやQuarterなどの昇順レベルを持つ場合がある。ディメンション階層内では、1つのレベルのディメンション値は、そのレベルより上または下のレベルのディメンション値とファミリ・リレーションを持つ。


（Oracle Express） 特定階層内のレベルに基づいてディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、GeographyディメンションにあるKey Accountレベルのすべてのディメンション値を選択するといった操作もできる。


オブジェクトの作成、変更、位置付けまたは削除ができるエディタ領域。


異なる表示デバイス間で一貫した測定システムを使用するための寸法の単位。レイアウト上の位置またはオブジェクトの寸法を指定するのに使用される。


SQL SELECT文のテキスト文字列を示すのに使用されるパラメータへの参照。字句参照の際には、パラメータ名の前にアンパサンド（&）を付ける必要がある。


クライアントのファイル・システムまたはデータベースのファイルにともに保管された1つ以上のPL/SQLプログラム単位の集合。ライブラリに保管されたプログラム単位は、複数のアプリケーションから一度に参照できる。ストアド・プログラム単位（データベースに保存され、実行される）とは異なり、ライブラリ内のプログラム単位は、常にクライアント側のPL/SQLエンジン内にロードされ、実行される。ライブラリに保管されたプログラム単位を参照するには、まずライブラリを連結する必要があります。｢連結したライブラリ（attached library）」も参照。


グループと問合せ間でマスター/ディテール（親子）関係を定義するのに使用されるデータ・モデル・オブジェクト。


ボイラープレート・オブジェクトが関連付けられているファイルの名前。実行時に、Report Builderはファイルの内容をレポート・レイアウト内にインポートする。


ダイアログ・ボックス内の項目リスト。通常、リスト・ボックスは選択肢を提供し、スクロールできる。


Form Builderにおいて、選択肢の一覧を表示する項目。


LOVともいう。1列または複数列の選択リストを提供する、スクロール可能なポップアップ・ウィンドウ。


（Oracle Express） ディメンション内で現在選択されている値のリストからディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。


1. アプリケーションを実行するコンピュータ上のデータベース。2. アプリケーションが接続されているデータベース。このデータベースは、アプリケーションによって生成されるすべてのSQL文を解析し、実行する。


「ユーザー・レジストリ（user registry）」を参照。


現行のプログラム単位のスコープ内でのみ宣言されるPL/SQL変数。


（Oracle Express）

Not	Unary Not -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される（1の補数）。

And	And -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。

Or	Inclusive Or -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。

Xor	Exclusive Or -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。

Eqv	Equivalence -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。（A Eqv B）は（Not (A Xor B)）と同じ。

Imp	Implication -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。（A Imp B）は（(Not A）OR B）と同じ。


実際のレポートの1ページ（1つ以上の物理ページに表示される可能性がある）。


PL/SQLサブプログラムでは、 条件が一致しなくなるまで繰り返される条件文。


Project Builderにおいて、アクションのカスタマイズや拡張に使用できる型独自の変数。マクロは、定数または単純な式（これはまた、別の定数または式、あるいはその両方を含む場合がある）の形をとる。マクロを使用すると、コマンド・オプションの発行、およびユーザーがプロパティ定義を1つ変更して行うコマンド・セットの変更の自由度が、大きく高まる。


ページ上の1つ以上の列にレコードを表示する、デフォルトのレイアウト。フィールドは、1つの繰返し枠内で、互いのすぐ下に表示される。


ボディ領域の各論理ページの最上部と最下部にあるオプションのレポート領域。マージンは、任意のレイアウト・オブジェクトを含むことができるが、一般には、ボイラープレートと（ページ番号、総ページ数、総計、現在の日付と時刻のための）フィールドを含む。


ディテール・レコードがマスター・レコードの下に表示される、デフォルト・レイアウト。マスター・レコードは、フォーム・レイアウト・スタイルで表示され、ディテール・レコードは、表形式のレイアウト・スタイルで表示される。


（Oracle Express） ディメンション値の名前に含まれる文字をユーザーが指定する文字に一致させることにより、ディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、BrandレベルのProductディメンションで、"new"という文字を含むすべてのディメンション値を選択できる。


繰返し枠の各レコードをマトリックスのセルとして表示する繰返し方向。


マトリックス・レポートに必要な4つのデータ・セットをフォーマットする、格子に類似したデフォルト・レイアウト。この4つのデータ・セットは、ラベルの行として表示されるセット、ラベルの列としてのセット、格子を作成するセットおよび格子のセルに入るセットがそれぞれ1つずつである。


4つのデータ・セットのクロス・タブ。1つのデータ・セットはページの横方向に表示され、1つはページの縦方向に表示される。1つは、横方向と縦方向のデータが交わることが可能なすべての位置を決定し、それらの位置にセルを配置するクロス積である。もう1つは、セルの「フィルタ」として表示される。1つのデータ・セットはページの横方向に表示され、1つはページの縦方向に表示される。1つは、横方向と縦方向のデータが交わることが可能なすべての位置を決定し、それらの位置にセルを配置するクロス積である。もう1つは、セルの「フィルタ」として表示される。


（Oracle Express） 販売データやコスト・データなど、調査および分析できるデータ。ある基準内のデータを選択および表示できる。基準は、変数やリレーションとして格納したり、式を使用して計算したりできる。


1,048,576（1024x1024）バイトに等しいメモリーの単位。多くの場合、100万バイトに切り捨てられる。


最後のアクションのために発生した状況を通知するモーダル・ウィンドウ。メッセージ・ボックスには応答する必要がある。


オブジェクト・タイプ定義によってOracle8に連結された実行可能コード。


アプリケーションが継続する前にオペレータからの応答を引き出すウィンドウ。


ランタイム・ウィンドウ・マネージャがサポートできる量と同じ量の機能をもてる制限のないウィンドウ。


1. 複数のアプリケーションにより共有できるオブジェクト。外部問合せやPL/SQLライブラリは、モジュールの例。2. Form Builderでは、アプリケーションの主要なコンポーネント（メニュー・モジュール）。


いくつかの行に渡るウィンドウ内のフィールド、またはダイアログ。情報を垂直にスクロールさせることが可能である。


（Oracle Express） データが"使用できない（"not available"）（NA）ことを示す特別なデータ値。NAは、特別なデータ値が割り当てられていないまたはデータを計算できない任意のセルの値である。


横方向または縦方向（あるいはその両方）のディメンションに1つ以上のマスター/ディテール関係が含まれるマトリックス・レポート。ネストできる量に制限はない。


データ上のページが（フェッチしてからフォーマットされるまでキャッシュするのではなく）、フォーマットされてからフェッチされるデータ型。


1.  オブジェクト・ナビゲータのオブジェクト階層内の特定の位置。ノードは、他のオブジェクトへのクロス・リファレンスなどのオブジェクトの情報を表示するために拡張できる。2.  Project Builderにおけるプロジェクト・ナビゲータ内のエントリ。「項目（item）」、「項目ノード（item node）」および「編成ノード（organization node）」も参照。


データ型NOCACHEのデータベース列を参照するレポート列。


値がないこと。


（Oracle Express）

^	指数

-,+	単項のプラスおよびマイナス

*, /	数値乗算または除算。除算の場合、結果はDOUBLE型。

\	整数の除算。オペランドはＩNTEGER型またはLONG型。

Mod	係数または剰余。オペランドはＩNTEGER型またはLONG型。

-, +	数値の加算と減算。+演算子は文字列の連結にも使用できる。


1.  レイアウト上に配置できる項目。オブジェクトの例は次のとおり。四角形および、線、楕円、円弧、多角形、折れ線、丸い四角形、手書き、チャート、テキスト、記号、テキスト・フィールドなどのオブジェクト。

2. Oracle8では、オブジェクト・タイプのインスタンス。オブジェクトは、オブジェクト表内の行であったり、リレーショナル表内の列オブジェクトに含まれる行の一部であったりする。


「列オブジェクト（column object）」を参照。


関連するオブジェクトのコピーや参照を行う機能の提供に使用する、オブジェクト・グループのコンテナ。


「ハンドル（handle）」を参照。


現行セッションのオブジェクトの階層リストが入ったウィンドウ。リストはアウトライン形式で表示され、ユーザーはオブジェクトの作成、編集、改名および削除などの複数の作業を実行できる。


Oracle8において、定義がオブジェクト・タイプに基づいている表のこと。オブジェクト・タイプ内の各属性は、オブジェクト表内の列になる。表内の各行は、個々のOracle8オブジェクトである。


Oracle8において、オブジェクト作成の基盤となる、ユーザーが提供する定義またはテンプレート。オブジェクト・タイプは複合であり、その構成要素が属性である。各属性は名前とデータ型を持ち、オブジェクト・タイプ全体として名前を持つ。オブジェクト・タイプには1つ以上のメソッドが含まれる場合もある。


Open Database Connectivityの略称。異なるデータベース・システムをアクセスするための基準。アプリケーションは、SQLのODBC仕様によりODBCに対し文を送ることができる。ODBCはその文をデータベースが理解できる仕様に変換する。Oracle Open Client Adapter（OCA）により、アプリケーションは異なるデータベース管理システムを一貫した方法でアクセスできる。このためアプリケーション開発者は、特定のDBMSを対象とすることなくアプリケーションの開発、コンパイルおよび実行を行うことができる。


Object Linking and Embeddingの略称。


OLEオブジェクトの保管と表示が可能なアプリケーション。


OLEオブジェクトを作成するアプリケーション。


「ビルトイン・データ型（built-in datatype）」を参照。


Oracle製品のルート・ディレクトリを示す環境変数。


ナビゲータの設定や子項目のファイル・タイプの指示に役立つ、「タイプ」、「プロジェクト」、「フォーム・ファイル」などのプロジェクト・ナビゲータ内のエントリ。これはまた、特定のタイプのファイル・システム・オブジェクト内のデータ構成体に対応する。


x座標とy座標により示される。ビューの原点は、その親のキャンバス上のビューの位置を示す。キャンバスの原点は、描画ビュー上の描画の位置を示す。


オブジェクトを完全に囲む最少の仮想の四角形。


オブジェクトの内容が現行の論理ページに入りきらない状態。オーバーフローが発生すると、内容の一部が次の論理ページに移される。


プログラム単位内のあらゆる位置で参照可能な、ソフトウェアで提供されるPL/SQL関数。


関連するプロシージャ、ファンクション、変数およびその他のパッケージ要素をデータベースまたはクライアント内に1つの単位としてカプセル化し保管する方法。パッケージにより、データベース管理者やアプリケーション開発者の、編集作業が容易になると同時に、機能性とデータベースのパフォーマンスも向上する。ソフトウェアでは、クライアント側のプログラム単位によって参照されるPL/SQL構成体を含むビルトイン・パッケージがいくつか提供されている（TEXT_IOパッケージなど）。いくつかのパッケージには、ストアド・プログラム単位の参照用にOracleデータベース・サーバーも提供されている（DBMS_OUTPUTパッケージなど）。


パッケージの実際のインプリメンテーションを含む。これは、個別のサブプログラムおよびデータ型を含む場合がある。パッケージが宣言のみで構成される場合、本体はオプション。


パッケージに対する公開インタフェース（他のプログラム単位により参照可能なデータ型およびサブプログラム）を宣言する。


（Oracle Express） 1. レポート内に含まれる1つのデータ。追加ページによって追加データが表示される。

次の図は3ページ分のデータを示す。

2. Expressにおいて、ページはExpressデータベース内の格納単位も意味する。


（Oracle Express） 問合せについて選択したデータがスプレッドシート内でどのように表示されるかを表したもの。ページ・レイアウトによって、「横」、「縦」および「ページ」の3つの枠が表示される。問合せによって定義されるマルチディメンションのデータキューブが、2次元のスプレッドシート内でどのように表示されるかが、これらの枠によって示される。ディメンション・タイルには、ディメンションの名前と位置が表示される。「横」枠上のディメンションは、このディメンションが列として表示されることを意味する。「縦」枠上のディメンション・タイルは、このディメンションが行として表示されることを意味する。「ページ」枠上のディメンションは、このディメンションが結果の最上部にあるページ・ボックス内に表示されることを意味する。


現行のオブジェクトとその子を次の論理ページに移動するかどうかを制御する設定。レポート出力に現行オブジェクトが表示される前または後に、ページ・ブレークが発生するように設定できる。


エディタ内で利用できるツール、色またはパターンを表示するインタフェース要素。


作業が行われる、エディタの固有の位置で、通常サイズの変更が可能。


1つの論理ページを印刷するのに必要な物理ページの数。


1. 情報をサブプログラムに渡すのに使用されるPL/SQL構成体。たとえば、サブプログラム・コールMYPROC（x）では、xがパラメータ。2. Forms Developerでは、パラメータは情報をForm BuilderやGraphics Builderなどのコンポーネント間で渡すのに使用される。3. 実行時に変更可能な変数。


Forms Developerコンポーネント間で情報を渡すのに使用される、パラメータ名と関連する値のグループ。


1. そのグループ・ツリー内のあるオブジェクトのすぐ上位のオブジェクト。グループ・オブジェクトは、それを構成する各オブジェクトの親である。どのオブジェクトも、その子の親になる。
2.（Oracle Express）階層内において特定値のすぐ上のレベルにあるディメンション値。親値は、その子の値の集約合計である。次の例は、GEOGRAPHYディメンションにおいて、"Lyon"と"Paris"の親としてのディメンション値"France"を示す。


クリップボードの内容（カットまたはコピーされたオブジェクト）を現行のカーソル位置に入れること。


ほとんどのオブジェクトの枠または塗りに適用できる、図形プロパティ。


コンパイルされたプログラム単位に対するマシン・コードまたは指示リスト。


Portable Document Formatの略称。ドキュメントの作成に使用された元のアプリケーション・ソフトウェア、ハードウェアおよびオペレーティング・システムとは無関係にドキュメントを表現する（Adobe Acrobatに固有の）ファイル形式。PDFファイルは、テキスト、図形およびイメージのあらゆる組合せが入ったドキュメントを、デバイスや解像度から独立した形式で表現できる。


プリンタに出力されるページのサイズ。


横棒、線、記号のような、チャート上のフィールドの表示に使用される要素のタイプ。


SQL言語に対するOracle専用の拡張。SQLに対しアプリケーションの記述に適するようにプロシージャ型構成体やその他の構成体を追加している。


Procedure Builderインタプリタのスクリプト・ファイル。


ソース・コードとコンパイル済みコードを含むPL/SQLライブラリ・ファイル。ファイルはProcedure Builderでオープンして編集できる。


1つのプログラム単位のPL/SQLソースを含むテキスト・ファイル。


実行可能コードのみを含むランタイムPL/SQLライブラリ・ファイル。ファイルをProcedure Builderでオープンして編集することはできない。


ユーザーが特定のアクションを実行する際にポップアップするリスト。


転送されたデータと特定のプログラム間の経路を定めるためにTCPが使用する番号。


Project Builderに付属しておりメニュー項目またはツールバー・ボタン（あるいはその両方）で自動的に利用できるアクション。事前定義済みアクションには、「ビルド」および「配布」、複数のソース制御オプションが含まれる。事前定義済みアクションは、サポートされているファイル・タイプに定義されると、Project Builderからコールすることにより、そのタイプの任意の選択項目に対して起動される。「アクション（action）」、「ユーザー定義アクション（user-defined action）」も参照。


「ビルトイン・データ型（built-in datatype）」を参照。


アプリケーションのインタフェースの動作に影響する設定。


（Oracle Express） 現行の基準を受け入れる場合に生成されるスクリプトを表示する。任意の「セレクタ」ツールのダイアログ・ボックスでは、「プレビュー」ボタンを選択することにより、選択項目のプレビューを表示できる。


レポート出力のアウトラインを表示しスクロールできるインタフェース。


表内の行の識別に使用できる一意の値で内容が構成された、データベース表内の列。


「ビルトイン・データ型（built-in datatype）」を参照。


プリンタ定義ファイルでは、レポート内で参照できるプリンタ・コードを割り当てるエスケープ・シーケンス。


プリンタ定義がテキスト形式（ASCIIやEBCDICなど）で入ったファイル。


指定されたアクション・シーケンスを実行するPL/SQLサブプログラム。クライアントおよびデータベース・サーバーに存在し、実行することができる。


PL/SQLコンパイラが独自に認識して処理できるPL/SQLコード構造。無名ブロック、サブプログラムの仕様部と本体（プロシージャおよびファンクション）、パッケージの仕様部と本体などがある。プログラム単位は、クライアントおよびデータベース・サーバーに存在し、実行できる。｢ストアド・プログラム単位（stored program unit）｣も参照。


Project Builderにより作成される基本的なデータ構造。プロジェクトは、アプリケーションの一部と見なしている、または概念的にグループ分けするすべてのファイルに対するポインタの集合である。エディタ、コンパイラまたは他のツールを定義して、プロジェクト内に含まれる項目を操作できる。すべてのプロジェクト情報はプロジェクト・レジストリ内に格納される。「プロジェクト項目（project item）」、「プロジェクト・ファイル（project file）」および「エクスポート（export）」も参照。


Project Builderにおいて、プロジェクト・ファイルは、アプリケーションに関連付けられたすべてのファイルを指す。プロジェクト・ファイルには、フォーム、レポート、ディスプレイ、3GLモジュール、ドキュメントおよびテスト・スクリプトを含む、あらゆるタイプがある。「プロジェクト（project）」、「プロジェクト項目（project item）」も参照。


Project Builderにおいて、プロパティを定義できるすべての項目を指す。これには、「プロジェクト」ノード下に格納されたすべてのエンティティ、タイプ、アクションおよびマクロも含まれる。「プロジェクト（project）」、「プロジェクト・ファイル（project file）」も参照。


現行セッションのプロジェクト項目の階層リストを含むウィンドウ。リストはアウトライン形式で表示され、ユーザーはオブジェクトの作成、編集、改名および削除などの複数の作業を実行できる。いつでも表示できるのは1つのみだが、オブジェクトの編成に使用される2つの異なるスキーマから選択できる。


プロジェクトのトップ・レベルのノード。プロジェクト・ファイルを表示または指示する。「プロジェクト（project）」、「プロジェクト・ファイル（project file）」も参照。


Project Builderにおいて、プロジェクトに関連付けられたすべての情報を格納するファイル。プロジェクトに属するファイル、タイプ、アクションおよびプロジェクトについて定義されたマクロなどが含まれる。プロジェクトに属するファイル、タイプ、アクションおよびプロジェクトについて定義されたマクロなどが含まれる。


プロジェクト表示は、タイプ、およびプロジェクトとサブプロジェクトの関係により編成されるオブジェクトを表示する。プロジェクトは、プロジェクト・ファイルごとにアルファベット順に編成されてから、カテゴリごとにアルファベット順に編成される。「依存性表示（dependency view）」、「プロジェクト（project）」、「プロジェクト・ファイル（project file）」、「ビュー（view）」も参照。


ユーザーが新規プロジェクトまたはサブ・プロジェクトの作成に必要なステップを完了するのを支援するダイアログ。


オブジェクトの動作または外観を決定する、オブジェクトの特性。


クラスに基づいたオブジェクトの外観と機能性をグローバルに制御するために使用するプロパティとその設定のリストを含む、ユーザー命名オブジェクト。


データベースまたはサーバーに接続する際に入力できる文字列で、リモート・データベースまたはサーバーへの接続を可能にする。


（Oracle Express） 基準内のいずれかのディメンションの値を選択するとき、その基準を構成する他のディメンションは修飾ディメンションと呼ばれる。

「販売」基準が「製品」、「月」および「地域」別にディメンション化されていると仮定する。「販売」に基づく上位10都市を選択する場合、「販売」値を比較するには、比較の対象となる製品と月も指定する必要がある。この場合、「製品」と「月」は、修飾ディメンションである。


データベースの1つ以上の表またはビューから検索するデータを指定する、SQL SELECT文。


実行時に、問合せにより取り出されたデータのフィルタリングを行うPL/SQL関数。ファンクションの条件を満たすデータのみをチャートにする。


現行セッションを終了しユーザーをオペレーティング・システムに戻すオプション。一部のシステムでは、「終了（Quit）」は「終了（Exit）」になる。


2つ以上のセットで表示される（チェックボックスに類似した）制御であり、一定の時間において「オン」または「オフ」となるのはそのうちの1つのみである。


2つ以上のラジオ・ボタンのセットであり、一定の時間において「オン」または「オフ」となるのはそのうちの1つのみである。


（Oracle Express） 連続する時間間隔をディメンション値として選択できる「セレクタ」ダイアログ・ボックスのツール。これらの時間間隔は、次のいずれかを基準にすることができる。

•	最も最近の時間間隔の具体的な数

•	開始時間間隔と最も最近の時間間隔

•	開始および終了の時間間隔

たとえば、1996年11月25日で終わる週から、1996年12月30日で終わる週までの範囲で、ディメンション値を選択するといった操作もできる。


RSA Data Security, Inc.により考案された暗号法であり、任意の長さのキーを認める。これは基本的に、暗号データを作成するためにデータ・ストリームにより排他的論理和が行われているジェネレータの出力を使用する、偽のランダム番号のジェネレータである。このため、2種類のデータ・ストリームを暗号化するのに同じRC4キーを使用しないように十分注意する必要がある。


Relational Databasse Management System（リレーショナル・データ・モデルに基づいたデータベース管理システム）の略称。データ構造、格納と検索操作、および整合性制約の定義が行うことができるデータベース。このようなデータベースでは、データとそれらの間の関係は表で編成される。


単一のバイナリ形式のレポート定義を含むファイル。.RDFファイルは、レポートの実行と編集の双方に使用される。


単一のバイナリ形式のレポート定義を含むファイル。.repファイルは、レポートの実行にのみ使用される。.repファイルを編集できない。


ある時点において、データベース全体でデータを問い合わせる能力。


SQL SELECT文によりフェッチされる1行。


列と行構造による内部的なデータ構造オブジェクトで、それらが定義されるフォーム・モジュールに属する。


他の列オブジェクト内またはオブジェクト表内のデータを参照する列のタイプ（Oracle8）。


チャート上の指定された値の位置に表示される線。


（Oracle Express） 問合せ結果をレポートに表示した後、Expressデータベースから最新のデータをフェッチする。保存されたExpress問合せをオープンすると、結果は自動的にリフレッシュされる。


タイプまたは新規プロジェクトの定義をグローバル・レジストリまたはローカル・レジストリに追加すること。登録されると、新規のタイプにはアクションを定義でき、新規のプロジェクトでは参照ファイルを特定のタイプとして識別させ、そのタイプに対してアクションを起動できる。「レジストリ（registry）」も参照。


プロジェクト定義および環境情報を格納した、グローバルな構造ファイルまたはユーザー固有の構造ファイル（あるいはその両方）。「グローバル・レジストリ（Global Registry）」、「ユーザー・レジストリ（user registry）」も参照。


"WHERE DEPTNO = 10"内の等号など、2つの値間の比較を示す検索条件に使用される記号。比較結果が"TRUE"となる行は結果が返され（フェッチされ）、比較結果が"FALSE"となる行は結果は返されない。


コンピュータ上の、ローカル・データベース以外のデータベース。通常、同じネットワーク上にあるが、ノードが異なるコンピュータ（つまり、データベース・リンクを介して使用するデータベース）。


グループのためにフェッチされるデータ行の表示に使用されるレイアウト・オブジェクト。


入力する各文字がカーソル位置の現行の文字を置換するモード。挿入モードの反対。


レポートのデータ・モデルとレイアウトの定義に使用されるオブジェクト。レポート・レベルのオブジェクトは、1つのレポートに割り当てられ、他のレポートまたは他のOracle製品とは共有できない。オブジェクトには、レポート、問合せ、外部問合せ、外部PL/SQLライブラリ、グループ、列、パラメータ、リンク、枠、繰返し枠、フィールド、ボイラープレートおよびアンカーが含まれる。


Windows NTおよびWindows95でのみ利用可能。コマンド・ラインがレポートを実行するのを待機し、ローカル・サーバー上のバックグラウンドで実行するためそのレポートをそのキューに入れる。通常コマンド・ラインは、RUN_PRODUCTを介してForm BuilderまたはGraphics Builderから、あるいはSRW.RUN_REPORTを介して別のレポートから受け取られる。RWISV60を使用し、レポートをReportsバックグラウンド・エンジンに送ることもできる。


タイムスタンプおよびReports Serverにより管理されるレポートに関するステータス情報をメンテナンスする。


Windows NT、Windows95およびUNIXで利用可能。リモート・サーバー上でのレポートの実行を可能にする。ジョブ要求をキューに登録し、レポートをいつ実行するか計画できる。レポートをReports Serverに送るには、RWCLI60を使用する。


WebサーバーとReports Runtime間のインタフェースを提供し、レポートをWebブラウザから動的に実行することを可能にする。


WebサーバーとReports Serverの間の接続を提供する。


テキスト形式（ASCIIやEBCDICAなど）で格納された、レポート定義を含むファイル。.REXファイルは、レポートを1つのプラットフォームから別のプラットフォームに移植するのに使用する。.REXファイルは、現時点では必要ではないことに注意する。このファイルは、下位互換性のために利用できる。


色のコンポーネント、赤、緑および青の濃度を示す。


アプリケーション内の他のすべてのオブジェクトが属するグループ・オブジェクト。


ユーザー環境を表す、プロジェクトの最上位のノード。デフォルトの設定にどのレジストリが選択されているかによって、ユーザー・レジストリまたはグローバル・レジストリに対応する可能性がある。


1. 表内のフィールド値の1組。たとえば、サンプル表EMPにおける1人の従業員を表すフィールド。

2. アプリケーションのランタイム・バージョンを生成する。


Oracle8オブジェクト表内のオブジェクト。表内の各行がオブジェクトになる。ただし、Forms Developerにおいて、オブジェクト表は個々の列に分解されるため、行オブジェクトは1つのエンティティとして存在しない（個別の属性としてのみ存在する）。


アプリケーションまたはプログラム単位のランタイム・バージョンを実行する。


リッチ・テキスト形式の略称。プラットフォームに特定されないファイル形式で、書式化されていないテキストやイメージをさまざまなアプリケーションおよびオペレーティング・システムで表現するのに使用される制御文字に基づいている。RTFは、ANSI、PC-8、MacintoshまたはIBM PCのキャラクタ・セットを使用して、スクリーン表示や印刷において文書の表現と書式化を行う。


「REPファイル（rep file）」を参照。


ユーザーがその中でランタイム・アプリケーションの表示とランタイム・アプリケーションとの対話を行うインタフェース。


実行時にオプションで表示される画面またはウィンドウであり、この中でユーザーはレポートの実行に先立ち印刷オプションやパラメータの変更を行うことができる。


（Oracle Express） 値のリストまたはスクリプトとして保存された一連のディメンション値。ユーザーは自分で作成した選択項目を保存したり、データベース管理者は保存済みの選択項目を作成して、ユーザーが利用できるように提供できる。

保存済みの選択項目は時間短縮の機能を果たす。つまり、選択項目を再利用する必要があるたびに、保存された選択項目を再作成することなく、取り出すことができる。つまり、選択項目を再利用する必要があるたびに、保存された選択項目を再作成することなく、取り出すことができる。


（Oracle Express） 保存されたディメンション値の選択項目を取り出すことのできるセレクタ・ツール。


通常データベースのユーザーIDによりグループ化されている、関連するデータベース・オブジェクトの集まり。スキーマ・オブジェクトには、表、ビュー、順序、ストアド・プログラム単位、シノニム、索引、クラスタおよびデータベース・リンクが含まれる。


オブジェクトが作動するレベルまたは範囲。Project Builderでは1. コンパイル可能なプロジェクト項目に対して起動された「ビルド」および「すべてをビルド」コマンドによって、影響されるファイルの範囲を記述する。

2. 継承可能な定義によって影響されるファイルの範囲を記述する。


「SQLスクリプト（SQL script）」、「インタプリタ・スクリプト（Interpreter script）」を参照。


Report Builderにおける同一レポート内の複数のレイアウトのいずれかで、それぞれ異なる対象読者、出力形式、ページ・レイアウト、ページ・サイズまたは印刷の向きを持つ。たとえば、1つのレポートで、あるセクションには上級管理職向けの業務要約を記載し、別のセクションには個々の管理者用の詳細な業務分析を記載できる。


1つ以上の表またはビューからどの行と列をフェッチするかを指定するSQL文。


（Oracle Express） ディメンションについて現在選択されている一連のディメンション値またはそれらの値を指定するための条件や基準を含むスクリプト。


（Oracle Express） セレクタ内のさまざまなダイアログ・ボックスで表示される、ディメンション値の選択において、ユーザーが選択した項目の説明。Express言語スクリプトを通常の言語で翻訳したもの。


（Oracle Express） レポート、表、グラフまたはディメンションの各リスト・ボックスに含めるディメンション値を選択するための一連のツール。たとえば、セレクタを使用すると、「販売」に基づく上位10都市を選択したり、「販売」が「割当額」を15パーセント超えた上位10都市を選択できる。セレクタを使用することにより、ディメンション値のソート、および保存済み選択項目の作成と取出しも行うことができる。


（Oracle Express） ディメンション値を選択またはソートするための特定の方法を提供するダイアログ・ボックスまたはそのグループ。各セレクタ・ツールは、セレクタの構成要素である。セレクタ・ツールを使用することにより、階層内のレベル、属性または値名内の文字などを基準にしてディメンション値を選択できる。セレクタ・ツールを使用して、ディメンション値をソートすることもできる。


実行可能プログラムの起動と終了の間の期間。


グループ・ツリー内で同じ親オブジェクトをもつ2つ以上のオブジェクトの1つ。1つのグループ・オブジェクトに属するオブジェクトは、すべて同位項目である。


IPアドレスとポート番号の組合せ。


（Oracle Express） 表示された選択項目内で、ディメンション値の順序を並べ替えることのできる「セレクタ」ダイアログ・ボックスのツール。次の項目を基準にして、選択項目を昇順または降順にソートできる。

•	アルファベット

•	データベース内における順序

•	データ値

•	階層内の順序またはレベル

•	時間間隔

ディメンション値をドラッグ・アンド・ドロップすることにより、選択項目を手動でソートすることもできる。


PL/SQLでは、サブプログラムまたはパッケージ内で提供される文。プログラム単位のソース・コードを持っていなければ、それを実行可能な形にコンパイルすることはできません。Project Builderでは、ターゲットの種類の構築に必要な入力タイプ。サブプログラムの名前、パラメータおよび戻り型（ファンクションへの適用のみ）のみを定義する。


サブプログラムの名前、パラメータおよび戻り値の型（ファンクションへの適用のみ）のみを定義する。


エディタ内の、垂直スクロール・バーの下と、水平スクロール・バーの左にある小さな四角形。マウス・ボタンをドラッグして離すと、新規のペインが作成され、スクロール・バーはそれぞれのペイン用に分割される。


リレーショナル・データベースにおける情報の格納と検索のための標準インタフェース。SQLは、Structured Query Language（構造化問合せ言語）の略称。


テキスト形式（ASCIIやEBCDICなど）に格納された問合せを含む。


データベース管理を素早く簡単に行うSQL文を含むファイル。SQLスクリプトの一部は、Oracle製品に付属している。


Oracleに対するSQLの指示。SELECT文は、SQL文の一種。


「コール･スタック（call stack）」を参照。


条件制御、繰返し制御、逐次制御およびエラー処理に使用されるPL/SQL構成体。各PL/SQL文の最後には、必ずセミコロン（;）を付ける必要がある。


（Oracle Express） 評価されるたびに同じディメンション値を含む保存済みの選択項目。静的な保存済み選択項目では、選択基準ではなく、選択されるディメンション値がリストされる。たとえば、静的な保存済み選択項目のスクリプトには、"Select February 1996, March 1996, and April 1996"などのように文が記述され、動的な保存済み選択項目のスクリプトでは、"Select the last three Months"といったように文が記述される。


Oracleデータベース・サーバーに存在し、Oracleデータベース・サーバーで実行されるプロシージャ、ファンクションまたはパッケージ。


Oracleデータベース・サーバーに存在し、Oracleデータベース・サーバーで実行されるプロシージャまたはファンクション。


HTMLドキュメント内でフォーマットの強力な柔軟性を提供するHTMLの拡張機能。スタイル・シートを利用するHTMLドキュメントを探し、それをスタイル・シートをサポートするブラウザに表示する。


PL/SQLプロシージャまたはPL/SQL関数。


Project Builderにおいて、それ自身のファイル内に格納されているのではなく、他のプロジェクトファイル内に含まれるプロジェクト。「プロジェクト（project）」も参照。


Project Builderにおいて、サブプロジェクトを示すノード。「プロジェクト（project）」、「プロジェクト・ノード（project node）」および「サブプロジェクト・ノード（subproject node）」も参照。


集計タイプの列。Report Builderにより提供されているパッケージ化された集計ファンクションの1つを使用し、レポート内のデータのサブ合計、グランド合計、実行合計およびその他のデータ集計を計算する。


Microsoft Excelプログラムで使用されているファイル形式。


コマンド、修飾子およびパラメータが結びつけられて有効なコマンド文字列を形成する規則的なシステム。


Reports Developerで提供されている変数の1つ（&Logical Page、DESTYPEなど）。


リレーショナル・データベースまたはサーバーで行と列から構成される2次元の格子に格納される、関連する情報の名前付き集合。


コレクション・タイプの一種で、すべてが同じデータ型を持つ、順序付けのされていない一連の要素で構成されるデータ単位を定義する。対応するデータ単位は、1つの列がネストされた表で、その列タイプはビルトイン・タイプまたはオブジェクト・タイプである。（Oracle8）


ページの最上部にラベルを、ラベルの下にデータ行を表示するデフォルト・レイアウト。


Project Builderにおける依存ツリー内のあらゆる項目。たとえば、実行可能プログラムはライブラリの（コンパイル）ターゲット、ライブラリはオブジェクトのグループのターゲット、そしてオブジェクトはソース・ファイルのターゲットである。


ターゲットを示すノード。「ターゲット（target）」も参照。


Transmission Control Protocol（伝送制御プロトコル）の略語。クライアントとWebサーバー間のHTTP要求を交換するための基礎的な通信プロトコル。


マウスやその他のポインティング・デバイスを使用しユーザーがそのソースから削除して表示画面の別の位置へドラッグできるサブメニュー。


Form Builderにおいて、文字列の値を表示する項目。


アプリケーション名やそのウィンドウ内のインタフェース要素を表示する、ウィンドウの最上部の水平領域。


「ヘッダー（header）」を参照。


設定を交互にオンまたはオフに切り替えること。たとえば、オブジェクト・ナビゲータを隠したり表示できる。


アプリケーション内でオブジェクトの作成と操作に使用するアイコン・ボタン。


製品コマンドを実行するアイコン・ボタンの集合。通常、ウィンドウの一番上に沿って水平に並んでいるか、横に垂直に並んでいる。


ツールの集合。


（Oracle Express） 上限xと下限yまたは上限xと下限yのデータ値を基準にしてディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、1995年12月30日で終わる4週間の時間間隔において、「米国内」で生産された製品のうち、販売量が上位10パーセントに入る製品を含むディメンション選択項目を生成できる。


テキスト、図形、データ、計算など、レポートについての最終内容を入れることができるオプションのレポート領域。レポート・トレーラは、ヘッダーとボディに続いて最後に表示される。


1つの単位として扱われる一連のSQL文。


特定のイベントに従って実行または「起動」されるPL/SQLプロシージャ。


タイプ名や説明などの情報が入った、フォームやドキュメントなどのファイル・タイプの説明。各説明は1つのファイル・タイプに当てはまる。また、4つのメタ・タイプもある。"updtext"は、すべてのテキスト・ファイルに適用される。"updproj"は、すべてのプロジェクト・ファイルに適用される。"updlink"は、すべてのプロジェクト・リンクに適用される。"all"は、すべてのファイル・タイプに適用される。"updtext"は、すべてのテキスト・ファイルに適用される。"updproj"は、すべてのプロジェクト・ファイルに適用される。"updlink"は、すべてのプロジェクト・リンクに適用される。"all"は、すべてのファイル・タイプに適用される。タイプは、アクションやマクロを定義する基礎となる。


表データの値を変更すること。特に、SQLコマンドUPDATEによるデータ値の変更、SQLコマンドDELETEによる値の削除、またはコマンドINSERTによる値の挿入。


Uniform Resource Locatorの略称。WWWサーバーおよびホーム・ページの指定に使用される「アドレス」。たとえば、http://www.acme.com/。
この例は、ホストのアドレスがwww.acme.comであることを示す。一般に、URLはファイル名である（長いパスをもち、拡張子.HTMLまたは.HTM（PC-DOSファイル名の場合）が通常付く）。


Forms Developerからの制御（および引数）を別のOracle製品または3GLに渡し、続いて制御（および引数）をForms Developerに戻す方法。


Project Builderユーザーにより定義されるカスタム・アクション。このようなアクションは、任意の1つのファイル・タイプまたはすべてのファイル・タイプに適用できる。「アクション（action）」、「定義済みアクション（pre-defined action）」も参照。


「オブジェクト・タイプ（object type）」を参照。


Project Builderユーザーにより定義されるカスタム・マクロ。このようなマクロは、ビルトイン・アクションとユーザー定義アクションの両方を変更するのに使用することができる。「マクロ（macro）」、「ビルトイン・マクロ（built-in macro）」、「アクション（action）」および「定義済みアクション（pre-defined action）」も参照。


構成情報をユーザーごとに格納するプロジェクト・ファイル。これによってユーザーは、個々の開発環境をカスタマイズできる。ユーザー・レジストリは、グローバル・レジストリからタイプ情報を継承するほか、新規タイプを定義したり、グローバル・レジストリに格納されているタイプ定義の一部を上書きすることもできる。また、ユーザー設定による接続文字列、「ツールバー表示」のようなUI設定、および「作成者」のような一般的なプロジェクト情報など、環境情報および作業環境情報も格納する。「レジストリ（registry）」、「グローバル・レジストリ（Global Registry）」も参照。


「値軸（continuous axis）」を参照。


値を返すPL/SQLコード構造。値構成体には、ファンクションと式が含まれる。


値を割り当てることができ、割り当てられた値が時間がたつにつれ変化する可能性があるユーザー命名オブジェクト。


コレクション･タイプの一種で、すべてが同じデータ型を持つ、順序付けされた一連の要素で構成されるデータ単位を定義する。対応するデータ単位は、可変配列つまりVARRAYである。VARRAY（サイズ）内の要素数は可変である。ただし、可変配列型を宣言するときは、最大サイズを指定する必要がある。


Visual Basic extensionの略称。事前定義済みのVBXコントロールを含むファイル上に分配された特定のダイナミック・リンク・ライブラリのファイル拡張子として使用される。


Microsoft Visual Basic言語で構築されたウィジェット。ユーザー・インタフェースの拡張、ユーザー入力の取得、および出力（スライダ、格子、制御ノブなど）の表示に使用される。


その行がデータベース内に実際に存在しないが、データベースに物理的に格納されている表に基づいている仮想的な表。


仮想ファイル・システムがホスト・マシン上のファイル・システムに格納されたファイルをマッピングするのに使用する、ディレクトリ・ニーモニック（本来、ショートカットまたは略称）。


URL内で使用されているパス名を、ホスト・マシンのオペレーティング・システムによりメンテナンスされているファイル・システムに関連付けるマッピング。


アプリケーション・インタフェース内に現れるオブジェクトに対し設定する、フォント、色およびパターンのプロパティ。


「WWW」を参照。


エンド・ユーザーが（Webサーバーによりサービスされる）コンピュータ上に保管されているHTMLドキュメントおよびプログラムを読むために利用するプログラム。


Web Request Brokerを介してWebサーバー上で実行されるプログラム。


リモートWebブラウザのHTTP要求に応答してWebページを送信する、Webサイトで稼働しているサーバー・プロセス（HTTPデーモン）。


ワードまたはフェーズ内で「任意の1文字」または「隣り合うキャラクタ・セット」を意味するために使用される文字。


1. アプリケーションが入った、デスクトップの四角形の領域。各ウィンドウには、アプリケーションと対話できる領域がある。ウィンドウは、オープン、サイズ変更、移動、アイコンへの縮小、デスクトップ全体への拡張ができる。2. Form Builderにおいて、キャンバス・ビューと関連付けることができるオブジェクト・タイプ。


SQL*CalcやLotus 1-2-3プログラムなどのスプレッドシート・プログラムで使用されているファイル形式。


Oracle Web Request Brokerの略語。Web用のアプリケーションの開発と実行に、強力な分散した実行時環境を提供する。WRBランタイム・プラットフォームにより、アプリケーション開発者は、Webサーバーから独立したアプリケーションや多くのWebサーバーと共に稼働するアプリケーションを記述することができる。


World Wide Webの略語。インターネット上のサーバーのネットワークであり、サーバーのそれぞれが1つ以上のホームページをもつ。ホームページは、そのサーバーまたは他のサーバー（通常こちら）上の他のドキュメントに対し情報やリンクを提供する。


フィールドの内容を編集するため、オブジェクトを拡大し表示領域を広げること。


（デフォルトで）descriptionプロジェクト・ナビゲータの左に表示された2番目のツールバー。簡単な編成およびアプリケーション起動機能がある。


 OLEコントロール（OCX）の最新バージョン。


適切なタギング、ネスティングおよびXML宣言（<?xml version="1.0" encoding="UTF-8"?>など）の組込みなどの一般的なXML原理に従うXML出力。


プレースホルダ・ユーザー名を使用すると、Webブラウザからレポートを実行するときに、Oracelデータベースのユーザー名（$user_name@databaseなど）ではなく、個人ユーザー名を使用してデータベースにログオンできる。


ＸML（Extensible Markup Language）。SGMLを使用して、データを定義および構築するメタ言語。Report Builderは、XML出力をサポートして、Webパブリッシングおよびサードパーティーのアプリケーションとの電子的データ交換を可能にする。また、XMLを使用して、実行時に他のレポート定義とマージすることができるレポート定義を作成することも、文書型定義（DTD）に従う構造および要素の内容を持つXML出力を別々に実行することもできる。


文書型定義（DTD）に準拠する構造および要素内容を持つ、XMLによる出力。有効なXMLは、適切に構成されている。


オンライン・ヘルプの使用

オンライン・ヘルプ・システムを効果的に利用するためのガイドラインを次に示します。

•	「目次」タブを読んで、オンライン・ヘルプで取り上げられているトピックの内容を把握します。

•	トピック・タイトルのすぐ下にある「関連項目」ボタンをクリックして、現行のトピックに関連するトピックのリストを表示します。

•	トピックの一番上にある「オプション」ボタンをクリックして、「手前に表示」を設定します。これにより、アプリケーションの開発を進めながらでも、ヘルプ・トピックは常に画面の手前に表示されます。

•	用語の定義を調べるには、トピックの最上部にある「用語集」ボタンをクリックします。


ドキュメント・ロードマップ

アプリケーションの構築方法を習得するには:

1	各コンポーネントの概要を述べたクイック・ツアーを確認します。

•	「ヘルプ」 [image] 「クイック・ツアー」を選択します。

2	最も一般的な作業の実行方法を学習するには、キュー・カードを参照します。

•	「ヘルプ」 [image] 「キュー・カード」を選択します。

3	オンライン・マニュアルを表示します（ハード・コピーのマニュアルも利用できます）。

•	「ヘルプ」 [image] 「マニュアル」を選択します。

4	オンライン・ヘルプ・システムにアクセスします。

•	「ヘルプ」 [image] 「ヘルプ・トピック」を選択します。

•	状況依存ヘルプを参照するには、[Help]キー（ほとんどのプラットフォームでは通常[F1]キー）を押します。


インフォメーション・デスク


イメージ・タイプについて

Form Builderのアプリケーションには、次の2種類のイメージを取り込めます。

•	図形オブジェクト  図形オブジェクトは静的イメージ（ベクトルまたはビットマップ）であり、ファイル・システムまたはデータベースからユーザーのアプリケーションにインポートして、静的な図形要素として使用します。図形オブジェクトは多くの場合、バックグラウンド・ピクチャとして使用されます。フォーム・モジュールを保存してコンパイルすると、図形オブジェクトは.FMBファイルと.FMXファイルに取り込まれます。レイアウト・エディタでは、図形オブジェクトを他のオブジェクトと同じように操作できます。

•	イメージ項目  イメージ項目はインタフェースの制御に使用し、ベクトル・イメージとビットマップ・イメージのいずれか一方を、格納または表示（あるいはその両方）します。イメージ項目は、値を格納する他の項目と同様、データ・ブロック項目（データベースの列に直接関連する項目）または制御項目とすることができます。フォーム・モジュールを保存してコンパイルすると、イメージ項目は.FMBファイルと.FMXファイルに取り込まれます。しかし、イメージ・ファイルは、イメージ項目が実行時に挿入されるまでは、イメージ項目に関係付けられません。

実行時、エンド・ユーザーによるナビゲート操作や選択操作は、イメージ項目に対しては可能ですが、図形オブジェクトに対しては実行できません。


イメージ・フォーマットについて

Form Builderでは、多数のグラフィックス・ファイル・フォーマットがサポートされています。次の表は、各フォーマット・タイプ（ビットマップ・イメージまたはベクトル描画）を、図形オブジェクトとイメージ項目のどちらに使用できるかを示しています。

フォーマット	図形テキスト、図形オブジェクト	イメージ項目	機能	圧縮
BMP	y	読込み/書込み	モノクロ; 4ビットおよび8ビットLUT;24ビットRGB	なし
JFIF	y	読込み/書込み	24ビットRGB	JPEG
PCX	y	読込み専用	モノクロ;2ビット、4ビットおよび8ビットLUT; 1ビットおよび2ビット、8ビットRGB	RLE
PICT 1 & 2	y	読込み/書込み	モノクロ; 2ビット、4ビットおよび8ビットLUT; 16ビットおよび24ビットRGB;ベクトル/オブジェクト図形	Packbits
GIF	y	読込み/書込み	8ビットLUT	LZW
CALS	y	読込み/書込み	モノクロ	CCITT G4（FAX）
PCD	y	読込み専用	モノクロ; 4ビットおよび8ビットLUT; 24ビットRGB	（Kodak）
RAS	y	読込み/書込み	モノクロ; 4ビットおよび8ビットLUT; 24ビットRGB	RLW
TIFF 4, 5, & 6	y	読込み/書込み	モノクロ;8ビット・グレイ・スケール; 4ビットおよび8ビットLUT; 24ビットRGB; 平面データ; タイル・データ; Intelバイト順序; Motorolaバイト順序; Photometric interpretation; MSB/LSB	Packbits、CCITT G3（FAX）、CCITT G4（FAX）、LZW、LZW（水平差分使用）、JPEG


イメージ項目とメモリー割当てについて

  関連項目

データ・ブロックでのイメージ項目の作成時、Form Builderは、レコードが現在表示されているかどうかに関係なく、データベースからフェッチされたレコードに必要なメモリーを割り当てます。

サイズの大きなイメージ項目の表示では、クライアント・メモリーを節約するために、ブロックあたりのバッファ・レコード数（Form Builderが一度にフェッチするレコード数）を減らします。この値は、「バッファ・レコード数」プロパティを小さく設定することにより、減らすことができます。有効な最小バッファ・レコード数は、「表示レコード数」ブロック・プロパティの値+2です。

注意: イメージと描画は、イメージ項目の「イメージ形式」プロパティが設定されていない限り、常にそのイメージまたは描画自体のフォーマットでデータベースに格納されます。したがって、イメージ項目の「イメージ形式」プロパティをGIFに設定した場合、READ_IMAGE_FILEを実行してその項目をTIFFファイルとともに挿入し、コミットを発行すると、イメージは、対応するLONG RAW列にGIFフォーマットで挿入されます（挿入可能な場合）。

PCXおよびPCDフォーマットのデータは、ファイル・システムからの読込みは可能ですが、WRITE_IMAGE_FILEによる書込みはできないことに注意してください。


図形オブジェクトのインポート

図形オブジェクトをインポートする方法:

1	レイアウト・エディタで、「イメージ・インポート」ダイアログを表示するには、「ファイル」 [image] 「インポート」 [image] 「イメージ」を選択します。

2	ラジオ・ボタン（「データベース」または「ファイル」）をクリックして、データベースとファイル・システムのどちらからイメージをインポートするかを指定します。次に目的のイメージの名前を入力します。

3	イメージのグラフィックス・フォーマットを指定するには、「フォーマット」ポップリストから値を選択します（ファイル・システムに格納されたイメージの場合にのみ有効）。

4	イメージの品質を指定するには、「質」ポップリストから値を選択します。

注意: イメージの品質とメモリー消費を最適化するには、「イメージの品質」オプションと「イメージの粗さ」オプションを両者のバランスがとれるように設定してください。これらのオプションを設定するには、レイアウト・エディタでイメージを選択してから、「書式」 [image] 「描画オプション」 [image] 「イメージ」を選択します。

5	「OK」をクリックして、イメージをインポートします。

インポートされた図形オブジェクトは、描画領域の中央に配置されます。（図形オブジェクトをフォームにインポートする場合、特定のキャンバスに配置してください。）

ヒント: 図形オブジェクトの上にはインタフェース項目を配置できます。たとえば、地図の上にボタンを配置して、エンド・ユーザーが特定地域の情報を得られるようにすることができます。


イメージ項目の作成

イメージ項目を作成する方法:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しい項目の横にあるオブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

5	「一般」ノードの下で、「項目タイプ」プロパティを「イメージ」に設定します。

6	プロパティ・パレットとレイアウト・エディタを使用して、イメージ項目の表示外観を設定します。

イメージ項目を操作する際には、次の点に注意してください。

•	イメージ項目のデータ型は、事前にLONG RAWに設定されています（イメージ項目のプロパティ・パレットには、「データ型」プロパティは表示されません）。

•	「圧縮品質」プロパティを設定して、フォームに読み込むイメージをどの程度まで圧縮するかを指定します。この圧縮は、イメージ・ファイルがファイル・システムで圧縮されているかどうかにかかわらず実行されます。

•	「サイズ調整形式」プロパティを設定して、イメージ項目の境界線よりも大きいイメージを表示する方法を指定します。イメージの一部がイメージ項目の境界線をはみ出したとしても実際のサイズで表示させたければ、「切取り」を選択します。イメージを、イメージ境界線の内側に納まるようスケーリングする場合は「調整」を選択します。


イメージ項目の挿入

  関連項目

前述のとおり、イメージ項目の定義はフォーム・モジュールの.FMBファイルと.FMXファイルに格納されますが、イメージ項目が実行時に挿入されるまで、イメージ・ファイルはそのイメージ項目に対応付けられません。

イメージ項目を挿入するには、次の順に操作します。

•	データベースのLONG RAW列からイメージ項目をフェッチします。

データ・ブロック中のイメージ項目は、エンド・ユーザーまたはアプリケーションがブロック内で問合せを実行したときに、自動的に挿入されます。フェッチされたイメージが変更または置換されると、そのレコードは変更済みとしてマークされ、次のコミット操作で新しいイメージがデータベースの対応するLONG RAW列に上書き保存されます。

注意: SELECT文は、イメージ項目のLONG RAWの値の選択には使用できません。

•	READ_IMAGE_FILEビルトインを実行して、ファイル・システムからイメージを読み込みます。

（イメージ項目のイメージを外部のファイルに動的に書き込むには、ビルトイン・プロシージャWRITE_IMAGE_FILEを使用してください。）

•	イメージをクリップボードから空のイメージ項目にペーストします。

実行時は、単にイメージをクリップボードにカットまたはコピーした後、空のイメージ項目内でクリックし、「編集」 [image] 「ペースト」を選択します。ペーストされたイメージのスケーリングには、ペースト先のイメージ項目のスケーリングが採用されます。イメージ項目の「サイズ調整形式」プロパティを、「切取り」または「調整」のどちらかに従って調整します。


実行時のイメージ項目の操作

  関連項目

イメージ項目は、実行時に2つの方法で操作できます。エンド･ユーザー（表示されている場合はイメージ・パレットを使用して）による方法と、プログラムによる方法です。

イメージ・パレットを使用する方法  イメージ項目の「パレット表示」プロパティを「はい」に設定すると、Form Builderにより、実行時にイメージ操作パレットが項目の隣に表示されます。エンド・ユーザーは、パレットの3種類のツールを使用して項目内のイメージを操作できます。

イメージ操作パレット・ツールは次の3種類です。

•	「イメージ・パレット・ズーム」ボタン  ズーム： ツールをクリックしてからイメージを繰り返しクリックすると、イメージ項目の境界内に表示されるソース・イメージの量が徐々に減少します。

•	パン: ツールをクリックします。次に、手の形をしたポインタを使用して、ソース・イメージの隠れている部分をパンして表示します（この操作は、ソース・イメージがイメージ項目の少なくとも1本の境界線を超えている場合にのみ可能です）。

•	回転: ツールをクリックします。イメージを繰り返しクリックすると、イメージが90度ずつ時計回りに回転します。

プログラム上でのイメージ項目の操作 イメージ項目イベントに反応するには、次のトリガーを使用します。

•	When-Image-Activated（エンド・ユーザーがイメージ項目をダブルクリックしたときに起動）

•	When-Image-Pressed（エンド・ユーザーがイメージ項目をクリックしたときに起動）

IMAGE_ZOOMビルトインを使用すると、イメージ項目に格納されたイメージも操作できます。


チャート項目の作成

チャート項目を作成する方法:

1	オブジェクト・ナビゲータで、目的のブロックをクリックします。

2	「ツール」 [image] 「レイアウト・エディタ」を選択します。

3	レイアウト・エディタで、ツールバーの [image] をクリックし、ウィザードに従ってチャート項目を作成します。


図形テキストの作成

  関連項目

図形テキストを作成する方法:

1	レイアウト・エディタで、ツール・パレットの「テキスト」ツールをクリックします。

2	テキストを配置する場所をクリックします。

3	目的のテキストを入力します。

テキスト・オブジェクトのバウンディング・ボックスは、テキストを入力するにつれ大きくなります。次の行に折り返すには、キャリッジ・リターンを使用してください。

4	テキスト・オブジェクトのバウンディング・ボックスの外側をクリックして、テキスト・モードを終了します。

注意: 「テキスト描画オプション」ダイアログの「スケーラブルな境界線」オプションが使用可能になっている場合、バウンディング・ボックスをクリックし、目的のサイズになるまでドラッグすると、図形テキスト・オブジェクトのサイズを調整できます。テキスト・オブジェクトのバウンディング・ボックスの右端に達すると、テキストは自動的に折り返します。「テキスト描画オプション」ダイアログを起動するには、「書式」 [image] 「描画オプション」 [image] 「テキスト」を選択してください。「スケーラブルな境界線」オプションは、「固定バウンディング・ボックス」を選択すると使用可能になります。


図形テキストの編集

図形テキストを編集する方法:

1	レイアウト・エディタのツール・パレットで、「テキスト」ツールをクリックします。

2	図形テキストを配置する場所をクリックします。

テキスト・オブジェクトにテキストの挿入位置が表示されます。

3	テキストを編集します。

4	テキスト・オブジェクトのバウンディング・ボックスの外側をクリックして、テキスト・モードを終了します。


線図形の作成

  関連項目

四角形、線、楕円および円弧を作成する方法:

1	レイアウト・エディタのツール・パレットで、使用するツールをクリックします。

2	ポインタを図形描画の開始位置に合わせます。

3	図形をクリックして、適当なサイズになるまでドラッグします。

注意: 円弧を新規に作成する場合、デフォルトの掃引角は90度です。デフォルトの掃引角は、「変形」ツールを使用して変更できます。

多角形および折れ線を作成する方法:

1	「多角形」ツールまたは「折れ線」ツールを選択します。

2	ポインタを最初のセグメントの開始位置に合わせ、1回クリックします。

3	ポインタを移動し、最初の線セグメントの長さと角度が適当になったところでクリックして、セグメントの終点をマークします。

4	多角形のセグメントごとにマウスのクリックと移動を繰り返します。

5	ダブルクリックして最後のセグメントの終点をマークします。

「多角形」ツールを使用した場合、終点と始点を接続する線セグメントが追加されます。

手書きツールを操作する方法:

1	「手書き」ツールを選択します。

2	ポインタを図形描画の開始位置に合わせます。

3	クリックとドラッグによって手書き図形を描画します。


図形ツールの操作を制限する方法

「Constrain」（ほとんどのプラットフォームでは[Shift]）を押しながら操作すると、図形ツールの操作を制限できます。

制限後のツールの操作は次のとおりです。

ツール	制限後
楕円	円
線と多角形	水平、垂直または45度単位の方向に描画
折れ線と四角形	水平、垂直または45度単位の方向に描画
四角形	正方形
丸い四角形	丸い正方形を描画
弧	円


項目の作成


インタフェース項目の作成について

項目を作成する場合、新しい項目をブロックに挿入するか、項目タイプを変換することによって既存の項目を変更します。


ボタンについて

  関連項目

ボタンは、コマンドを実行したりアクションを開始したりするためにエンド・ユーザーが選択するインタフェース項目です。ボタンを使用して、ナビゲーションの開始、値リストの表示、エディタまたはウィンドウの起動、フォーム内のデータのコミット、問合せの発行を行うことができ、PL/SQLでコーディングできるその他の大部分の操作を実行できます。

Form Builderでは、テキスト・ボタンとアイコン・ボタンという2つのボタン・スタイルがサポートされています。テキスト・ボタンは、テキスト・ラベル付きで表示されるボタンです。アイコン・ボタンは、ビットマップ・グラフィック付きで表示されるボタンであり、このためツールバーでよく使用されます。

ランタイムの動作 GUIプラットフォームでは、テキスト・ボタンはテキスト・ラベルの付いた四角形で表示され、その中にボタンのアクションが記述されます。文字モードのプラットフォームでは、テキスト・ボタンはカッコで囲まれたテキスト文字列として表示されます。

アイコン・ボタンは、テキスト・ラベルをもたないグラフィック・アイコンとして表示されます。アイコン・ボタンはGUIプラットフォーム上でのみ表示できます。

注意: Microsoft Windowsでは、ボタンのカラー属性はコントロール・パネルのカラー機能によって排他的に制御されます。ボタンのカラー属性（ボタン表面、ボタンの影、ボタンのテキスト・カラー、ボタンまたはハイライト）を定義するには、カラー機能を使用する必要があります。


ボタンへのナビゲートについて

  関連項目

エンド・ユーザーは、マウスまたはForm Builderのファンクション・キーを使用してボタンにナビゲートします。エンド・ユーザーがファンクション・キーを使用してボタンにナビゲートすると、そのナビゲート順序は、オブジェクト・ナビゲータにおけるボタンの配置順序により決定します。


ボタンの選択について

  関連項目

エンド・ユーザーは、マウスでクリックすることによってボタンを選択します。マウス・ボタンが放されると、そのボタンに関係付けられたコマンドまたはアクションが開始されます。ボタンを選択するとき、入力フォーカスはフォームのどの項目にあってもかまいません。つまり、エンド・ユーザーはボタンを選択する前にボタンにナビゲートする必要はありません。

エンド・ユーザーはボタンまでナビゲートし、[Select]を押しても、ボタンを選択できます。カーソルを別の項目へ移動しないうちは、カーソルはそのボタンに留まります。


ボタンの作成

  関連項目

ボタンを作成する方法:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しい項目の横にあるオブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

5	「一般」ノードで、「項目タイプ」プロパティを「押しボタン」に設定します。

6	「データベース」ノードの下で、「データベース項目」プロパティを「いいえ」に設定します。

注意: データ・ブロック内で項目を作成すると、Form Builderではその項目はデータ項目であるとみなされ、「データベース項目」プロパティは「はい」に設定されます。データ項目は、データベースに対して発行されたSELECT文、UPDATE文およびINSERT文に自動的に組み込まれます。作成する項目がデータ・ブロックのインタフェース項目である場合、「データベース項目」プロパティを「いいえ」に明示的に設定する必要があります。

7	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、その項目をキャンバスに割り当てる必要があります。


ボタン・ラベルの追加

  関連項目

テキスト・ボタンのラベルを追加する方法:

1	オブジェクト・ナビゲータで、希望するボタンの横のオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

2	「機能」ノードの下で、「ラベル」プロパティに希望するテキストを入力します。

ヒント: ボタンが、ラベル・テキストを表示するのに十分な大きさであることを確認してください。レイアウト・エディタでボタンを表示して、テキスト・ラベルがボタンにどのように表示されるかを確認できます。


アイコン・ボタンの定義

  関連項目

ボタンをアイコン・ボタンにする方法:

1	オブジェクト・ナビゲータで、希望するボタンの横のアイコンをダブルクリックして、プロパティ・パレットを表示します。

2	「機能」ノードの下で、次のようにします。

•	「アイコン化」プロパティを「はい」に設定します。

•	「アイコン・ファイル名」プロパティをアイコンの名前に設定します。「アイコン・ファイル名」プロパティを定義するときは、アイコンのファイル拡張子は含めません。たとえば、MY_ICON_ICOではなく、MY_ICONと入力します。

注意: 実行時には、Form Builderによるアイコンの検索はユーザーのシステムの環境変数によって指定されたパス（Microsoft WindowsではUI60_ ICON）で行われます。


デフォルト・ボタンの定義

  関連項目

ボタンをデフォルト・ボタンとして指定する方法:

1	オブジェクト・ナビゲータで、希望するボタンの横のオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

2	「機能」ノードの下で、「デフォルト・ボタン」プロパティを「はい」に設定します。


実行時のボタンの操作

  関連項目

Form Builderには、エンド・ユーザーがボタンを操作したときに発生するインタフェース・イベントに応答するためのトリガーが用意されています。

ボタン・コードの実行  ボタンによってコマンドを実行または開始するためには、そのボタンが選択されたときに起動するWhen-Button-Pressedトリガーを付加する必要があります。

「ボタン押下」イベントが発生する、つまり、エンド・ユーザーがボタンをクリックすると、Form BuilderによりWhen-Button-Pressedトリガー内のコードが実行されます。

次の例は、2つのテキスト項目に格納されている値から合計を計算するWhen-Button-Pressedトリガーを示したものです。

When-Button-Pressedトリガー

:order.total := :order.qty * :order.price

プログラムによるボタン・プロパティの設定 次のビルトイン・サブプログラムを使用して、ボタン・プロパティをプログラムによって設定し、入手できます。

•	CONVERT_OTHER_VALUE

•	DISPLAY_ITEM

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


チェックボックスについて

  関連項目

チェックボックスは、特定の条件または値がオンかオフか、あるいは真か偽かを示す、2状態制御です。

実行時の動作 GUIプラットフォームでは、チェックボックスは小さい四角形のボックスであり、右側にテキスト・ラベルが表示されます。文字モードのプラットフォームでは、チェックボックスは角カッコで表示されます。

チェックボックスの表示状態は常に、チェックあり、チェックなしのどちらかです。エンド・ユーザーは、マウスでチェックボックスをクリックするか、チェックボックスにナビゲートして[Select]を押すことによって、チェックボックスの状態を切り替えます。

ほとんどのGUIで、チェックボックス・ラベル内のテキストは"ホット"です。すなわち、エンド・ユーザーは、チェックボックス要素またはテキスト・ラベル自体をクリックすることによりチェックボックスをトグル切り替えできます。

問合せ入力モードでは、エンド・ユーザーはチェックボックスの状態を未定義に設定することにより、チェックボックスを問合せ基準として除外できます。未定義状態の場合、チェックボックスは使用不可として表示されます。未定義の状態は、問合せ入力モードのみで有効であることに注意してください。


チェックボックスの値について

  関連項目

チェックボックスには、CHARまたはNUMBER、DATEの値が格納されます。チェックボックスの値は、対応するデータベースの列からのフェッチによって、項目操作を介したエンド・ユーザーの入力によって、あるいは初期値や実行時割当てを通して設定できます。同様に、チェックボックスの値は標準のコミット処理を通してデータベースにコミットすることができます。

チェックボックスを定義するときに、どの値のときにチェックボックスがチェックありの状態で表され、どの値のときにチェックなしの状態で表されるかを指定します。

たとえば、顧客のクレジットが承認されているかどうかを示すチェックボックスについて考えてみます。チェックボックスを定義するとき、「チェック時の値」を'CREDIT_OK'に、「未チェック時の値」を'NO_CREDIT'に設定できます。

顧客レコードがフェッチされると、チェックボックスには対応するデータベースの列から取り出された値が格納されます。フェッチされた値が'NO_CREDIT'ならば、チェックボックスはチェックなし状態（オフ）で表示されます。エンド・ユーザーがチェックボックスをアクティブ化してチェックあり状態（オン）にすると、チェックボックス値はチェックありの値'CREDIT_OK'に変わります。

チェックボックスと「その他の値」 チェックボックスを作成するときには、チェックありまたはチェックなしの状態として表される値以外の、フェッチまたは割当てされた値について取り扱い方を指定する必要があります。（未定義の状態は、問合せ入力モードでのみで有効なので注意してください。未定義の状態に値を対応付けることはできません）。

このような「その他の値」の処理方法として、次の3つのいずれかを指定できます。

•	「その他の値」は「許容されない」ものとして拒否します。

•	「その他の値」をチェックありの状態として表示します。

•	「その他の値」をチェックなしの状態として表示します。

上の例では、「クレジット承認」チェックボックスでは「その他の値」はすべてチェックなし（オフ）として表示されるように指定できます。次に、フェッチされたレコードが値'PENDING'を返すことになっていれば、チェックボックスはチェックなし状態になり、顧客のクレジットはまだ承認されていないことを示します。この例では、値'CREDIT_OK'のみが、チェックボックスの状態をチェックありに設定し、「その他の値」はすべてチェックなしの状態で表示されます。

チェックありまたはチェックなしの値以外の値がチェックボックスにフェッチまたは割当てされた場合、項目の状態はチェックありになることもチェックなしになることもありますが、項目の値は、新しい値がフェッチされるか割り当てられるまで、あるいはエンド・ユーザーがチェックボックスの状態を切り替えるまで、その「その他の値」のままです。

次の表は、この例のチェックボックスの状態および値として考えられるものをまとめたものです。

フェッチまたは割当てされた値	チェックボックス状態	チェックボックスの値	エンド・ユーザーがチェックボックスを切り替えた後の状態/値
CREDIT_OK	チェックあり	CREDIT_OK	チェックなし/NO_CREDIT
NO_CREDIT	チェックなし	PENDING	チェックあり/CREDIT_OK
PENDING	チェックなし	PENDING	チェックあり/CREDIT_OK
123ABC	チェックなし	123ABC	チェックあり/CREDIT_OK


チェックボックスの作成

  関連項目

チェックボックスを作成する方法:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しく作成された項目の横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

5	「一般」ノードの下で、「項目タイプ」プロパティを「チェックボックス」に設定します。

6	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、その項目をキャンバスに割り当てる必要があります。

7	「機能」ノードの下の「ラベル」プロパティ・フィールドに、希望するテキストを入力して、チェックボックスのラベルを作成します。

チェックボックス・ラベルは、実行時にチェックボックスの右側に表示されます。

8	チェックボックスに｢チェックあり｣および｢チェックなし｣として表示させる値を、それぞれ「チェック時の値」および「未チェック時の値」プロパティで指定します。これらのプロパティは「機能」ノードにあります。

たとえば、チェックボックスを、格納値がXYZであるときは常に"チェックあり"（すなわちオン）にしたければ、「チェック時の値」プロパティに文字列XYZを入力します。

注意: 入力する値は、「最大長」プロパティで指定された文字数より長くしないでください。

ヒント: チェックボックスにNULL値をチェックありまたはチェックなしとして表示する場合は、「チェック時の値」または「未チェック時の値」プロパティをブランクのままにしておいてください。「ほかの値のチェックボックス・マッピング」プロパティでは、次に示すとおり、チェック時または未チェック時に対応する状態を使用する必要があります。

•	NULL値をチェックありとして表示する場合は、「ほかの値のチェックボックス・マッピング」を「チェックあり」に設定します。

•	NULL値をチェックなしとして表示する場合は、「ほかの値のチェックボックス・マッピング」を「チェックなし」に設定します。「チェックなし」に設定しなかった場合、ほかの値では無効な値によるエラー・メッセージが生成されます。

9	「機能」ノードにある「ほかの値のチェックボックス・マッピング」プロパティを設定して、その他の値がチェックボックスでどのように扱われるかを指定します。

「ほかの値のチェックボックス・マッピング」プロパティによって、「チェック時の値」および「未チェック時の値」プロパティで指定された値以外の値がチェックボックスでどのように扱われるかが決まります。

•	「チェック時の値」および「未チェック時の値」プロパティに入力した値以外の値に設定された場合にチェックボックスをチェックありとして表示する場合は、「チェックあり」を選択します。

•	チェックボックスが「チェック時の値」および「未チェック時の値」プロパティに入力した値以外の値が設定された場合にチェックボックスをチェックなしとして表示する場合は、「チェックなし」を選択します。

•	「チェック時の値」および「未チェック時の値」プロパティ・フィールドに入力した値以外の値はすべて無効として拒否する場合は、「許可なし」を選択します。無効な「その他の値」がチェックボックスにフェッチまたは割り当てられた場合、そのレコードは暗黙的に拒否されます。

注意: 「ほかの値のチェックボックス・マッピング」プロパティは、実行時にデータベースからフェッチされた、またはプログラムにより割り当てられたチェックボックス値に適用されます。エンド・ユーザーがチェックボックスをオンまたはオフに切り替えた場合、チェックボックスの値は「チェック時の値」または「未チェック時の値」のいずれかとなり、「その他の値」になることはありません。


チェックボックスの初期値について

  関連項目

「初期値」プロパティに、チェックボックスの初期値を入力することができます。この初期値は項目の初期値を指定するものであり、したがって、そのチェックボックスが最初はチェックありの状態かチェックなしの状態かを決定するものです。

次の場合を除いて、有効な初期値を指定する必要があります。

•	「ほかの値のチェックボックス・マッピング」プロパティが「チェックあり」または「チェックなし」に設定されている場合

•	「チェックあり」または「チェックなし」に対応付けられた値がNULLの場合

注意: 初期値は、Form Builderでブロック内のレコードが作成されるまでは割り当てられません。NULLレコード、つまりまだ初期化されていないレコード内のチェックボックスは、チェックなしの状態で表示されます。


チェックボックスの初期値の指定

  関連項目

チェックボックスの初期値を指定する方法:

1	オブジェクト･ナビゲータで、初期値を設定するチェックボックスの横にあるオブジェクト･アイコンをダブル･クリックします。これで、「プロパティ・パレット」が表示されます。

2	「データ」ノードの下で、「初期値」プロパティを希望する値に設定します。


実行時のチェックボックスの操作

  関連項目

Form Builderには、エンド・ユーザーがチェックボックスを操作したときに発生するインタフェース・イベントに応答するためのトリガーが用意されています。

チェックボックス・コードの実行 チェックボックスによってコマンドを実行または開始させるには、チェックボックスが選択されたときに起動するWhen-Checkbox-Changedトリガーをチェックボックスに付加する必要があります。

チェックボックス変更イベントが発生すると、つまり、エンド・ユーザーがチェックボックスを選択すると、When-Checkbox-Changedトリガー内のコードが実行されます。

プログラムによるチェックボックス・プロパティの設定 次のビルトイン・サブプログラム・ルーチンを使用して、チェックボックス・プロパティをプログラムによって設定および入手できます。

•	CONVERT_OTHER_VALUE

•	DISPLAY_ITEM

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


表示項目について

  関連項目

表示項目は、フェッチまたは割当てされた値の格納と表示のみを行う点を除いて、テキスト項目と類似しています。表示項目は、一般にグラフィックまたは条件付きテキストとして使用されます。

表示項目が必要とするメモリーはテキスト項目より少ないので、可能な場合は表示項目を使用する方がよいでしょう。

実行時の動作 エンド・ユーザーは、表示項目にナビゲートしたり、表示項目の値を編集したりすることはできません。

注意: 複数行の表示項目の場合、文字または文字列の間で自動的にテキストが改行されることはありません。複数行にわたる値は改行文字で区切られます。


表示項目の作成

  関連項目

表示項目を作成する方法:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しく作成された項目の横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

5	「一般」ノードの下で、「項目タイプ」プロパティを「表示項目」に設定します。

6	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、その項目をキャンバスに割り当てる必要があります。


書式マスクによる表示項目値の書式設定について

  関連項目

書式マスクを使用して、単一行の表示項目の書式を設定できます。表示項目に書式マスクが割り当てられている場合、その項目にフェッチまたは割当てされた値はすべて、書式マスクで指定された書式で表示されます。

次の例は、書式マスクがNUMBER値にどのような影響を与えるかを示したものです。

書式マスク	フェッチされた値	表示される値
$9,999,999.99	3246000	$3,246,000.00

書式マスクとデータ型 書式マスクは、次のデータ型を持つ表示項目に適用できます。

•	NUMBER

•	日付およびDATETIME

•	CHAR

書式マスクは表示項目のデータ型と互換性が必要です。


表示項目への書式マスクの割当て

  関連項目

表示項目に書式マスクを割り当てる方法:

1	オブジェクト・ナビゲータで、希望する表示項目の横のオブジェクト・アイコンをダブルクリックします。

2	「データ」ノードの下で、「書式マスク」プロパティに書式マスクの文字を直接入力します。

3	「データ」ノードの下のデータ型プロパティに指定される表示データ型は、書式マスクと互換性があることを確認します。

4	表示項目の最大長プロパティは、テキスト項目が書式マスクで処理される文字を追加できるように設定されていることを確認します。

注意: デフォルトの書式はNLSパラメータの設定の影響を受けます。


NUMBER値の場合の表示項目書式マスクの記号

 例  [image]  関連項目

次の表は、数値の書式マスクで最もよく使用される記号を示したものです。

記号	説明
9	1つの数字を表します。9の数で、テキスト項目が表示できる桁数が決まります。
0	これがある場合、先行ゼロを表示します。
$	数値の前にドル記号を付けます。
B	先行ゼロをブランクとして表示します。
MI	負の値の後に"-"を表示します。
PR	負の値を<>で囲んで表示します。
,（コンマ）	必要に応じて、この位置にコンマを表示します。
. .（decimal）	この位置に小数点を表示します。

数値における埋込み文字 書式マスクの中で引用符で囲んで指定することにより、NUMBER値の中に文字列を埋め込むことができます。埋込み文字は通常、標準的な部品番号や電話番号などの固定長の値に使用されます。

次の書式マスクでは、数値にダッシュが埋め込まれます。

書式マスク	表示される値
999"-"99"-"9999	566-23-5733

埋込み文字列の位置は表示項目内で固定されており、格納されている値の桁数によって変わることはありません。


NUMBER値の場合の表示項目書式マスクの記号の例

例

次の表は、数値の場合の書式マスクの例を示したものです。

書式マスク	入力された数値	結果
999	223.4	223
$9,999.99	3445.34	$3,445.34
999"-"999"-"9999"	4083543957	408-354-3957
99.9	00027.48	27.5
099.9	00027.48	00027.5
[B99,9]	00027.48	27.5
99.9MI	-24	24.0-
99.99"%"	66.17	66.17%


DATE値の場合の表示項目書式マスクの記号

 例  [image]  関連項目

次の表は、日付および日付時刻書式マスクで最もよく使用される記号を示したものです。

記号	説明
9	1つの数字を表す。9の数で、テキスト項目が表示できる桁数が決まります。
MM	月（01～12）。
MON	月の名前。3文字の略称。
MONTH	月の名前。9文字になるまでブランクで埋め込まれます。
DD	（月のうちの）日（1～31）。
DY	曜日。3文字の略称。
DAY	曜日。9文字になるまでブランクで埋め込まれます。
YYYY、YYY、YY、 またはY	4桁または3桁、2桁、1桁で表した年。
TH	序数（たとえば、"15TH"は"DDTH"）。
SP	スペル・アウトした数（たとえば、"FIFTEEN"は"DDSP"）。
SPTHまたはTHSP	スペル・アウトした序数（たとえば、"FIFTEENTH"は"DDSPTH"）
FM	MONTHやDAYなどの記号による埋込みを抑制するために使用する接頭辞。HHやMMなどの数値記号の先行ゼロも抑制されます。FMはトグルです。日付書式モデルの中でFMを2回指定すると、最初のFMの後の要素についてはブランクの埋込みと先行ゼロは抑制され、2つ目のFMの後では再び使用可能になります。

DATE値およびDATETIME値における埋込み文字 日付書式マスクで文字列を埋め込むには、その文字列を引用符で囲みます。スペースおよび記号文字（/ ., : ' -）は、引用符で囲まずに日付書式マスクに埋め込むことができます。

次に例を示します。

書式マスク	表示される値
"今日の日付は、" fmDAY, fmMONTH DDTH	今日の日付は、Tuesday, March 16TH


DATE値の場合の表示項目書式マスクの記号の例

例

次の表は、DATE値の場合の書式マスクの例を示したものです。

書式マスク	結果
MM/DD/YYYY	03/15/1995
MONTH 15 YYYY	MARCH 15 1995
fmMONTH 15 1995	MARCH 15 1995
Day, "the" DDTH "of" fmMonth	Wednesday, the 15TH of March
J	2449792


CHAR値の場合の表示項目書式マスクの記号

 例  [image]  関連項目

次の表は、CHAR書式マスクで最もよく使用される記号を示したものです。

記号	説明
FM	充填モード。入力されたとおりに文字列を受け入れ、右揃えは行いません。エンド・ユーザーは書式マスクより短い文字列を入力できます。
X	任意のアルファベット文字または数字、特殊文字。エンド・ユーザーの入力文字列は書式マスクで指定されたとおりの長さにする必要があります。
9	数字のみ。エンド・ユーザーの入力文字列は書式マスクで指定されたとおりの長さにする必要があります。
A	アルファベット文字のみ。エンド・ユーザーの入力文字列は書式マスクで指定されたとおりの長さにする必要があります。


CHAR値の場合の表示項目書式マスクの記号の例

例

書式マスク	結果
XXAA	ab、abcd、11abは受け入れられますが、11、ab11、abは受け入れられません（XXを使用してハイフンおよびその他の特殊記号を受け入れる必要があります）。
XXXX	アルファベット、数値、特殊文字のあらゆる組合せが許されます。（--ab、abcd、11ab、--11、ab11、ab--など）。123やabcなどは 許されません。（マスクより短い入力文字列を受け入れるには、FMXXXXを使用します。）
FMXX99	ab12、ab1、2つのスペースが続くabは受け入れられますが、12abやabcdは受け入れられません。（Form Builderバージョン3.0 Alphaデータ型を生成するには、FMAAAAAAを使用します。）


リスト項目について

  関連項目

リスト項目はテキスト要素のリストで、ポップリスト、Tリスト、コンボ・ボックスのいずれかとして表示できます。

リスト項目には固定された数の要素が表示されます。リストの各要素は、30文字以内のテキスト文字列です。実行時には、プログラムによってリスト要素を評価、追加または削除できます。

実行時の動作

ポップリスト	ポップリスト・スタイルのリスト項目は、最初は（テキスト項目のフィールドに似た）単一のフィールドとして表示されます。エンド・ユーザーがリスト・アイコンを選択すると、選択可能な項目のリストが表示されます。
Tリスト	Tリスト形式のリスト項目は、固定された数の値を表す四角形のボックスとして表示されます。Tリストの中に（項目の表示可能領域のために）表示できない値が含まれている場合は、垂直のスクロール・バーが表示されます。エンド・ユーザーはこのスクロール・バーを使用して、表示されていない値を表示して選択できます。
コンボ・ボックス	コンボ・ボックス・スタイルのリスト項目は、ポップリストとテキスト項目の特徴を合わせもっています。すなわち、固定値が表示されると共に、ユーザーが入力した値を受け入れることもできます。

注意: エンド・ユーザーが入力した値は、自動的にはリストに加えられません。それらをリストに加えたい場合は、ADD_LIST_ELEMENT ビルトイン・サブプログラムを使用します。

コンボ・ボックス・リスト項目は空のボックスとして表示され、右側にアイコンが表示されます。ユーザーは、直接コンボ・フィールドにテキストを入力することも、リスト・アイコンをクリックして選択可能な値のリストを表示することもできます。


リスト要素の値について

関連項目

リスト項目を作成するときは、リスト内の各要素にデータ値を関連付ける必要があります。エンド・ユーザーが要素を選択すると、リスト項目の値はその要素に関連付けられた値に変わります。同様に、プログラムによってリストにデータベースから値がフェッチされたり、リストに割り当てられたりした場合には、フェッチまたは割当てされた値と一致する値をもつリスト要素が、リスト内の選択された要素になります。

リスト項目には、リスト内の特定の要素に関係付けられた値以外の、フェッチまたは割当てられた値を格納することもできます。リスト項目を定義するときに、このような「その他の値」をどのように処理するかを指定する必要があります。これには、次の2つの方法があります。

•	リスト項目では「その他の値」は「許容されない」ものとして拒否されるように指定します。

•	ラジオ・グループの値が「その他の値」の場合、ラジオ・グループ内のどのラジオ・ボタンを選択されたものとするかを指定します。

注意: コンボ・ボックス・リスト項目ではエンド・ユーザーが入力したデータが受け入れられるので、コンボ・ボックス・リスト項目については「その他の値」を定義する必要はありません。

リスト項目とNULL値 コンボ・ボックス、ポップリストまたはTリストなど任意のリスト項目に（プログラム内で指定または問合せを使用して）NULL値を割り当てることができます。これは、リスト項目を必ず使用する必要がある場合、他の値が許可されない場合、および明示的に指定されたNULL値の要素がリスト項目に含まれない場合であっても、割り当てることができます。

明示的に指定されたNULL値の要素がリスト項目に含まれない場合や、他の値が許可されない場合でも、すべてのリスト項目にNULL値を表示できます。NULL値がリスト項目にフェッチまたは割当てされた場合、NULL（ブランク）要素がリスト内の現在選択されている要素になります。NULLリスト項目の実行時の外観は、表示形式によって異なります。

•	ポップリストの場合、暗黙的なNULL要素は一時的にリストに挿入されます。

•	Tリストの場合、リスト内のどの要素もハイライト表示されません。

•	コンボ・ボックスの場合、リスト項目にはテキストは表示されません。

問合せ入力モードでは、エンド・ユーザーはリスト項目の値を問合せ基準に含めたくなければ、リスト項目の値をNULLに設定できます。

•	ポップリストの場合、エンド・ユーザーはNULL（ブランク）要素を選択することによって項目を除外します。

•	Tリストの場合、エンド・ユーザーは現在選択されている要素の選択を解除することによって項目を除外します。

•	コンボ・ボックスの場合、エンド・ユーザーは要素をブランクのままにすることによって項目を除外します。

また、ブロックにまだレコードがまったくない場合も、項目の値はNULLであることを覚えておいてください。Form Builderでは、ブロックへのナビゲーションが発生したときにレコードが作成されます。

したがって、「デフォルト」プロパティを設定してリスト項目の初期値を定義してあっても、そのブロックの「レコード作成」イベントが発生するまではその値は割り当てられていません。GO_BLOCKやGO_ITEMなどのビルトイン・サブプログラム・ルーチンを使用して、プログラムによって強制的にナビゲートすることができます。

ポップリストまたはTリストの「必須」プロパティを設定すると、リストに表示される値が変わる場合があります。ポップリストのインスタンスを選択すると、現行の値がNULLの場合または有効な「必須」プロパティが偽の場合に、追加のNULL値が表示されます。Tリストのインスタンスの現行の値を選択すると、有効な「必須」プロパティが偽の場合、未選択（Tリストには選択された値がない状態）のままになります。ただし、有効な「必須」プロパティが真の場合は、Tリストのインスタンスの現行の値を選択しても影響はありません。値は選択されたままの状態になります。


リスト項目の作成

  関連項目

リスト項目を作成する方法:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しく作成された項目の横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

5	「一般」ノードの下で、「項目タイプ」プロパティを「リスト項目」に設定します。

6	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、その項目をキャンバスに割り当てる必要があります。

7	「リスト・スタイル」プロパティ（「機能」ノードの下にある）をポップリスト、Tリストまたはコンボ・ボックスに設定して、リストの表示スタイルを指定します。「ポップリスト」がデフォルトです。

8	（やはり「機能」ノードの下にある）「リスト内の要素」プロパティをダブルクリックして、「リスト項目要素」ダイアログを表示します。ここで、実行時にリスト項目に表示したいとおりに要素を入力します。

ヒント: リストに新しい要素を挿入するには、[Down]または[Insert Element]を押します。リストから要素を削除するには、[Remove Element]を押します。

注意: 設計時にリスト項目の値を定義するかわりに、ADD_LIST_ELEMENTビルトイン・サブプログラムを使用して実行時にリスト要素を個別に追加したり、POPULATE_LISTビルトインを使用して実行時にレコード・グループからリストを生成できます。レコード・グループからリストを生成する場合は、POPULATE_LISTをコールする前に、関連のある値がリストの生成に使用するレコード・グループに含まれていることを確認します。レコード・グループが静的なレコード・グループの場合、適切な値はすでに含まれています。静的なレコード・グループ以外の場合は、いずれかのレコード・グループ・サブプログラムを使用して、実行時にグループを生成する必要があります。

9	「項目値を表示」フィールドに、希望する値を入力してリスト内の各要素に値を関連付け、「OK」ボタンをクリックします。

「項目値を表示」フィールドには、「リスト要素」列で現在ハイライト表示されている要素に関連付けられた値が表示されます。各要素に割り当てる値は、そのリスト項目のデータ型（CHARまたはNUMBER、DATE）と互換性が必要です。

ヒント: 要素にNULL値を割り当てるには、「項目値を表示」フィールドをブランクのままにします。

注意: 1つの要素の値は、リスト項目の「最大長」プロパティで指定された文字数よりも長くしないでください。

10	フェッチまたは割当てされた値が特定の要素に関連付けられた値のどれでもない場合に、その値をリスト項目でどのように処理するかを指定する必要があります。そうするためには、「機能」ノードの下で、リスト項目の「ほかの値のマッピング」プロパティを設定します。

•	「ほかの値のマッピング」プロパティをブランクのままにしておくと、その項目についてはその他の値は許容されないと指定したことになります。リスト内の要素に関連付けられた値のどれとも一致しない値を含んでいる問い合わされたレコードは、暗黙的に拒否されます。その他の値を割り当てようとする試みは禁止されます。

•	特定の要素に関連付けられた値のどれかに、または要素の1つの名前に評価される値を入力します。

注意: 「ほかの値のマッピング」プロパティは、実行時にプログラムによってデータベースからフェッチまたは割当てされたリスト要素の値に適用されます。エンド・ユーザーが要素を選択すると、リスト項目の値は常にその要素に関連付けられた値になります。「その他の値」になることはありません。


リスト項目の初期値について

  関連項目

a）リスト項目が「その他の値」を受け入れる場合、およびb）リスト要素のどれかに関連付けられた値がNULLの場合を除いて、有効な初期値を指定する必要があります。

注意: 初期値を使用してリストの選択状態を初期化しようとする場合は、Form Builderによってブロック内にレコードが作成されるまでは初期値は割り当てられないことに注意してください。


リスト項目の初期値の指定

  関連項目

リスト項目の初期値を指定する方法:

1	オブジェクト・ナビゲータで、希望するリスト項目の横のオブジェクト・アイコンをダブルクリックし、プロパティ・パレットを表示します。

2	「データ」ノードの下で、「初期値」プロパティを希望する値に設定します。


実行時のリスト項目の操作

  関連項目

Form Builderには、エンド・ユーザーがリスト項目を操作したときに発生するインタフェース・イベントに応答するためのトリガーが用意されています。

•	When-List-Activated

•	When-List-Changed

実行時に、次のビルトイン・サブプログラムを使用して、リスト項目内の要素の追加、削除、変更または評価をプログラムによって行うことができます。

•	ADD_LIST_ELEMENT

•	CONVERT_OTHER_VALUE

•	DELETE_LIST_ELEMENT

•	GET_LIST_ELEMENT_COUNT

•	GET_LIST_ELEMENT_LABEL

•	GET_LIST_ELEMENT_VALUE

•	POPULATE_LIST

•	RETRIEVE_LIST


リスト要素の追加について

  関連項目

リスト要素を追加するには、一度に1つずつ要素を追加する方法と、レコード・グループに含まれている値をリスト項目に挿入する方法があります。

リスト項目への値の追加には、次のビルトイン・サブプログラムを使用できます。

•	ADD_LIST_ELEMENT

•	POPULATE_LIST


単一のリスト要素の追加

  関連項目

リスト項目に1つの要素を追加するには、ADD_LIST_ELEMENTビルトイン・サブプログラムを使用します。

ADD_LIST_ELEMENTをコールするときには、追加する値、リスト名、リスト索引、ラベルを指定して、どのリスト項目が新しい要素を受け取るかを指示します。

次の例では、値"1994"がcalendarというリスト項目に追加されます。

Add_List_Element('calendar',list_index,'1994','1994');


複数のリスト要素の追加

 例 	  関連項目

リスト項目内の要素を完全に置換するには、POPULATE_LISTビルトイン・サブプログラムを使用します。このサブプログラムは、現行のリスト項目の内容を削除して、そのリスト項目にレコード・グループの値を挿入します。

レコード・グループは、データベース表のような列/行のフレームワークを持つ、Form Builderの内部データ構造です。リスト項目にレコード・グループの値を挿入することの利点の1つは、（問合せおよび非問合せ）レコード・グループは実行時に動的に構成できることにあります。

注意: レコード・グループからリスト項目に挿入するには、レコード・グループが実行時に作成され、CHAR型の2つの列をもっている必要があります。列1にはリスト・ラベル値が、列2にはリスト要素の値が入る必要があります。

POPULATE_LISTをコールするときには、リストIDとレコード・グループ名を指定して、どのリスト項目がレコード・グループの値を受け取るかを指示します。


複数のリスト要素の追加の例

次に2列の問合せレコード・グループを作成し、そのレコード・グループの値をリスト項目に挿入する例を示します。

DECLARE
    group_id     RecordGroup;
    list_id      Item := Find_Item('list_item1');
    status       NUMBER;
BEGIN
/*
**  Create a two column query record group called
**  product_name.
*/
    group_id := Create_Group_From_Query('product_names','SELECT
       product.name, product.name FROM product');
    status := Populate_Group('product_names');
/*
**  Populate the list item with the values from the
**  product_name record group.
*/
    Populate_List(list_id,group_id);
END;


リスト要素の取出しとレコード・グループへの格納

 例 	  関連項目

リストの内容を取り出してレコード・グループに格納する（内容の"スナップショット"を作成する）には、ビルトイン・サブプログラムRETRIEVE_LISTを使用します。リスト項目の内容を保存しておくと、その内容でリストを回復できるようになります。

RETRIEVE_LISTをコールするときには、リストIDとレコード・グループIDを指定して、どのリストを取り出すかを指示します。

リストの内容を取り出してレコード・グループに入れるためには、レコード・グループにVARCHAR2型の2つの列が必要です。列1にはリスト・ラベル値が、列2にはリスト要素の値が入る必要があります。


リスト要素の取出しとレコード・グループへの格納の例

次の例は、現行リスト項目（'list_item1'）の内容をレコード・グループ（orders）へ取り出し、2列問合せレコード・グループ（product_names）を作成し、レコード・グループproduct_namesからの値をリスト項目に移入します。

DECLARE
/*
**  Create the two column non-query record group called
**  orders.  This record group will contain the list item
**  values.  Assign its id to the variable, group_id.
*/
    group1_id    RecordGroup;
    group2_id    RecordGroup
    col1_id      GroupColumn;
    col2_id      GroupColumn;
    it_id        Item := Find_Item('list_item1');
    status       NUMBER;

BEGIN
    group1_id := Create_Group('orders');
/*
**  Add two columns to the new group, using group1_id to
**  identify the group and then retrieve the list item values
**  into the record group.
*/
    col1_id := Add_Group_Column(group1_id,'col1',CHAR_COLUMN,50);
    col2_id := Add_Group_Column(group1_id,'col2',CHAR_COLUMN,50);

    Add_Group_Row(group1_id,1);
    Add_Group_Row(group1_id,2);
    Retrieve_List(it_id, 'orders');
/*
**  Create a two column query record group called product_names.
*/
    group2_id := Create_Group_From_Query('product_names','SELECT
        product.name,product.name FROM product');
    status := Populate_Group('product_names');
/*
**  Populate the list item with the values from the
**  product_names record group.
*/
    Populate_List(it_id,'product_names');
END;


リスト要素の削除について

  関連項目

リスト要素を1度に1つずつ削除することも、リスト全体を消去することもできます。

リスト項目から要素を削除するために使用できるビルトイン・サブプログラムは次のとおりです。

•	CLEAR_LIST

•	DELETE_LIST_ELEMENT

注意: リスト項目の「ほかの値のマッピング」プロパティが「いいえ」に設定され、問合せがオープンしている場合、リスト要素を削除したり、リストを消去しないでください。このような場合にCLEAR_LISTビルトインを使用すると、すでにフェッチされたレコードを表示できなくなる場合があります。

たとえば、値A、BおよびCを含むリスト項目があり、「ほかの値のマッピング」プロパティが「いいえ」に設定されているとします。また、これらの値はデータベースからフェッチされたものであるとします（問合せはオープンしている）。この時点でリスト要素を削除すると、それまでにフェッチされた値（A、BおよびC）を表示する試みがForm Builderによってなされても、要素が削除されたために表示できず、エラーが発生します。

要素を削除する前に、オープンされた問合せがないかどうかをチェックし、オープンされた問合せがあれば、ABORT_QUERYビルトイン・サブプログラムを使用してすべてクローズしてください。


単一のリスト要素の削除

  関連項目

リスト項目から特定の要素を削除するには、DELETE_LIST_ELEMENTビルトイン・サブプログラムを使用します。

DELETE_LIST_ELEMENTをコールするときに、リストの名前またはIDとリスト要素索引を指定して、どの要素を削除するかを指示します。

リスト要素	リスト索引	リスト値
1993	1	1993
1994	2	1994
1995	3	1995

たとえば、次のように指定したとします。

Delete_List_Element('calendar',1);

値'1993'はリスト項目から削除されます。


すべてのリスト要素の削除

  関連項目

リスト項目の内容を削除するには、CLEAR_LISTビルトイン・サブプログラムを使用します。CLEAR_LISTをコールするときに、リストのIDまたは名前を指定して、どのリストを消去するかを指示します。

次に例を示します。

Clear_List(list_id);


ラジオ・グループについて

  関連項目

ラジオ・グループは、相互に排他的な選択肢インタフェースです。各オプションは、個々のラジオ・ボタンで表されます。

ラジオ・グループには、任意の数のラジオ・ボタンを含めることができます。ラジオ・ボタンは、相互に独立してサイズ決定、位置付け、書式設定を行えます。

ランタイムの動作  エンド・ユーザーは、マウスをクリックするか、ボタンまでナビゲートしてから[Select]を押すことにより、ラジオ・ボタンを選択します。ラジオ・ボタンを選択すると、同じラジオ・グループ内のそれまで選択されていたラジオ・ボタンが選択解除されます。実行時には、ラジオ・グループ内のラジオ・ボタンは1度に1つしか選択できません。


ラジオ・グループの値について

  関連項目

ラジオ・グループを作成する際には、グループ内の各ラジオ・ボタンに特定のデータ値を関連付けます。エンド・ユーザーがラジオ・ボタンを選択すると、ラジオ・グループの値は、選択されたボタンに関連付けられている値に変わります。

たとえば、3つの倉庫のうちのどこで注文に応じるかをエンド・ユーザーが指定できるようにするための、3つのラジオ・ボタンを含んだラジオ・グループがあるとします。ラジオ・ボタンのラベルはNew York、Chicago、San Franciscoです。

各ラジオ・ボタンに関連付けられた値は数値による倉庫IDです。

ラベル	関連付けられた値
New York	100
Chicago	200
San Francisco	300

New Yorkというラベルのついたラジオ・ボタンを選択すると、ラジオ・グループの値は100（倉庫ID）に設定されます。エンド・ユーザーが注文をコミットすると、対応するデータベースの列に値100が挿入されます。同様に、ラジオ・グループに値がフェッチまたは割当てされると、フェッチされた値と一致する値をもつラジオ・ボタンが、そのグループ内の選択されたボタンになります。

ラジオ・グループと「その他の値」 ラジオ・グループには、グループ内の特定のラジオ・ボタンに関連付けられた値以外の、フェッチまたは割当てされた値を格納できます。ラジオ・グループを作成するときに、このような「その他の値」をどのように処理するかを指定する必要があります。これには、次の2つの方法があります。

•	そのラジオ・グループでは「その他の値」が無効として拒否されるように指定します。

•	ラジオ・グループの値が「その他の値」の場合、ラジオ・グループ内のどのラジオ・ボタンを選択されたものとするかを指定します。

前述の例で、"New York"というラジオ・ボタンを、「その他の値」がフェッチされるか、ラジオ・グループに割り当てられると、必ず、現在選択されているボタンになることを指定できます。この場合、フェッチされた値149は「その他の値」になり、"New York"というラベルのラジオ・ボタンが現在選択されているボタンになります。

「その他の値」がラジオ・グループにフェッチまたは割当てされた場合、指示されたラジオ・ボタンが現在選択されているボタンになりますが、項目の 値は、新しい値がフェッチまたは割当てされるまで、あるいはエンド・ユーザーが別のボタンを選択するまで、その「その他の値」のままであることに注意してください。


ラジオ・グループの作成

関連項目

ラジオ・グループを作成するときには、新しいラジオ・グループをブロックに挿入するか、既存の項目のタイプを「ラジオ・グループ」に変換することによって項目を変更します。

ラジオ・グループを作成した後、ラジオ・ボタンのラベルの作成、ラジオ・ボタンの値の指定、表示プロパティの設定などの作業を行うことができます。

ラジオ・ボタンを含むラジオ・グループを作成する方法:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しく作成された項目の横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

5	「一般」ノードの下で、「項目タイプ」プロパティを「ラジオ・グループ」に設定します。

6	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、その項目をキャンバスに割り当てる必要があります。

7	オブジェクト・ナビゲータで、新しく作成されたラジオ・グループの横にあるプラスのアイコン [image] をクリックします。

8	「ラジオ・ボタン」ノードをクリックします。

9	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名をもつ新しいラジオ・ボタンが、「ラジオ・ボタン」ノードの下に挿入されます。

10	新しく作成されたラジオ・ボタンの横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

11	「機能」ノードの下の「ラベル」プロパティに、希望するテキストを入力してラジオ・ボタンのラベルを作成します。

12	「機能」ノードの下の「ラジオ・ボタンの値」プロパティに、現在選択されているラジオ・ボタンの値を入力します。各ラジオ・ボタンに割り当てる値は、そのラジオ・グループのデータ型（CHARまたはNUMBER、DATE）と互換性が必要です。

エンド・ユーザーがこのラジオ・ボタンを選択すると、Form Builderでは ラジオ・グループ項目の値は「ラジオ・ボタンの値」プロパティに入力した値に設定されます。同様に、「ラジオ・ボタンの値」プロパティで指定した値がラジオ・グループ項目にフェッチまたは割当てされると常に、現行のラジオ・ボタンがグループ内の選択されたボタンになります。

ヒント: ラジオ・ボタンにNULL値を割り当てるには、「ラジオ・ボタンの値」プロパティをブランクのままにします。

注意: ラジオ・ボタンの値は、ラジオ・グループの「最大長」プロパティによって指定されている文字数より長くしないでください。

13	フェッチまたは割当てされた値が特定のラジオ・ボタンに関連付けられた値のどれでもない場合に、その値をラジオ・グループでどのように処理するかを指定する必要があります。これには、「機能」ノードの下で、ラジオ・グループの「ほかの値のマッピング」プロパティを設定します。

•	「ほかの値のマッピング」プロパティをブランクのままにしておくと、その項目についてはその他の値は許容されないと指定したことになります。ボタンの値のどれとも一致しない値を含んでいる問い合わせレコードは、すべて暗黙的に拒否されます。「その他の値」を割り当てようとする試みは許されません。

•	ラジオ・ボタンのどれかの名前、またはラジオ・ボタンのどれかに関連付けられた値に評価される値を入力します。

注意: 「ほかの値のマッピング」プロパティは、実行時にプログラムによって、データベースからフェッチまたは割当てされたラジオ・グループの値に適用されます。エンド・ユーザーがラジオ・ボタンを選択すると、ラジオ・グループの値は常に、選択されたラジオ・ボタンに関連付けられている値になります。「その他の値」になることはありません。

ヒント: 同じラジオ・グループに属するのはどのラジオ・ボタンかを、エンド・ユーザーが見てわかるようにしておくとよいでしょう。これには、キャンバス上でラジオ・ボタンをグループ化し、必要に応じて、グラフィック・オブジェクトまたはテキストによってそのグループをその他の項目から分離します。


ラジオ・グループの初期値について

  関連項目

次の場合を除いて、有効な初期値を指定する必要があります。

•	ラジオ・グループが「その他の値」を受け入れる場合

•	グループ内のラジオ・ボタンのどれかに関連付けられた値がNULLの場合

注意: 初期値を使用してラジオ・グループのボタンの選択状態を初期化しようとする場合は、Form Builderによってブロック内にレコードが作成されるまでは初期値は割り当てられないことに注意してください。NULLレコード、つまりまだ初期化されていないレコードの中のラジオ・グループは、どのラジオ・ボタンも選択されていない状態で表示されます。


ラジオ・グループの初期値の指定

  関連項目

ラジオ・グループの初期値を指定する方法:

1	オブジェクト・ナビゲータで、希望するラジオ・グループの横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

2	「データ」ノードの下で、「初期値」プロパティを希望する値に設定します。


実行時のラジオ・グループの操作

  関連項目

Form Builderには、エンド・ユーザーがラジオ・グループを操作したときに発生するインタフェース・イベントに応答するためのトリガーが用意されています。

ラジオ・ボタン・コードの実行 ラジオ・ボタンによってコマンドを実行または開始するためには、ラジオ・ボタンが選択されたときに起動するWhen-Radio-Changedトリガーをそのラジオ・ボタンに付加する必要があります。

ラジオ・ボタン・イベントが発生すると、つまり、エンド・ユーザーがラジオ・ボタンを選択すると、When-Radio-Changedトリガーのコードが実行されます。

プログラムによるラジオ・ボタン・プロパティの設定 次のビルトイン・サブプログラム・ルーチンを使用して、ラジオ・ボタンのプロパティをプログラムによって設定し、入手することができます。

•	CONVERT_OTHER_VALUE

•	DISPLAY_ITEM

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


テキスト項目について

  関連項目

テキスト項目は、テキストを表示するインタフェースで、テキストを編集することもできます。テキストは、単一行または複数行のどちらかで表示されます。

実行時の動作 テキスト項目は空の四角形のボックス、またはコンテナとして表示されます。デフォルトでは、任意のテキスト項目からエディタを起動できます。


テキスト項目の作成

  関連項目

テキスト項目を作成する方法:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しく作成された項目の横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

5	「一般」ノードの下で、「項目タイプ」プロパティを「テキスト項目」に設定します。（これは、新しい項目が作成されたときのデフォルトの設定です。

6	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、その項目をキャンバスに割り当てる必要があります。


テキスト項目のデータ型について

  関連項目

Form Builderでは、いくつかのデータ型がサポートされています。可能な場合は、標準のForm Builderデータ型を使用してください。これらのデータ型はOracle本来のデータ型に基づいているため、パフォーマンスとアプリケーションの移植性に優れています。

Form Builderでは、次の標準データ型をサポートしています。

•	CHAR

•	NUMBER

•	DATE

•	DATETIME

•	LONG

Form Builder V3 データ型は、下位互換性のためにのみに組み込まれているものです。書式マスクまたは「文字揃え」プロパティ、あるいはその両方を用いて標準Form Builderのデータ型（前述）を使用し、同じ書式化特性を得ることができます。Form Builder V3 データ型は次のとおりです。

•	ALPHA

•	EDATE

•	INT（整数）

•	JDATE（ユリウス暦）

•	MONEY

•	RINT（右揃え整数）

•	RMONEY（右揃え金額）

•	RNUMBER（右揃え数字）

•	TIME


テキスト項目のデータ型変更

  関連項目

テキスト項目のデータ型を変更する手順は次のとおりです。

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「データ」ノードの下で、「データ型」プロパティを希望するデータ型に設定します。

テキスト項目のデフォルトのデータ型は、CHARです。


単一行テキスト項目と複数行テキスト項目について

  関連項目

Form Builderでは、単一行テキスト項目と複数行テキスト項目の両方がサポートされます。

（「機能」ノードの下の）「複数行」プロパティによって、そのテキスト項目に単一行のテキストが表示されるか、複数行のテキストが表示されるかが決まります。1行に入れることのできる文字数は、テキスト項目の幅と、その項目に割り当てられたフォントによって決まります。複数行テキスト項目には、1行の終わりに達すると次の行へテキストを改行することによって、複数行のテキストが格納されます。

Form Builderでは、単一行テキスト項目のキャリッジ・リターンはNEXT_ITEMイベントとして処理されます。複数行テキスト項目のキャリッジ・リターンは、カーソルを次の行の先頭へ移動する働きをします。

ヒント: 単一行テキスト項目は、複数行テキスト項目に比べて使用するメモリーが少なくてすみます。アプリケーションで特に複数行の機能が必要とされる場合を除いて、通常は単一行テキスト項目を使用してください。

「単一行」および「複数行」プロパティ 次の表は、単一行テキスト項目または複数行テキスト項目に固有のプロパティを示したものです。

プロパティ	単一行	複数行
垂直スクロール・バー表示	いいえ	はい
ラップ形式	いいえ	はい
データ隠蔽	はい	いいえ
自動スキップ	はい	いいえ
書式マスク	はい	いいえ


テキスト項目の複数行化

  関連項目

テキスト項目を複数行にする方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「複数行」プロパティを「はい」に設定します。

ヒント: 「複数行」プロパティを「はい」に設定すると、テキスト項目は複数行のテキストを格納できるようになりますが、複数行を表示するのに十分な大きさに自動的に拡張されるわけではありません。希望する行数および文字数が表示されるように、「幅」、「高さ」、「フォント・サイズ」、「最大長」プロパティを設定する必要があります。

注意: 複数行テキスト項目のデータ型はCHAR、ALPHAまたはLONGにする必要があります。


複数行テキスト項目のラップ・スタイルについて

  関連項目

複数行テキスト項目について、複数のテキスト・ラッピング・スタイルを指定することができます。

なし	テキストのラッピングを行いません。フィールドの幅を越えるテキストは、表示されません。
文字	表示可能な最後の文字の後でテキストを区切り、その後の文字は次の行に表示します。
単語	表示可能な最後の完全な単語の後でテキストを区切り、その後の単語や文字は次の行に表示します。


複数行テキスト項目のラップ・スタイルの指定

  関連項目

複数行テキスト項目のラップ・スタイルを指定する方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「ラップ形式」プロパティを「なし」または「文字単位」、「単語」に設定します。


複数行テキスト項目の垂直スクロール・バーについて

  関連項目

複数行テキスト項目にスクロール・バーを追加できます。スクロール・バーにより、テキスト項目のデータを表示したときにエンド・ユーザーがスクロール・アップやスクロール・ダウンできるようになります。

Form Builderは、スクロール・バーをテキスト項目の四角形の内側に描画します。したがってスクロール・バーを追加すると、テキスト項目境界線の内部に納まる文字数を減らすことになります。


複数行テキスト項目への垂直スクロール・バーの追加

  関連項目

複数行テキスト項目にスクロール・バーを追加する方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「表示」ノードの下で、「スクロール・バー垂直表示」プロパティを「はい」に設定します。


テキスト項目の最大長について

  関連項目

テキスト項目または表示項目に格納できる最大文字数を指定できます。Form Builderは、項目の「高さ」および「幅」プロパティとは独立して、最大長を強制します。

単一行テキスト項目は、格納できる文字数が表示可能な文字数より多い場合、水平にスクロールできます。Form Builderでは、エンド・ユーザーが文字を入力すると、常にカーソルが表示されているように、テキスト項目内の値が水平にスクロールされます。

テキスト項目に表示できる文字の数は、テキスト項目の幅、フォント属性、ランタイム・プラットフォームなどの要素の組合せによって決まります。「最大長」プロパティと「幅」プロパティの最適な設定を導出するために、実験が必要となる場合があります。


テキスト項目の最大長の指定

  関連項目

テキスト項目の最大長を指定する手順は次のとおりです。

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「データ」ノードの下で、「最大長」プロパティに格納可能な最大文字数を指定します。

注意: 項目が実表項目の場合、「最大長」プロパティは対応するデータベースの列のサイズより大きい値には設定しないでください。


必須テキスト項目値について

  関連項目

あるテキスト項目から別のところへナビゲートする前にそのテキスト項目に値を入力するように、エンド・ユーザーに要求できます。

Form Builderでは、「必須」プロパティを「はい」に設定すると次のように動作します。

•	テキスト項目に有効な値が入るまでは、エンド・ユーザーは「次の項目へ」ボタンを押したり、マウスをクリックしてテキスト項目から別のところへナビゲートすることはできません。

•	必須テキスト項目に有効な値が入るまでは、エンド・ユーザーはレコードをコミットできません。


テキスト項目値の必須化

  関連項目

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「データ」ノードの下で、「必須」プロパティを「はい」に設定します。

注意: デフォルト・ブロック機能を使用してブロックを作成すると、Form Builderにより、NOT NULL列制約をもつ列に関連するすべてのテキスト項目について、「必須」プロパティは自動的に「はい」に設定されます。列制約の詳細は『SQL言語リファレンス』を参照してください。


テキスト項目の固定長値について

  関連項目

「データ」ノードの下の「固定長」プロパティを設定することによって、テキスト項目に固定した数の文字を入力するようにエンド・ユーザーに要求できます。「固定長」プロパティは、電話番号、製品番号、注文番号などの、常に同じ数の文字からなる値の妥当性の確保に役立ちます。


テキスト項目の固定長値の要求

  関連項目

固定長値を要求する方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「データ」ノードの下で、「最大長」プロパティを希望する値に設定します。

3	（やはり「データ」ノードの下にある）「固定長」プロパティを「はい」に設定します。

「固定長」プロパティを「はい」に設定すると、テキスト項目は「最大長」プロパティで指定された文字数を含んでいる場合にのみ有効になります。

注意: Form Builderでは、固定長テキスト項目内に、「必須」プロパティが「オン」になっていない場合には、NULL値が受け入れられます。


テキスト項目の値の有効範囲の指定について

  関連項目

テキスト項目が特定の範囲の値のみを受け入れるように指定できます。この範囲は、プロパティ・パレットの「データ」ノードにある「最大許容値」プロパティと「最小許容値」プロパティによって定義します。その項目については、定義された範囲内（指定された最大値と最小値を含む）のすべての値が受け入れられるようになります。「最大許容値」または「最小許容値」をブランクのままにしておくと、それぞれ範囲の上限または下限がなくなります。この2つのプロパティを両方ともブランクのままにしておくと、範囲は設定されません。


テキスト項目の値の有効範囲の指定

  関連項目

許容される値の範囲を定義する方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「データ」ノードの下で、「最小許容値」プロパティに最小有効値を、「最大許容値」プロパティに最大有効値を指定します。両方のプロパティとも「データ」ノードにあります。


テキスト項目の小文字または大文字への制限について

  関連項目

「小/大文字区別」プロパティを使用して、エンド・ユーザーが入力した値が大文字または小文字のテキストに自動的に変換されるように設定できます。「小/大文字区別」プロパティは、エンド・ユーザーが入力した値にのみ適用されます。フェッチされたまたは割り当てられた値は変更されません。

Form Builderでは、「小/大文字区別」プロパティの設定により次のように動作します。

小/大文字区別	結果
複合	テキストは、入力されたとおりに表示されます。
大文字	小文字は大文字に変換されます。
小文字	大文字は小文字に変換されます。


テキスト項目の大文字または小文字への制限

  関連項目

ユーザーがテキスト項目に入力したテキストを大文字または小文字に制限する方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「小/大文字区別」プロパティを「複合」、「大文字」または「小文字」に設定します。


文字位置について

  関連項目

テキスト項目に表示されたデータは左揃え、中央揃えまたは右揃えで揃えることができます。これは、プロパティ・パレットの「機能」ノードにある「文字位置」プロパティで指定します。

注意: スクロール可能なテキスト項目に右揃えまたは中央揃えを設定すると、表示される値が文字揃えされた結果、エンド・ユーザーには見えなくなる可能性があります。また、ウィンドウ・マネージャの中には中央揃えまたは右揃えされたテキストを表示できないものもあります。


文字位置の指定

  関連項目

文字位置を指定する方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」 ノードの下で「文字位置」プロパティを「左揃え」、「右揃え」、「中央揃え」、「始点」、「終点」のいずれかに設定します。


テキスト項目値の非表示化について

  関連項目

単一行テキスト項目を保護対象に指定することによって、そのテキスト項目に格納された値を隠すことができます。たとえば、パスワード・テキスト項目を保護対象にすることによって、エンド・ユーザーの入力が画面にエコーしないようにできます。


テキスト項目値の非表示化

  関連項目

テキスト項目に入力された値を隠す方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「データ隠蔽」プロパティを「はい」に設定します。


自動スキップについて

  関連項目

自動スキップ機能を使用すると、エンド・ユーザーが単一行テキスト項目からナビゲーション順序の次の項目へ明示的にナビゲートする必要がなくなるので、データ入力のスピードが上がります。

「自動スキップ」プロパティが使用可能になっていると、エンド・ユーザーがテキスト項目の値の最後の文字を入力または変更したとき、入力フォーカスは自動的に次のナビゲート可能項目へ移ります。

Form Builderは、項目の「最大長」プロパティに基づいて、値の最後の文字を識別します。


自動スキップの指定

  関連項目

自動スキップを指定する方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「自動スキップ」プロパティを「はい」に設定します。


カーソル位置の保持について

  関連項目

「機能」ノードの下の「カーソル位置を保持」プロパティを使用して、テキスト項目内のカーソルの位置を制御できます。

「カーソル位置を保持」が「はい」に設定されていると、そのテキスト項目に最後に入力フォーカスが置かれていたときとまったく同じ位置にカーソルが置かれます。（現行セッション中、そのテキスト項目にそれまで入力フォーカスが置かれていない場合には、「カーソル位置を保持」プロパティは効果がありません。）


テキスト項目内のカーソル位置の保持

  関連項目

テキスト項目内のカーソル位置を保持する方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「カーソル位置を保持」プロパティを「はい」に設定します。


書式マスクによるテキスト項目値の書式設定について

  関連項目

書式マスクを使用して、単一行テキスト項目内の数値と日付の書式を設定できます。テキスト項目に書式マスクが割り当てられていると、その項目にエンド・ユーザーが入力した値やその項目にフェッチまたは割当てされた値はすべて、書式マスクで指定された書式で表示されます。

次の例は、書式マスクがNUMBER値にどのような影響を与えるかを示したものです。

書式マスク	フェッチされた値	表示される値
$9,999,999.99	3246000	$3,246,000.00

書式マスクを使用して、エンド・ユーザーが入力した値にダッシュや通貨記号などの特殊文字を自動的に埋め込むことができます。

書式マスクとデータ型 書式マスクは次のデータ型をもつテキスト項目に適用できます。

•	NUMBER

•	DATE

•	DATETIME

•	TIME

書式マスクはテキスト項目のデータ型と互換性が必要です。たとえば、次の書式マスクはDATETIMEのテキスト項目でのみ使用できます。これは、この書式マスクが必要とする日付と時刻の情報を両方とも備えているのはこの型のみのためです。

書式マスク	表示される値
DDfmMONTH YYYY HH:MI	12 JUNE 1994 12:32


テキスト項目への書式マスクの割当て

  関連項目

テキスト項目に書式マスクを割り当てる方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「データ」ノードの下で、「書式マスク」プロパティに書式マスクの文字を直接入力します。

注意:

•	項目のデータ型は、書式マスクと互換性が必要です。

•	テキスト項目の「最大長」プロパティは、書式マスクによって処理される追加文字をテキスト項目に格納できるように、設定する必要があります。

•	デフォルトの書式はNLSパラメータの設定の影響を受けます。


NUMBER値の場合のテキスト項目書式マスクの記号

 例 	  関連項目

次の表は、数値の書式マスクで最もよく使用される記号を示したものです。

記号	説明
9	1つの数字を表します。9の数で、テキスト項目が表示できる桁数が決まります。
0	これがある場合、先行ゼロを表示します。
$	数値の前にドル記号を付けます。
B	先行ゼロをブランクとして表示します。
MI	負の値の後に"-"を表示します。
PR	負の値を<>で囲んで表示します。
,（コンマ）	必要に応じて、この位置にコンマを表示します。
. .（decimal）	この位置に小数点を表示します。

数値における埋込み文字 書式マスクの中で引用符で囲んで指定することにより、NUMBER値の中に文字列を埋め込むことができます。埋込み文字は通常、標準的な部品番号や電話番号などの固定長の値に使用されます。

次の書式マスクでは、数値にダッシュが埋め込まれます。

書式マスク	表示される値
999"-"99"-"9999	566-23-5733

埋込み文字列の位置はテキスト項目内で固定されており、格納されている値の桁数によって変わることはありません。


NUMBER値の場合のテキスト項目書式マスクの記号の例

例

次の表は、数値の場合の書式マスクの例を示したものです。

書式マスク	入力された数値	結果
999	223.4	223
$9,999.99	3445.34	$3,445.34
999"-"999"-"9999"	4083543957	408-354-3957
99.9	00027.48	27.5
099.9	00027.48	00027.5
[B99,9]	00027.48	27.5
99.9MI	-24	24.0-
99.99"%"	66.17	66.17%


DATE値およびDATETIME値の場合のテキスト項目書式マスクの記号

 例 	  関連項目

次の表は、日付/時刻の書式マスクで最もよく使用される記号を示したものです。

記号	説明
9	1つの数字を表します。9の数で、テキスト項目が表示できる桁数が決まります。
MM	月（01～12）。
MON	月の名前。3文字の略称。
MONTH	月の名前。9文字になるまでブランクで埋め込まれます。
DD	（月のうちの）日（1～31）。
DY	曜日。3文字の略称。
DAY	曜日。9文字になるまでブランクで埋め込まれます。
YYYY、YYY、YY、 またはY	4桁または3桁、2桁、1桁で表した年。
HHまたはHH12	時（1～12）。
HH24	時（0～23）。
MI	分（0～59）。
SS	秒（0～59）。
AMまたはA.M.、PMまたはP.M.	正午標識。
TH	序数（たとえば、"15TH"は"DDTH"）。
SP	スペル・アウトした数（たとえば、"FIFTEEN"は"DDSP"）。
SPTHまたはTHSP	スペル・アウトした序数（たとえば、"FIFTEENTH"は"DDSPTH"）
FM	MONTHやDAYなどの記号による埋込みを抑制するために使用する接頭辞。HHやMMなどの数値記号の先行ゼロも抑制されます。FMはトグルです。日付書式モデルの中でFMを2回指定すると、最初のFMの後の要素についてはブランクの埋込みと先行ゼロは抑制され、2つ目のFMの後では再び使用可能になります。

DATE値における埋込み文字 日付/時刻書式マスクで文字列を埋め込むには、その文字列を二重引用符で囲みます。（注意: 二重引用符はそれ自体を文字としてマスクに埋め込むことはできません。たとえば、マスクをDD"""MMとしてコーディングして、DD"MMのような文字列を表示させようとすると、予想外の結果になります。）

スペースおよび記号文字（/ ., : ' - ）は、二重引用符で囲まずに日付/時刻書式マスクに埋め込むことができます。

例:

書式マスク	表示される値
"今日の日付は、" fmDAY, fmMONTH DDTH	今日の日付は、Tuesday, March 16TH


DATE値およびDATETIME値の場合のテキスト項目書式マスクの記号の例

例

次の表は、DATE値およびDATETIME値の場合の書式マスクの例を示したものです。

書式マスク	データ型	結果
MM/DD/YYYY	DATE	03/15/1995
MONTH 15 YYYY	DATE	MARCH 15 1995
fmMONTH 15 1995	DATE	MARCH 15 1995
Day, "the" DDTH "of" fmMonth	DATE	Wednesday, the 15TH of March
J	DATE	2449792
HH:MI PM	TIME	10:30 PM
HH24:MI	TIME	20:30
MM-DD-YY  HH:MI AM	DATETIME	03-15-95  06:30 AM
FmMM-DD-YY fmHH:MI AM	DATETIME	3-15-95  06:30 AM
fmMonth YY	DATETIME	March 95


日付の書式マスクについて

  関連項目

Form Builderでは、書式マスクを使用して、次のようなさまざまな場合について日付の変換操作を実行します。

•	日付を文字列または文字列を日付に変換する必要がある場合

•	エラー・メッセージ内で表示する、ユーザーが入力した日付を変換する必要がある場合

日付変換操作が異なれば書式マスクも異なります。自分で作成する任意の書式マスク（Format_Maskプロパティによる）は、1つの特定の項目に付加されます。そのようなマスクは、特別に作成した場合にのみ存在します。Form Builderによって使用される他の日付書式マスクは一般的なもののみで、特定の状況ですべての日付項目について使用されます。これらの汎用マスクは常に存在しますが、それらの設定を制御することができます。

さまざまな変換操作および各変換操作でForm Builderによって使用される書式マスクを、次の2つの表に示します（日付から文字列および文字列から日付）。マスクについては、表の後で説明します。

これらすべての日付書式マスクの設定は制御できます。設計時にプロパティによって設定できるものもあります。また、ランタイム・オペレーティング・システムの環境変数によって設定できるものもあります。

一般的な注意点は次のとおりです。

•	必要がない限り、個々の項目について書式マスクは作成しないでください。Form Builderでは、独自のマスクを持たない項目について、いずれかの汎用マスクが使用されます。通常は汎用マスクのみで十分に機能します。個々のマスクをハードコードすると、移植と各国語へのローカライズが困難になります。

•	汎用マスクをアクティブに設定し、それらの値を調整します。リリース4.5の動作との一貫性が必要でない限り、デフォルト値は使用しないでください（マスク値の設定の詳細は、次に示す個々のマスクについての表で説明します）。

日付から文字列への変換を必要とする操作	使用される書式マスク
書式設定操作:
書式マスクを持つ項目内の値を表示する	その項目の書式マスク
書式マスクを持たない項目内の値を表示する	出力
日付値リスト列内の値を表示する	出力
Formsの内部操作:
SYSTEM.CURRENT_DATETIMEを取得する	ビルトイン
SYSTEM.EFFECTIVE_DATEを取得する	ビルトイン
日付値リスト列からのCHAR戻り項目を設定する	ビルトイン（注意を参照）
$$DATE$$、$$DATETIME$$、$$DBDATE$$または$$DBDATETIME$$からCHAR項目の初期値を設定する	ビルトイン（注意を参照）
GET_ITEM_PROPERTY（項目, DATABASE_VALUE）	ビルトイン（注意を参照）
GET_ITEM_PROPERTY（項目, ITEM_DEFAULT_VALUE）	ビルトイン（注意を参照）
GET_ITEM_PROPERTY（項目, RANGE_HIGH/LOW）	ビルトイン（注意を参照）
GET_LIST_ELEMENT_VALUE（項目, 値）	ビルトイン
設計時に定義された日付パラメータのGET_PARAMETER_ATTR（リスト, キー, パラメータ・タイプ, 値）	ビルトイン
NAME_IN（変数）	ビルトイン
PL/SQL:
PL/SQL内のTO_CHAR（値, format_mask）	その書式マスク
PL/SQL内のTO_CHAR（値）	PLSQL
PL/SQL内の暗黙的な変換	PLSQL
データベースSQL（PL/SQLに埋め込まれたデータベースSQLを含む）:
データベースSQL内のTO_CHAR（値, 書式マスク）	その書式マスク
データベースSQL内のTO_CHAR（値）	データベース
データベースSQL内の暗黙的な変換	データベース
データベースSQLによって返された日付値をFormsのCHAR変数に格納する	データベース
Formsの日付変数をCHAR列に挿入する必要がある場合またはCHAR列と比較する必要がある場合に変換する	データベース
PL/SQLデバッグ:
デバッガ内の項目またはパラメータの値を表示する	ビルトイン
デバッガ内のローカルなPL/SQL変数の値を表示する	PLSQL
注意:

フォームのRuntime_Compatibility_Modeプロパティを4.5に設定すると、この変換操作では、出力書式マスクが代わりに使用されます。

文字列から日付への変換を必要とする操作	使用される書式マスク
書式設定操作:
書式マスクを持つ項目から値を取り出す	その項目の書式マスク
書式マスクを持たない項目から値を取り出す	入力
Formsの内部操作:
SYSTEM.EFFECTIVE_DATEを設定する	ビルトイン
CHAR値リスト列からDATE/DATETIME戻り項目を設定する	ビルトイン（注意を参照）
CHAR変数からDATE/DATETIME項目の初期値を設定する（コロンを使用）	ビルトイン（注意を参照）
ADD_LIST_ELEMENT（項目, 索引, ラベル, 値）	ビルトイン
設計時に定義された日付パラメータのSET_PARAMETER_ATTR（リスト, キー, パラメータ・タイプ, 値）	ビルトイン
COPY（値, 変数）	ビルトイン
DEFAULT_VALUE（値, 変数）	ビルトイン
PL/SQL:
TO_DATE（値, format_mask）	その書式マスク
PL/SQL内のTO_DATE（値）	PLSQL
PL/SQL内の暗黙的な変換	PLSQL
データベースSQL（PL/SQLに埋め込まれたデータベースSQLを含む）:
データベースSQL内のTO_DATE（値, format_mask）	その書式マスク
データベースSQL内のTO_DATE（値）	データベース
データベースSQL内の暗黙的な変換	データベース
データベースSQLによって返されたCHAR変数をFormsのDATE変数に格納する	データベース
FormsのCHAR変数を日付列に挿入する必要がある場合または日付列と比較する必要がある場合に変換する	データベース
PL/SQLデバッグ:
デバッガ内の項目またはパラメータの値を設定する	ビルトイン
デバッガ内のローカルなPL/SQL変数の値を設定する	PLSQL
注意:

フォームのRuntime_Compatibility_Modeプロパティを4.5に設定すると、この変換操作では、入力書式マスクが代わりに使用されます。

日付書式マスクのタイプ

Form Builderでは、次の日付書式マスクを使用します。

1	個々の項目についてユーザーが作成する日付書式マスク

2	PLSQL日付書式マスク

3	ビルトイン日付書式マスク

4	データベース日付書式マスク

5	入力日付書式マスク

6	出力日付書式マスク

7	エラー日付書式マスク

1.  個々の項目の日付書式マスク

個々の項目の日付書式マスクは、Format_Maskプロパティを使用して作成し、設定します。前述のとおり、汎用マスクで十分な場合は個々のマスクを作成しないようにしてください。

2.  PLSQL日付書式マスク

このマスクはPLSQL_Date_Formatプロパティで設定します。新しいアプリケーションの場合、このプロパティを、世紀および時刻に関する完全な情報を含むマスクに設定することを強くお薦めします。また、ビルトイン日付書式マスクと同じ設定を使用することをお薦めします（下の例を参照）。

3.  ビルトイン日付書式マスク

このマスクはBuiltin_Date_Formatプロパティで設定します。新しいアプリケーションの場合、このプロパティを、世紀および時刻に関する完全な情報を含むマスクに設定することを強くお薦めします。また、PLSQL日付書式マスクと同じ設定を使用することをお薦めします（下の例を参照）。

4.  データベース日付書式マスク

Formsアプリケーション内のデータベース・セッションは、それぞれ1つのデータベース日付書式マスクを持ちます。このマスクは、問合せを評価する過程で、文字列を日付に、または日付を文字列に変換するために、データベース・サーバーによって使用されます。

このマスクのデフォルト値はOracle ServerのNLS_DATE_FORMAT（またはNLS_LANGやNLS_TERRITORY）初期化パラメータによって設定されます。デフォルト値は、クライアントのNLS_LANGおよびNLS_DATE_FORMAT環境変数を設定することにより、特定クライアントのすべての新しいデータベース・セッションで上書きできます。

Formsアプリケーション内では、ALTER SESSIONを発行することにより、セッション単位でマスク値を上書きできます。マスク値がアプリケーションのPLSQL_Date_FormatプロパティおよびBuiltin_Date_Formatプロパティと同じ書式マスクに設定されている場合、アプリケーションの論理を簡素化できます。（次の例を参照してください。）

SESSIONオプションを指定してOPEN_FORMを実行すると、オープンされたフォームは新しいデータベース・セッションを持つことに注意してください。そのため、そのセッションも変更することをお薦めします。

PLSQL、ビルトインおよびデータベース・マスクの作成例

これらのマスクを作成し、調整するには、アプリケーションの初期フォームに次の記述を含めることができます。

SET_APPLICATION_PROPERTY(PLSQL_DATE_FORMAT,     'YYYY/MM/DD HH24:MI:SS');

SET_APPLICATION_PROPERTY(BUILTIN_DATE_FORMAT,   'YYYY/MM/DD HH24:MI:SS');

FORMS_DDL('ALTER SESSION SET NLS_DATE_FORMAT = ''YYYY/MM/DD HH24:MI:SS''');

5.  入力日付書式マスク

入力日付書式マスク（実際は一連のマスク）は、書式マスクを持たない項目から値を取り出すために使用します。つまり、ユーザーが入力する文字列を標準形式の日付値に変換するために使用します。

システム管理者またはエンド・ユーザーは、環境変数FORMS60_USER_DATE_FORMATおよびFORMS60_USER_DATETIME_FORMATを設定して、それぞれDATE型およびDATETIME型の項目から値を取り出すための書式マスクを指定できます。それぞれの場合について、複数の書式マスクを垂直バーで区切って指定できます。ユーザーが入力した文字列を変換する場合、書式マスクは、変換が正常に行われるまで、または書式マスクがなくなるまで、指定の順序で使用されます。

たとえば、実行時の環境変数は次のように設定されます。

FORMS60_USER_DATE_FORMAT       FXFMDD-MM-RRRR

FORMS60_USER_DATETIME_FORMAT   FXFMDD-MM-RRRR HH24:MI:SS|FXFMDD-MM-RRRR HH24:MI

これにより、エンド・ユーザーは31-6-97で例示されている書式で、書式マスクなしでDATE項目に値を入力しなければならなくなります（RRRRによって1950年と2049年の間の年は世紀を省略して入力できます）。ただし、DATETIME項目の場合、エンド・ユーザーは31-6-97 13:45:30で例示されている形式または31-6-97 13:45（これは31-6-97 13:45:00と解釈されます）で例示されている形式で値を入力できます。

これら2つの実行時環境変数が定義されていない場合、Form Builderでは後述するデフォルトの書式マスクが作成されます。

6.  出力日付書式マスク

出力日付書式マスクは、書式マスクを持たない項目または値リスト列の値を表示するために使用します。実際には2つのマスクがあり、1つはDATE項目と値リスト列用、もう1つはDATETIME項目用です。（DATETIME値リスト列は存在しません）。システム管理者またはエンド・ユーザーは、環境変数FORMS60_OUTPUT_DATE_FORMATおよびFORMS60_OUTPUT_DATETIME_FORMATを設定して、これらの書式マスクを明示的に指定できます。

FORMS60_OUTPUT_DATE_FORMATを定義せず、FORMS60_USER_DATE_FORMATを定義する場合、DATE項目の出力日付書式マスクは、最初の書式マスクを取り（最初の垂直バーまでの値）、すべてのオカレンスからFXとFMを取り除くことにより、FORMS60_USER_DATE_FORMATから取得されます。

たとえば、FORMS60_OUTPUT_DATE_FORMATを定義せず、FORMS60_USER_DATE_FORMATをFXFMDD-MM-RRRR|FXFM-MON-RRRRとして定義する場合、DATE項目の出力日付書式マスクは、DD-MM-RRRRとなります。

FORMS60_OUTPUT_DATE_FORMATおよびFORMS60_USER_DATE_FORMATのどちらも定義しない場合、Form Builderでは、後述するデフォルトの書式マスクが作成されます。

DATETIME項目についても同様の規則があります。

7.  エラー日付書式マスク

エラー書式マスクはForm Builderによって使用され、エンド・ユーザーが日付項目に無効な値を入力したときに発行する特定のエラー・メッセージを生成します。（実際にはDATE項目用とDATETIME項目用の2つのマスクがあります。）

次に例を示します。

FRM-50012： Date must be entered in a format like <error_date_format>

FRM-50025： Date/time must be entered in a format like <error_datetime_format>

システム管理者またはエンド・ユーザーは、環境変数FORMS60_ERROR_DATE_FORMATおよびFORMS60_ERROR_DATETIME_FORMATを設定して、これらの書式マスクを明示的に指定できます。

FORMS60_ERROR_DATE_FORMATを定義せず、FORMS60_USER_DATE_FORMATを定義する場合、DATE項目のエラー日付書式マスクは、垂直バーを含むFORMS60_USER_DATE_FORMATの値全体として解釈されます。

FORMS60_ERROR_DATE_FORMATおよびFORMS60_USER_DATE_FORMATのどちらも定義しない場合、Form Builderでは、後述するデフォルトの書式マスクが作成されます。

DATETIME項目についても同様の規則があります。

入力マスク、出力マスクおよびエラー・マスクのデフォルト値

実行時環境変数FORMS60_USER_DATE_FORMATおよびFORMS60_USER_DATETIME_FORMATのどちらも設定しない場合は、DATE項目およびDATETIME項目の入力、出力およびエラーの各マスクは上述の規則によって指定されません。これらの環境変数はどちらも設定することをお薦めします。設定すると、次に示す複雑な規則が適用されずに済みます。

Form Builderでは、通常は4.5以前のリリースとの互換性を提供するデフォルト値が割り当てられます。これらのリリースにおけるデフォルト値の動作は実際には多少異なる場合がありますが、そのような動作は前のリリースにおいてエラーと解釈されます。

次の規則によってDATE2項目とDATE4項目が区別され（詳細は、Builtin_Date_Formatプロパティを参照）、データ型がDATEの値リスト列はDATE2オブジェクトとして解釈されるという追加条件があります。DATETIME型の値リスト列は存在せず、値リスト列はビルトインに直接組み込まれないことに注意してください。

Form Builderは現行のNLS環境から取得された書式マスクによって起動します。これは、環境変数NLS_DATE_FORMATを設定することにより、明示的に指定できます。指定しない場合は、NLSによって現行の言語に基づくデフォルトの書式マスクが計算されます。このNLS書式マスクを"<YY_mask>"と呼びます。

次に、Form Builderによって、次に示すとおり<YY_mask>から2番目の書式マスクが計算されます（"<YYYY_mask>"と呼びます）。<YY_mask>が"YY"を含み、"YYYY"を含まない場合、<YYYY_mask>は<YY_mask>に設定されますが、"YY"は"YYYY"に置き換えられます。同様に、"yy"、"RR"または"rr"は、<YYYY_mask>内の"yyyy"、"RRRR"または"rrrr"によって置き換えられます。それ以外の場合、<YYYY_mask>は<YY_mask>に設定されます。

前述の条件の下で、DATE2、DATE4およびDATETIMEの各オブジェクトについて、残りの未指定の入力書式マスクは次のようになります。

   DATE2:    FXFM<YY_mask>

   DATE4:    FXFM<YYYY_mask>

   DATETIME: FXFM<YYYY_mask> HH24:MI:SS

FXFM<YYYY_mask> HH24:MI

書式マスクにFXまたはFMがすでに含まれている場合、先頭のFXFMは省略されます。

次に、任意のFXおよびFMのオカレンスは、<YY_mask>および<YYYY_mask>から削除されます。

前述の条件の下で、残りの未指定の出力書式マスクは次のようになります。

   DATE2:    <YY_mask>

   DATE4:    <YYYY_mask>

   DATETIME: <YYYY_mask> HH24:MI:SS

最後に、残りの未指定のエラー書式マスクについて、<YY_mask>および<YYYY_mask>の最初のRR、rr、RRRRまたはrrrrのオカレンス（存在する場合）は、それに対応する数のYまたはyによって置き換えられます。

上記の条件の下で、残りの未指定のエラー書式マスクは次のようになります。

   DATE2:    <YY_mask>

   DATE4:    <YYYY_mask>

   DATETIME: <YYYY_mask> HH24:MI[:SS]


テキスト項目への値リスト（LOV）の割当てについて

  関連項目

「値リスト」ノードの下の「値リスト」プロパティを使用して、テキスト項目に値リストを割り当てることができます。テキスト項目に値リストが割り当てられると、そのテキスト項目に入力フォーカスがある間はいつでも、エンド・ユーザーは「List」を押して値リストを表示できます。

値リストは再使用可能なオブジェクトであり、プロパティ・パレットで個別に定義する必要があります。


テキスト項目への値リスト（LOV）の割当て

  関連項目

テキスト項目に値リスト（LOV）を割り当てる方法:

1	オブジェクト・ナビゲータで、値リストを付加したいテキスト項目の横にあるオブジェクト・アイコンをダブルクリックします。これで、「プロパティ・パレット」が表示されます。

2	「値リスト」ノードの下で、「値リスト」プロパティ・ポップリストから希望する値リストを選択します。


実行時のテキスト項目の操作

  関連項目

Form Builderには、エンド・ユーザーがテキスト項目を操作したときに発生するインタフェース・イベントに応答するためのトリガーが用意されています。

テキスト項目のコードの実行 テキスト項目でコマンドを実行したりコマンドを開始したりするには、エンド・ユーザーがそのテキスト項目にナビゲートしたときに起動するWhen-New-Item-Instanceトリガーを付加する必要があります。

NEW_ITEMイベントが発生すると、When-New-Item-Instanceトリガー内のコードが実行されます。

プログラムによるテキスト項目プロパティの設定 次のビルトイン・サブプログラムを使用して、テキスト項目プロパティをプログラムによって設定し、入手できます。

•	CONVERT_OTHER_VALUE

•	DISPLAY_ITEM

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


JavaBeansの追加について

  関連項目

JavaBeansを組み込むことによってWebFormアプリケーションの機能を拡張できます。

JavaBeansは、Javaで記述されJavaBean仕様に適合したプログラム単位です。JavaBeansとアプリケーションを統合すると、フォームの機能を補強する特殊機能を実行できます。

JavaBeansの値および特性の詳細は、「プラグイン可能Javaコンポーネントを使用したアプリケーションの拡張」を参照してください。

Beanへのコンテナの提供

JavaBeanとアプリケーションを正しく統合するには、Java Beanにコンテナを提供する必要があります。このコンテナ（「ラッパー」とも呼ばれる）では、IViewインタフェースというWebFormsで定義されたインタフェースをインプリメントする必要があります。

実行時にJavaBeansとフォームの通信も行う場合は、コンテナでVBeanクラスも拡張する必要があります（VBeanクラスでは、IViewインタフェースがインプリメントされます。）VBeanクラスを拡張すると、コンテナではCustomListenerを利用してカスタム・イベントをディスパッチできます。

コンテナのコンストラクタでは、JavaBeanをインスタンシエートします。コンテナではさまざまなイベント・リスナーをインプリメントできるため、JavaBeanによって処理されるさまざまなイベントに対してコンテナをリスナーとして登録できます。また、プロパティを登録して、init()メソッドに渡されるハンドラにプロパティを設定することもできます。これらのプロパティは、フォームと共有できます。


JavaBeansの追加方法概要
JavaBeansの追加方法: 概要

  関連項目  [image]  例

次の一般的なステップに従って、WebFormsアプリケーションにJavaBeanを追加します。フォームおよびJavaコンポーネントの両方で特殊なコーディングが必要とされます。

フォームで実行するステップ:

1	設計時にフォーム内で項目としてBean領域を作成します（「項目タイプ」プロパティ）。エンド・ユーザーはユーザー・インタフェースのこの項目でJavaBeanを参照します。

2	このBean領域項目で「インプリメンテーション・クラス」プロパティを設定して、JavaBean用に作成するJavaコンテナ/ラッパー・クラスに名前を付けます（次のJavaのステップを参照してください）。この名前は、完全修飾名（oracle.formsなど）にする必要があります。この名前によって、フォームとJavaBean間の初期接続が設定されます。

3	実行中にJavaBeanとの通信が必要な場合は、フォームにSet_Custom_PropertyビルトインおよびWhen-Custom-Eventトリガーをコーディングして、情報を送受信します。

Javaコンポーネントで実行するステップ:

1	JavaBeanのコンテナ/ラッパー・クラスを記述します（JDeveloper製品を使用して、この一般的なタスクを実行できます）。詳細は次のとおりです。

a)コンテナ・クラスによってVBeanを拡張します。VBeanクラス・ファイルがWebForms製品パッケージの一部として提供されます。VBeanではIViewインタフェースがインプリメントされ、LWContainerが拡張されます。

b）イベント・リスナーをインプリメントします。

c）ユーザー定義プロパティを登録します。その後、同じ名前を使用することで、フォームでこれらのプロパティにアクセスできます。

d）ハンドラをインプリメントして、フォームから受信される任意のイベントを処理します。

e）init()メソッドに渡されるハンドラにプロパティを設定します。

f）必要に応じて、フォームと通信するカスタム・イベントのディスパッチを設定します。

2	ステップ1で作成したコンテナ/ラッパー・クラスをコンパイルします。コンパイラは、WebForms Javaコンポーネントと同じClassPathにあり、JavaディレクトリまたはWebForms JARファイルのいずれかを参照している必要があります。

3	JavaBeanとクラスを保存して、WebServerで実行時に検索できるようにします。通常は、エンドユーザー・クライアント上よりもサーバー・マシン上に置く方が効率的です。WebFormsアプレット・コードベース・ディレクトリが最初に検索され、次にサーバーのClassPathが検索されます。


JavaBeanとの通信

  関連項目  [image]  例

通信の機構

実行時におけるフォームとJavaBeanコンテナ間の通信は、次の機能によって発生します。

•	JavaのCustomListenerとCustomEvents

•	システム変数System.Custom_Item_EventとSystemとCustom_Item_Event_Parameters

•	フォームのSet_Custom_Propertyビルトイン

•	フォームのWhen-Custom-Item-Eventトリガー

CustomListenerとCustomEvents

フォームでは、CustomListenerインタフェースおよび関連するCustomEventクラスが提供されています。実行時の開始プロシージャでは、フォームのハンドラによってJavaBeanコンテナ/ラッパーを持つCustomListenerが登録されます。実行中に、JavaBeanコンテナ/ラッパーでは、そのCustomListenerを経由してカスタム・イベントを送信することでフォームとの通信が行われます。これは、標準AWTイベント機構によるものです（コンテナ/ラッパーでは、CustomListenerとCustomEventsを指定するVBeanが拡張される必要があります）。

public interface CustomListener extends EventListener {

    public void customActionPerformed(CustomEvent event);

}

public class CustomEvent extends java.util.EventObject {

    public CustomEvent(Object source, ID name);

    public string getName();

}

プロパティの登録と設定

コンテナ/ラッパーの要素をフォームに通知するには、これらの要素を登録する必要があります。ID.registerPropertyをコールして、コンテナのイベント、プロパティおよびメソッドを登録します。

コンテナにイベント、プロパティおよびメソッドが登録されると、フォームの同じ名前を使用して通知およびアクセスできるようになります。

次にイベントの登録の例を示します。

     private static final ID MOUSEPRESSED = ID.registerProperty("MousePressed");

When-Custom-Item-Eventトリガー

このトリガーはフォームで使用され、実行時にJavaBeanから制御と情報を受信します。Formsでは、Formsによってインスタンシエートされる各BeanコンテナとともにCustomListenerが登録されます。実行時にコンテナによってカスタム・イベントがディスパッチされると、リスナーが自動的にアクティブ化され、関連するWhen_Custom_Item_Eventトリガーがフォームで起動されます。CustomEventのPropertyIDの内容はイベント名です。

When-Custom-Item-Eventトリガーがフォームでアクティブ化されると、システム変数System.Custom_Item_Eventからイベントの名前にアクセスできます。また、そのトリガーが最後に実行されてから設定されたプロパティにアクセスすることもできます。これらのプロパティは、システム変数System.Custom_Item_Event_Parametersに集積されます。トリガーが終了すると、システムはこの変数を消去します。

たとえば、コンテナ/ラッパーに次のイベント・コードがあるとします。

     public void mousePressed(MouseEvent event)

     {

        Integer xobj = new Integer(event.getX());

        Integer yobj = new Integer(event.getY());

        try

        {

            mHandler.setProperty(X_POS, xobj);

            mHandler.setProperty(Y_POS, yobj);

        }

        CustomEvent ce = new CustomEvent(mHandler, MOUSEPRESSED);

        dispatchCustomEvent(ce);

     }

このmousePressedイベントは、When-Custom-Item-Eventトリガーのフォームで次のように処理されます。

BeanValListHdl := get_parameter_list(:SYSTEM.Custom_Item_Event_Parameters);	EventName      := :SYSTEM.Custom_Item_Event;

:event_name    := EventName;

if (EventName = 'MousePressed') then

       .

       .

ユーザー定義のJavaBeanプロパティは、このトリガー内のフォームからのみアクセス可能です。カスタム・イベントがディスパッチされるまでは、クライアントはユーザー定義のプロパティをサーバーに送りません。ただし、BeanコンテナのgetPropertyメソッドがそれらのプロパティをサポートする場合は、クライアントからそれらのプロパティを利用できます。

Set_Custom_Propertyビルトイン

Set_Custom_Propertyビルトインをコールすることにより、FormsトリガーからJavaBeanの登録されたプロパティを設定できます。このビルトインを起動すると、対応するJavaBeanコンテナでsetProperty()がコールされます。ビルトインでは、STRING、INTEGERまたはBOOLEAN型の値パラメータが渡されます（ビルトインにおいて渡された名前がJavaBeanコンテナ上に登録されていない場合、ビルトインは暗黙のうちに失敗します）。


カスタム・ユーザー・インタフェース・コンポーネントの追加

  関連項目

アプリケーションのユーザー・インタフェースでは、WebFormsによって提供される標準コンポーネントを使用するかわりに、カスタム設計されたコンポーネントを使用できます。たとえば、Formsの標準四角形を楕円形のプッシュ・ボタンに置き換えることができます。

置換え可能なユーザー・インタフェース要素（コントロール項目タイプ）は次のとおりです。

•	チェックボックス

•	リスト項目（コンボボックス、Tlistおよびポップリストの組合せ）

•	プッシュ・ボタン（通常のボタンとアイコン・ボタン）

•	ラジオ・グループ

•	テキスト項目（複数行のTextAreaとTextFieldの組合せ）

標準のユーザー・インタフェース・コンポーネントでは、WebFormsのIViewインタフェースがインプリメントされています。このインタフェースをインプリメントするカスタム・ユーザー・コンポーネントに対して独自のクラスを作成することにより、カスタム・コンポーネントで標準コンポーネントを置換し、Formsアプリケーションに統合できます。


カスタム・ユーザー・インタフェース・コンポーネントを追加する方法

  関連項目   [image]  例

Javaを使用してユーザー・インタフェースをカスタマイズする方法は次のとおりです。

•	提供されている標準WebFormsクラスの1つを拡張します。

•	非WebFormsクラスを拡張します。

•	コンテナ・クラスを作成します。

•	新しいタイプのインタフェース要素を作成します。

それぞれのカスタマイズのステップを次に説明します。

既存のFormsクラスを拡張する方法

1	Formsによって提供されている既存のユーザー・インタフェース・クラスの1つを拡張して、独自のインプリメンテーションを作成することにより、独自の新しいクラスを作成します（Formsによって提供されているクラスを次に示します）。

2	必要に応じて、setProperty()メソッドまたはgetProperty()メソッド、あるいはその両方を上書きして、プロパティを処理します。

3	Formsコードベースにクラスを保存します。

4	フォームのユーザー・インタフェース項目の「インプリメンテーション・クラス」プロパティでクラスを識別します。

非WebFormsクラスを拡張する方法

1	他のクラスを拡張して新しいクラスを作成しますが、このとき、IViewインタフェースをインプリメントする必要があります（拡張されるクラスは、JFLのクラスでもサードパーティのクラスでも可能です）。

2	getPropertyメソッドおよびsetPropertyメソッドをインクルードします。これらのメソッドでは、ユーザー・インタフェース項目のそのクラスに対して通常Formsで指定されるプロパティが処理されます。

3	Formsコードベースにクラスを保存します。

4	フォームのユーザー・インタフェース項目の「インプリメンテーション・クラス」プロパティでクラスを識別します。

コンテナ・クラスを作成する方法

1	IViewインタフェースをインプリメントするコンテナ･クラスを作成します。

2	このコンテナ内で新規のユーザー・インタフェース要素を作成します。

3	プロパティを処理する独自のgetPropertyメソッドとsetPropertyメソッドを記述して、コンポーネント上の該当するメソッドが起動されるようにします。

4	インタフェース・コンポーネント上でエンドユーザー・アクションを監視するリスナーがユーザー・インタフェースに追加されていることを確認してください。

5	フォームのユーザー・インタフェース項目の「インプリメンテーション・クラス」プロパティでクラスを識別します。

新しいタイプのインタフェース要素を作成する方法

1	新しい要素タイプについて独自のクラスを作成します。

2	新しいクラスでIViewインタフェースをインプリメントします。

3	クラスで必要なメソッドをすべてインプリメントします。

4	フォームのユーザー・インタフェース項目の「インプリメンテーション・クラス」プロパティでクラスを識別します。

Formsによって提供されているユーザー・インタフェース項目のクラス

Formsによって提供されているユーザー・インタフェース・コンポーネントのクラス定義は、次のとおりです。

•	VButton

•	VCheckbox

•	VComboBox

•	Vimage

•	VPopList

•	VRadioButton

•	VTextArea

•	VTextField

•	VTList

Oracle Look and Feel

Oracle Look and Feelによって提供されているインタフェース・コンポーネントの外観（丸いボタンなど）を使用するには、htmlファイルに<param name = "LookAndFeel" value = "Oracle">および<param name = "LookAndFeel" value = "ColorScheme">を追加します。


カスタム・ユーザー・インタフェース・コンポーネントの追加: 例

例1: 既存のFormsクラスの拡張

import oracle.forms.ui.VButton;

import oracle.ewt.button.PushButton;

public class      SingleButton

       extends    VButton

{

    public SingleButton()

    {

        super();

        setLeftmost(true);

        setRightmost(true);

    }

}

例2: 他のクラスの拡張による新規クラスの作成

package oracle.forms.jfcplug;

import com.sun.java.swing.*;

import com.sun.java.swing.border.*;

import com.sun.java.swing.event.*;

import java.awt.*;

import java.awt.event.*;

import java.util.EventListener;

import oracle.forms.handler.IHandler;

import oracle.forms.properties.ID;

import oracle.forms.ui.IView;

public class       VJCheckBox

       extends     JCheckBox

       implements  IView

{

    /* Instance counter used to generate default names */

    private static int   sInstanceCounter;

    /* Helper class to handle the IView interface */

    private IHandler     mHandler;

    private int          mInstance;

    /**

    ** Constructs a new JCheckBox.

    */

    public VJCheckBox()

    {

        super();

        mInstance = sInstanceCounter++;

    }

    /**

    ** Implementation of IView interface

    **

    ** @param handler - message handler associated with this view.

    ** @see IView

    */

    public void init(IHandler handler)

    {

        mHandler = handler;

    }

    /**

    ** Implementation of IView interface

    **

    ** @see IView

    */

    public void destroy()

    {

    }

    /**

    ** Implementation of IView interface

    **

    ** @param id - property id

    ** @return the value of the property id

    ** @see IView

    */

    public Object getProperty(ID id)

    {

        switch  ( id.toID() )

        {

           case ID.INDEX_BOUNDS:

               return getBounds();

           case ID.INDEX_ENABLED:

               return isEnabled() ? Boolean.TRUE : Boolean.FALSE;

           case ID.INDEX_LANGUAGE_DIRECTION:

               return mDirection;

           case ID.INDEX_LOCATION:

               return getLocation();

           case ID.INDEX_SIZE:

               return getSize();

           case ID.INDEX_VISIBLE:

               return isVisible() ? Boolean.TRUE : Boolean.FALSE;

           case ID.INDEX_UI_PARENT:

               return getParent();

            case ID.INDEX_LABEL:

                return getText();

            case ID.INDEX_VALUE:

                return isSelected() ? Boolean.TRUE : Boolean.FALSE;

            default:

                return null;

        }

    }

    /**

    ** Implementation of IView interface

    **

    ** @param id    - property to be set.

    ** @param value - value of the property id.

    ** @return      - true(if the property could be set), false otherwise.

    ** @see IView

    */

    public boolean setProperty(ID id, Object value)

    {

        switch  ( id.toID() )

        {

            case ID.INDEX_BACKGROUND:

               Color bgColor = (Color) value;

               setBackground(bgColor);

               return true;

            case ID.INDEX_ENABLED:

               setEnabled(toBoolean(value));

               return true;

            case ID.INDEX_FOCUS:

               // Only settable to true:-)

               if ( value == Boolean.TRUE )

               {

                   cp.requestFocus();

               }

               return true;

            case ID.INDEX_FONT:

               setFont((Font) value);

               return true;

            case ID.INDEX_FOREGROUND:

               Color fgColor = (Color) value;

               setForeground(fgColor);

               return true;

            case ID.INDEX_LANGUAGE_DIRECTION:

               // Adjust the alignment to conform to the new lang direction

               // setDirection((LanguageDirection)value);

               return true;

            case ID.INDEX_LOCATION:

               setLocation((Point) value);

               return true;

            case ID.INDEX_SIZE:

               Point pt = (Point) value;

               setSize(pt.x, pt.y);

               return true;

            case ID.INDEX_VISIBLE:

               setVisible(((Boolean)value).booleanValue());

               return true;

            case ID.INDEX_LABEL:

                setText((String)value);

                return true;

            case ID.INDEX_VALUE:

                setSelected(((Boolean)value).booleanValue());

                return true;

            default:

                return false;

        }

    }

    /**

    ** Implementation of IView interface

    **

    ** @param type     - Class type of the listener.

    ** @param listener - Listener object.

    ** @see IView

    */

    public void addListener(Class type, EventListener listener)

    {

        if ( type == FocusListener.class )

        {

            addFocusListener((FocusListener) listener);

        }

        else if ( type == KeyListener.class )

        {

            addKeyListener((KeyListener) listener);

        }

        else if ( type == MouseListener.class )

        {

            addMouseListener((MouseListener) listener);

        }

        else if ( type == MouseMotionListener.class )

        {

            addMouseMotionListener((MouseMotionListener) listener);

        }

        else if ( type == ItemListener.class )

        {

            addItemListener((ItemListener) listener);

        }

    }

    /**

    ** Implementation of IView interface

    **

    ** @param type     - Class type of the listener.

    ** @param listener - Listener object.

    ** @see IView

    */

    public void removeListener(Class type, EventListener listener)

    {

        if ( type == FocusListener.class )

        {

            removeFocusListener((FocusListener) listener);

        }

        else if ( type == KeyListener.class )

        {

            removeKeyListener((KeyListener) listener);

        }

        else if ( type == MouseListener.class )

        {

            removeMouseListener((MouseListener) listener);

        }

        else if ( type == MouseMotionListener.class )

        {

            removeMouseMotionListener((MouseMotionListener) listener);

        }

        else if ( type == ItemListener.class )

        {

            removeItemListener((ItemListener) listener);

            return;

        }

    }

    /**

    ** Implementation of IView interface

    **

    ** @param child - Object to be added( or inserted in Lists, Choice)

    ** @param index - The position of insertion. For add's, this is -1.

    ** @see IView

    */

    public void add(Object child, int index)

    {

        // Not supported

    }

    /**

    ** Implementation of IView interface

    **

    ** @child -  Element to be deleted from the list.

    ** @see IView

    */

    public void remove(Object child)

    {

        // Not supported

    }

    /**

    ** Implementation of IView interface

    */

    public void removeAll()

    {

        // Not supported

    }

    /**

    ** Implement getDefaultName() to return a default name of

    ** the form <ClassName># where # is the instance number

    ** of the CheckBox

    */

    protected String getDefaultName()

    {

        return getClass().getName() + mInstance;

    }

}


IViewインタフェース

  関連項目

WebFormsアプリケーションとともに実行するユーザー・インタフェース要素のJavaBeanまたはカスタム・バージョンを作成するには、IViewインタフェースをインプリメントし、そのビューに固有のプロパティとリスナーをサポートするビュー・クラス、つまりJavaクラスを指定する必要があります。

指定されたVBeanクラスでは、IViewインタフェースが拡張されます。したがって、VBeanを拡張するJavaBeanコンテナを作成する場合は、自動的にIViewインタフェースが取得されます。

IViewをインプリメントするクラスには、引数を持たないコンストラクタが含まれている必要があります。

IViewインタフェースの内容:

public interface IView

{

   public void init (IHandler handler);

   public void destroy ();

   public Object getProperty(ID id);

   public boolean setProperty (ID id, Object value);

   public void addListener (Class type, EventListener listener);

   public void removeListener (Class type, EventListener listener);

   public void paint (Graphics g);

   public void repaint (Rectangle r);

   public void add (Object child, int index);

   public void remove (Object child);

   public void removeAll ();

   public boolean contains (int x, int y);

}

IViewインタフェースの機能の詳細:

public void init (IHandler handler)

WebFormsアプレットがオブジェクトを構成した直後に、ハンドラによってこのメソッドがコールされます。このメソッドはビュー・オブジェクトにそのハンドラへの参照を渡し、初期化を実行する機会を与えます。

public void destroy ( )

WebFormsアプレットはこのメソッドをコールして、オブジェクトを破棄します。このメソッドにより、オブジェクトが保持しているすべてのシステム・リソースが開放されます。

public Object getProperty (ID id)

このメソッドは、要求されたプロパティの値を戻します（IDにより特定）。ビュー・オブジェクトは、そのタイプに適切なプロパティをサポートする必要があります（「プロパティとリスナー」を参照）。指定されたプロパティがこのオブジェクトでサポートされていない場合、このメソッドによりNULLが戻されます。

public boolean setProperty (ID id, Object value)

このメソッドでは、要求されたプロパティの値（IDによって識別される）をObject valueの値に設定します。ビュー・オブジェクトは、そのタイプに適切なプロパティをサポートする必要があります（「プロパティとリスナー」を参照）。指定されたプロパティをこのオブジェクトがサポートしていない場合、このメソッドによりFALSEが戻されます。そうでない場合はTRUEが戻されます。

public void addListener (Class type, EventListener listener)

このメソッドでは、指定された名前とタイプのリスナーをビュー・オブジェクトに追加します。ビュー・オブジェクトは、そのタイプに適切なリスナーをサポートする必要があります（「プロパティとリスナー」を参照）。

public void removeListener (Class type, EventListener listener)

このメソッドでは、ビュー・オブジェクトから指定されたリスナーが削除されます。

public void paint (Graphics g)

ハンドラはこのメソッドをコールし、指定されたAWTグラフィック・オブジェクトを使用してビュー・オブジェクトを描画します。

public void repaint (Rectangle r)

このメソッドは、指定された四角形を無効にして再描画します。四角形がNULLの場合、このメソッドはオブジェクト全体を無効化および再描画します。

public void add (Object child, int index)

このメソッドでは、このオブジェクトに指定された子が追加されます。子は、indexで指定された位置に追加されます。indexの最後に子を追加するには、indexに-1を指定します。

public void remove (Object child)

このメソッドでは、このオブジェクトから指定された子が削除されます。

public void removeAll ()

このメソッドでは、このオブジェクトのすべての子が削除されます。

public boolean contains (int x, int y)

このメソッドでは、指定された位置（x,y）がコンポーネントの選択領域にある場合に、真の値を返します。それ以外の場合は、偽の値を返します。


ユーザー・インタフェース・コンポーネント・クラスに必要なプロパティとリスナー

  関連項目

すべてのユーザー・インタフェース・コンポーネントではIViewインタフェースが使用されますが、インタフェース要素のタイプにはさまざまなプロパティ集合があり、さまざまなイベントに対するリスナーが提供されます。このセクションでは、さまざまなタイプのインタフェース要素と、それぞれがサポートする必要があるプロパティとリスナーの一覧を示します。

インタフェース・コンポーネントのプロパティとリスナーの継承が存在します。次に示す各インタフェース要素一覧では、継承要件項目は継承階層の1つ上のレベルのインタフェース要素の要件を示します。たとえば、ComboBoxes要素の継承要件として、PopListsのプロパティとリスナーが示されています。したがって、ComboBoxesには、PopListsの継承要件（共通のプロパティとリスナー）を含む必要があります。すべてのコンポーネントには、共通のプロパティとリスナーが必要であることに注意します。

一覧に示すプロパティでは、各インタフェース要素ごとに名前、タイプおよび要件が示されています。各プロパティは、そのプロパティの要件に応じて、IViewインタフェースのgetProperty()メソッドまたはsetProperty()メソッド（あるいはその両方）で処理する必要があります。取得可能な要件はgetProperty()に対応し、設定可能な要件はsetProperty()に対応します。

例:BACKGROUNDプロパティ（共通プロパティ）は、取得も設定も可能なので、getProperty()メソッドでもsetProperty()メソッドでも処理できます。UI_PARENTプロパティ（共通プロパティ）は、取得のみ可能なので、UI_PARENTはgetProperty()でのみ処理されます。

特に指定しない限り、リスナーはJavasoftのAbstract Window Toolkit（AWT）の一部です。ドキュメントはJavasoftから入手できます。名前は標準のJava用語を使用します。

テキスト･ボタンとアイコン･ボタンの表示では同じクラスが使用されます。

共通のプロパティとリスナー

すべてのインタフェース要素に必要な共通のプロパティとリスナー

プロパティ	タイプ	要件
BACKGROUND	Color	取得可能、設定可能
BGPATTERN	Image	取得可能、設定可能
BOUNDS	Rectangle	取得可能、設定可能
ENABLED	Boolean	取得可能、設定可能
FOCUS	Boolean	取得可能、設定可能
FONT	Font	取得可能、設定可能
FOREGROUND	Color	取得可能、設定可能
LANGUAGE_DIRECTION	LanguageDirection（静的インスタンスはLEFT_TO_RIGHT、RIGHT_TO_LEFTまたはDEFAULTです。）	取得可能、設定可能
LOCATION	Point	取得可能、設定可能
MNEMONIC	Character	取得可能、設定可能
SIZE	Point	取得可能、設定可能
UI_PARENT	Container	取得可能
VISIBLE	Boolean	取得可能、設定可能
リスナー
FocusListener
KeyListener
MouseListener
MouseMotionListener
継承要件
なし。
Bean領域のプロパティとリスナー

必要なプロパティとリスナー

プロパティ	タイプ	要件
BORDER_BEVEL	BorderBevel（静的インスタンスはPLAIN、RAISED、LOWEREDまたはNONEです。）	取得可能、設定可能
リスナー
CustomListener
継承要件
共通のプロパティとリスナーをすべて含むこと。
Bottons

必要なプロパティとリスナー

プロパティ	タイプ	要件
IMAGE	Image	取得可能、設定可能
IS_DEFAULT	Boolean	取得可能、設定可能
LABEL	String
リスナー
ActionListener
継承要件
共通のプロパティとリスナーをすべて含むこと。
Checkboxes

必要なプロパティとリスナー

プロパティ	タイプ	要件
LABEL	String	取得可能、設定可能
VALUE	Boolean	取得可能、設定可能
リスナー
ItemListener
継承要件
共通のプロパティとリスナーをすべて含むこと。
ComboBoxes

必要なプロパティとリスナー

プロパティ	タイプ	要件
CASE_FOLD	CaseRestriction	取得可能、設定可能
MAX_LENGTH	Integer	取得可能、設定可能
SELECT	Integer	設定可能
USERTEXT	String	取得可能
リスナー
SelectionListener
TextListener
継承要件
すべてのPopListのプロパティとリスナーを含むこと。
Images

必要なプロパティとリスナー

プロパティ	タイプ	要件
BORDER_BEVEL	BorderBevel（静的インスタンスはPLAIN、RAISED、LOWEREDまたはNONEです。）	取得可能、設定可能
CANVAS_ORIGIN	Point	取得可能、設定可能
スケール	Integer	取得可能、設定可能
SCROLL_POSITION	Point	取得可能
SCROLL_STYLE	ImageScrollPolicy（静的インスタンスはHORIZONTAL、VERTICAL、BOTHまたはNONEです。）	取得可能、設定可能
VALUE	Image	取得可能、設定可能
VIEWPORT_SIZE	Dimension	取得可能
リスナー
（新規リスナーなし）
継承要件
共通のプロパティとリスナーをすべて含むこと.。
PopLists

必要なプロパティとリスナー

プロパティ	タイプ	要件
COUNT	Integer	取得可能
SELECT	Integer	設定可能
SELECTEDINDEX	Integer	取得可能
リスナー
DropDownListener
ItemListener
継承要件
共通のプロパティとリスナーをすべて含むこと。
RadioButtons

必要なプロパティとリスナー

プロパティ	タイプ	要件
GROUPLEADER	Boolean	取得可能、設定可能
LABEL	String	取得可能、設定可能
LOCALSTATE	Boolean	取得可能
RADIOGROUP	Iview	取得可能
VALUE	Boolean	取得可能、設定可能
リスナー
ItemListener
継承要件
共通のプロパティとリスナーをすべて含むこと。
複数行および通常のTEdits（テキスト・コンポーネント）のプロパティとリスナー

必要なプロパティとリスナー

プロパティ	タイプ	要件
ALIGNMENT	Alignment（静的インスタンスはSTART、RIGHT、LEFT、CENTERまたはENDです。）	取得可能、設定可能
BORDER_BEVEL	BorderBevel（静的インスタンスはPLAIN、RAISED、LOWEREDまたはNONEです。）	取得可能、設定可能
CAN_TAKE_FOCUS	Boolean	取得可能、設定可能
CASE_FOLD	CaseRestriction（静的インスタンスはUPPERCASE、LOWERCASEまたはNONEです。）	取得可能、設定可能
CURSOR_POSITION	Integer	取得可能、設定可能
EDITABLE	Boolean	取得可能、設定可能
MAX_LENGTH	Integer	取得可能、設定可能
SELECTION	Point	取得可能、設定可能
VALUE	String	取得可能、設定可能
リスナー
TextListener
継承要件
共通のプロパティとリスナーをすべて含むこと。
複数行のTEdits（TextArea）のプロパティとリスナー

必要なプロパティとリスナー

プロパティ	タイプ	要件
VSBARPOLICY	Boolean	取得可能、設定可能
WRAP_STYLE	WrapStyle（静的インスタンスはCHARACTER、WORDまたはNONEです。）	取得可能、設定可能
リスナー
（新規リスナーなし）
継承要件

テキスト・コンポーネントのプロパティとリスナーをすべて含むこと。

複数行でないTEdits（TextField）

必要なプロパティとリスナー

プロパティ	タイプ	要件
SECURE	Boolean	取得可能、設定可能
リスナー
（新規リスナーなし）
継承要件

テキスト・コンポーネントのプロパティとリスナーをすべて含むこと。

TList

必要なプロパティとリスナー

プロパティ	タイプ	要件
COUNT	Integer	取得可能
DESELECT	Integer	設定可能
MAKEVISIBLE	Integer	設定可能
SELECT	Integer	設定可能
SELECTEDINDEX	Integer	取得可能
リスナー
ActionListener
ItemListener
継承要件

共通のプロパティとリスナーをすべて含むこと。


JavaBeanとカスタムコントロールのインクルード:例
JavaBeanとカスタム・コントロールのインクルード: 例

  関連項目

次の例では、FormsアプリケーションでJavaBeanをインクルードする方法を示します。特にこのsunw.demo.juggler.Jugglerと呼ばれるJavaBeanはアニメーション化されたグラフィックであり、画面のコントロールの選択によって、アニメーションの速度をエンド・ユーザーが調整できます。

フォーム上の例

フォームではBean領域項目を作成してから、JavaBean自体のコンテナまたはラッパーを定義するインプリメンテーション・クラスを「インプリメンテーション・クラス」プロパティに認識させます。この例では、Bean領域項目はJUGGLER_BEANと呼ばれ、インプリメンテーション･クラスの完全名はoracle.forms.pjc.demo.JugglerWrapperです。

フォームには、エンド・ユーザーに対するさまざまなコントロール項目もあります。停止/再起動ボタン、アニメーション速度の高速化/低速化ボタン、スライダ・タイプの速度コントロールなどです。（このスライダは、個別のJavaBeanおよびJavaBeanラッパーによってインプリメントされます。）

フォームでPL/SQLベースのトリガーおよびビルトインを使用すると、その例は、ラッパー・クラス内で定義されたプロパティを取得および設定します。実際のJavaBeanのイベント、メソッドおよびプロパティをラッパー・クラスのプロパティとして登録すると、ラッパーで適切なプロパティを設定するのみでJavaBeanをプログラムによって制御できます。フォームでは、SET_CUSTOM_PROPERTYビルトインを使用してJavaBeanのプロパティにアクセスします。When-Custom-Item-Eventトリガーを使用して、JavaBeanイベントを取得します。

項目および関連するトリガーは、フォームのこのオブジェクト・ナビゲータ・ビューに表示されます。

Juggler JavaBeanのコンテナ/ラッパー

実行時にJavaBeanとフォームが通信するためには、ラッパーのクラス定義がVBeanクラスに拡張される必要があることに注意してください。VBeanクラス定義自体がWebForms製品パッケージの一部として提供されます（VBeanによってIViewも拡張されます）。

package oracle.forms.pjc.demo;

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

import java.beans.*;

import oracle.forms.properties.ID;

import oracle.forms.handler.IHandler;

import oracle.forms.ui.CustomEvent;

import oracle.forms.ui.VBean;

public class      JugglerWrapper

       extends    VBean

       implements MouseListener

{

    private Component    mComp;

    private IHandler     mHandler;

// Java Bean EVENTS registered as properties of 'wrapper' implementation class

   private static final ID MOUSEPRESSED = ID.registerProperty("MousePressed");

   private static final ID MOUSEENTERED = ID.registerProperty("MouseEntered");

   private static final ID MOUSEEXITED  = ID.registerProperty("MouseExited");

// Java Bean PROPERTIES registered as properties of 'wrapper' implementation

// class

   private static final ID X_POS      = ID.registerProperty("MouseX");

   private static final ID Y_POS      = ID.registerProperty("MouseY");

   private static final ID ARATE      = ID.registerProperty("AnimationRate");

// Java Bean METHODS registered as properties of 'wrapper' implementation class

   private static final ID STOP       = ID.registerProperty("StopJuggling");

   private static final ID START      = ID.registerProperty("StartJuggling");

   private static final ID SETRATE    = ID.registerProperty("SetAnimationRate");

   private static final ID GETRATE    = ID.registerProperty("GetAnimationRate");

    public JugglerWrapper()

    {

        super();

        try

        {

            ClassLoader cl = getClass().getClassLoader();

            Object obj = Beans.instantiate(cl, "sunw.demo.juggler.Juggler");

            mComp = (Component) obj;

            mComp.setVisible(true);

            mComp.setEnabled(true);

            add("Center", mComp);

            if ( mComp instanceof Applet )

            {

                Applet apl = (Applet) Beans.getInstanceOf(mComp, Applet.class);

                apl.start();

            }

        }

        catch ( Exception e )

        {

        }

    }

    public void init(IHandler    handler)

    {

        super.init(handler);

        mHandler = handler;

        mComp.addMouseListener(this);

    }

    public void destroy()

    {

        if ( mComp instanceof Applet )

        {

            Applet apl = (Applet) Beans.getInstanceOf(mComp, Applet.class);

            apl.destroy();

            apl.stop();

        }

    }

    public boolean setProperty(ID pid, Object value)

    {

    if ( pid == STOP )

        {

            if ( ((Integer)value).intValue() == 1)

            {

              ((sunw.demo.juggler.Juggler)mComp).stopJuggling();

            }

            return true;

        }

        else if ( pid == START )

        {

            if ( ((Integer)value).intValue() == 1)

            {

              ((sunw.demo.juggler.Juggler)mComp).startJuggling();

            }

            return true;

        }

        else if ( pid == SETRATE )

        {

            ((sunw.demo.juggler.Juggler)mComp).setAnimationRate(

                                                 ((Integer)value).intValue());

             return true;

        }

    return super.setProperty(pid, value);

    }

    public void mouseClicked(MouseEvent event)

    {

    }

    public void mouseEntered(MouseEvent event)

    {

        CustomEvent ce = new CustomEvent(mHandler, MOUSEENTERED);

        dispatchCustomEvent(ce);

    }

    public void mouseExited(MouseEvent event)

    {

        CustomEvent ce = new CustomEvent(mHandler, MOUSEEXITED);

        dispatchCustomEvent(ce);

    }

    public void mousePressed(MouseEvent event)

    {

        Integer xobj = new Integer(event.getX());

        Integer yobj = new Integer(event.getY());

        try

        {

            mHandler.setProperty(Y_POS, yobj);

            mHandler.setProperty(X_POS, xobj);

        }

        catch (Exception e)

        {

        }

        CustomEvent ce = new CustomEvent(mHandler, MOUSEPRESSED);

        dispatchCustomEvent(ce);

    }

    public void mouseReleased(MouseEvent event)

    {

    }

}

When-Custom-Item-EventトリガーによるJavaBeanからの情報の受信

この例では、Juggler BeanのBean領域項目に連結されたWhen-Custom-Item-Eventトリガーがフォームに含まれています。そのJavaBeanのコンテナ/ラッパーによってカスタム・イベントがディスパッチされると、このトリガーが実行されます。トリガーでは、Juggler_event_trapというPL/SQLプロシージャが実行されます（次に示します）。

フォームのプロシージャでは、イベントを検索し、コンテナ/ラッパーで設定された値を取得するために、System.Custom_Item_EventフィールドおよびSystem.Custom_Item_Event_Parametersフィールドが監視されることに注意してください。

また、イベント名と渡されるXおよびYマウス座標値は、コンテナ/ラッパーで登録されたプロパティであることにも注意してください。

PROCEDURE Juggler_event_trap IS

BeanHdl          Item;

BeanValListHdl   ParamList;

paramType        Number;

EventName        VarChar2(20);

CurrentValue   number(4);

XPos           Number(4);

YPos           Number(4);

Begin

BeanValListHdl := get_parameter_list(:SYSTEM.Custom_Item_Event_Parameters);	EventName      := :SYSTEM.Custom_Item_Event;

:event_name    := EventName;

if (EventName = 'MousePressed') then

   get_parameter_attr(BeanValListHdl,'MouseX',ParamType, CurrentValue);

   XPos := CurrentValue;

   get_parameter_attr(BeanValListHdl,'MouseY',ParamType, CurrentValue);

   YPos := CurrentValue;

   MsgBox('If you click at '||to_Char(XPos)||'/'||to_Char(YPos)||' again I may drop these beans');

end if;

End;

JavaBeanスライダ・コントロール

この例では、エンド・ユーザーがjuggler JavaBeanのアニメーション速度を変更できる制御項目が、フォームのユーザー・インタフェースにあります。

これらのコントロールの1つは、EWT_SLIDERというBean領域項目です。完全な「インプリメンテーション・クラス」プロパティはoracle.forms.pjc.demo.EwtSliderWrapperであり、次に示すコンテナ/ラッパーです。

/**

** Simple JavaBean Wrapper. It allows the EWT Slider control component to be

** embedded within the form. The slider allows the end user to control the juggler bean's animation speed.

*/

package oracle.forms.pjc.demo;

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

import java.beans.*;

import oracle.ewt.slider.Slider;

import oracle.ewt.meter.BoundedRangeModelImpl;

import oracle.forms.properties.ID;

import oracle.forms.handler.IHandler;

import oracle.forms.ui.CustomEvent;

import oracle.forms.ui.VBean;

public class      EwtSliderWrapper

       extends    VBean

       implements PropertyChangeListener

{

    private Component             mComponent;

    private IHandler              mHandler;

    private BoundedRangeModelImpl mSliderRange;

    // Java Bean EVENTS registered as properties of 'wrapper' implementation class

    private static final ID VALUECHANGED = ID.registerProperty("ValueChanged");

    // Java Bean PROPERTIES registered as properties of 'wrapper' implementation

    // class

    private static final ID VALUE           = ID.registerProperty("Value");

    private static final ID MAXVALUE        = ID.registerProperty("MaxValue");

    private static final ID MINVALUE        = ID.registerProperty("MinValue");

    // Java Bean METHODS registered as properties of 'wrapper' implementation class

    private static final ID SETVALUE        = ID.registerProperty("SetValue");

    private static final ID GETVALUE        = ID.registerProperty("GetValue");

    private static final ID GETMAXVALUE     = ID.registerProperty("GetMaximum");

    private static final ID GETMINVALUE     = ID.registerProperty("GetMinimum");

    public void init(IHandler    handler)

    {

        super.init(handler);

        mHandler    = handler;

        mSliderRange = new BoundedRangeModelImpl(0,300,125);

        mComponent  = new Slider(mSliderRange);

        mSliderRange.addPropertyChangeListener(this);

        mComponent.setEnabled(true);

        add("Center", mComponent);

    }

    public boolean setProperty(ID pid, Object value)

    {

        return super.setProperty(pid, value);

    }

   public void propertyChange(PropertyChangeEvent event)

    {

         String PropName = event.getPropertyName();

         if (PropName.equals("value"))

         {

           Integer SliderValue = new Integer(mSliderRange.getValue());

           try

           {

           mHandler.setProperty(VALUE, SliderValue);

           }

           catch (Exception e)

           {

           }

           CustomEvent ce = new CustomEvent(mHandler, VALUECHANGED);

           dispatchCustomEvent(ce);

         }

    }

}

フォームでは、When-Custom-Item-EventトリガーがEWT_Slider Bean領域項目に連結されます。エンドユーザーが画面上でスライドを移動すると、前述のJavaBeanコンテナがPropertyChangeListenerによって認識されます。コンテナではカスタム・イベントがディスパッチされ、その結果このトリガーがフォームで起動されます。トリガーでは、次に示すSlider_Event_TrapというPL/SQLプロシージャが実行されます。

このプロシージャでSystem.Custom_Item_Event_Parametersから変更した値が取得された後に、Set_Custom_Propertyビルトインを使用して、これらの変更した値がJuggler JavaBeanに渡されます。

PROCEDURE Slider_Event_Trap IS

BeanHdl          Item;

BeanValListHdl   ParamList;

paramType        Number;

EventName        VarChar2(20);

CurrentValue     Number(4);

NewAnimationRate Number(4);

Begin

-- Update data items and Display fields with current radius information

BeanValListHdl := get_parameter_list(:SYSTEM.Custom_Item_Event_Parameters);

EventName      := :SYSTEM.Custom_Item_Event;

:event_name    := EventName;

if (EventName = 'ValueChanged') then

   get_parameter_attr(BeanValListHdl,'Value',ParamType, CurrentValue);

   NewAnimationRate := (300 - CurrentValue);

   :Animation_Rate  := NewAnimationRate;

set_custom_property('Juggler_Bean', ALL_ROWS, 'SetAnimationRate', NewAnimationRate);

elsif (EventName = 'mouseReleased') then

   get_parameter_attr(BeanValListHdl,'Value',ParamType, CurrentValue);

set_custom_property('Juggler_Bean', ALL_ROWS, 'SetAnimationRate', CurrentValue);

end if;

End;

フォームのその他のJava関連ボタン

フォームには複数のカスタム・ユーザー・インタフェース・コンポーネントも含まれています。これらは、既存のForms VButtonクラスを次のように拡張して作成されます。

/**

** Here, the 'Oracle Look & Feel' buttons are enhanced by subclassing the

** standard EWT PushButton Class and calling one of the available methods.

**

** Use of both setLeftmost() & setRightmost() function causes the Left & Right

** edges of the button to be rounded (allows for the creation of a stand-alone

** rounded style button)

*/

import oracle.forms.ui.VButton;

import oracle.ewt.button.PushButton;

public class      SingleButton

       extends    VButton

{

    public SingleButton()

    {

        super();

        setLeftmost(true);

        setRightmost(true);

    }

}

/**

** Here, the 'Oracle Look & Feel' buttons are enhanced by subclassing the

** standard EWT PushButton Class and calling one of the available methods.

**

** Use of the setLeftmost() function causes the left edge of the button to be

** rounded (for use at the left end of a group of buttons)

*/

import oracle.forms.ui.VButton;

import oracle.ewt.button.PushButton;

public class       LeftButton

       extends     VButton

{

    public LeftButton()

    {

        super();

        setLeftmost(true);

    }

}

（RightButton定義は前述のLeftButton定義と同じであるため、ここには示しません。）

フォームのその他のJava関連トリガー

フォームには、複数のWhen-Button-Pressedトリガーもあります。たとえば、次のWhen-Button-Pressedトリガーは、フォームのStart-Stop制御項目に連結されます。このトリガーは次のプロシージャの実行に使用され、juggler表示の動画アクションを停止または再起動します。

Set_Custom_Propertyビルトインで参照されるStartJugglingプロパティおよびStopJugglingプロパティも、Juggler JavaBeanのコンテナ/ラッパーに登録されたプロパティであることに注意してください。

PROCEDURE Start_Stop_Juggling IS

BtnHdl    Item;

BtnLabel  VarChar2(10);

BeanHdl          Item;

BEGIN

BtnHdl := find_item('START_STOP_BTN');

if NOT id_null(BtnHdl) then

   BtnLabel := get_item_property(BtnHdl, LABEL);

   BeanHdl  := find_item('JUGGLER_BEAN');

   if NOT id_Null(BeanHdl) then

      if BtnLabel = 'Start Me!' then

         set_custom_property(BeanHdl, ALL_ROWS, 'StartJuggling', 1);

         set_item_property       (BtnHdl, LABEL,           'Stop Me!');

elsif BtnLabel = 'Stop Me!' then

         set_custom_property(BeanHdl, ALL_ROWS, 'StopJuggling', 1);

         set_item_property       (BtnHdl,  LABEL,         'Start Me!');

end if;

end if;

end if;

END;


Bean領域コンポーネントのフォーカスとキーのイベント

FormsアプレットのBean領域コンポーネントにおいて他のFormsコンポーネントと一貫性のあるフォーカスおよびナビゲーションができるように、開発者はこれらのコンポーネントに機能を追加する必要があります。Bean領域（Beanラッパー・クラス）はFocusListenerインタフェースおよびKeyListenerインタフェースをインプリメントする必要があり、Bean領域内のすべてのコンポーネントは、Bean領域をFocusListenerおよびKeyListenerとして登録することも必要です。さらに、（VBeanクラスから）登録済みプロパティを渡すメソッド、フォーカスを作成するイベント・オブジェクト、および他のFormsコンポーネントと一貫性のあるナビゲーションをインプリメントする必要があります。

フォーカス・イベント

Bean領域内で入力フォーカスを変更しても、サーバーではこれを自動的には認識しません。Bean領域内のコンポーネントにフォーカスがあるときにサーバーにこれを認識させるには、開発者はVBeanに定義されている登録済みプロパティFOCUS_EVENTを使用する必要があります。FOCUS_EVENTを使用すると、Bean領域のコンポーネントは、Formsアプレット内の他のコンポーネントに対応するマウス・フォーカスを取得できます。これにより、ユーザーはBean領域に状況判断ヘルプをコールできます。

FOCUS_EVENT登録済みプロパティの使用方法

FocusListenerおよび登録済みプロパティFOCUS_EVENTを使用する上での初期要件を次に示します。

•	Bean領域（Beanラッパー・クラス）がFocusListenerインタフェースをインプリメントしていること。

•	Beanラッパー・クラス内のすべてのコンポーネントがBeanラッパーをFocusListenerとして登録していること。

Bean領域内のコンポーネントがフォーカスを取得すると、引数として登録済みプロパティFOCUS_EVENTおよびJDKのFocusEventを指定してmHandler.setProperty()メソッドがコールされます。FOCUS_EVENTは、VBeanに定義されている登録済みプロパティです。mHandler.setProperty()により、Bean領域がフォーカスを取得していることがサーバーに通知されます。サーバーは、Bean領域の個々のコンポーネントのレベルまではフォーカスを追跡しません。

フォーカス・イベントのコード例

この項では、コードの一部を使用して、FocusListenerインタフェースおよびFOCUS_EVENT登録済みプロパティの使用方法について説明します。サンプル・クラスの完全なコードは、この項の最後に示します。

FocusListenerインタフェースを使用する手順は、次のとおりです。

FocusListenerをインプリメントします。クラスには、VBeanも拡張する必要があります。この例のクラスは、BeanWrapperと呼ばれます。

public class BeanWrapper

       extends VBean

       implements FocusListener, KeyListener

{

    // the Handler object passed to the view by Forms

    private IHandler mHandler;

コンポーネントを作成します。この例のBean領域には、ユーザーが選択可能な4つの押しボタンが定義されています。

    PushButton beanButton1 = new PushButton("BeanButton1");

    PushButton beanButton2 = new PushButton("BeanButton2");

    PushButton beanButton3 = new PushButton("BeanButton3");

    PushButton beanButton4 = new PushButton("BeanButton4");

各コンポーネントにFocusListenerを登録することにより、クラスを初期化します。addFocusListenerは、Bean領域および各押しボタンに対して設定します。

    // initialise the class

    public void init(IHandler handler)

    {

        super.init(handler);

        mHandler = handler;

        add(beanButton1,BorderLayout.NORTH);

        add(beanButton2,BorderLayout.EAST);

        add(beanButton3,BorderLayout.WEST);

        add(beanButton3,BorderLayout.SOUTH);

        addFocusListener(this);

        beanButton1.addFocusListener(this);

        beanButton2.addFocusListener(this);

        beanButton3.addFocusListener(this);

        beanButton4.addFocusListener(this);

    }

Bean領域またはBean領域の子（コンポーネント）がフォーカスを取得すると、focusGained()メソッドがコールされます。JDKの標準イベント・オブジェクトであるFocusEventがfocusGained()に渡されます。focusGained()メソッドの一般的な例を次に示します。

Bean領域（ラッパー）がフォーカスを取得すると、beanButton1.requestFocus()メソッドによりBean領域内の最初のコンポーネントにフォーカスが割り当てられます。登録済みプロパティFOCUS_EVENTおよびイベント・オブジェクトを指定してmHandler.setProperty()メソッドがコールされ、サーバーにBean領域がフォーカスを取得したことが通知されます。

    public void focusGained(FocusEvent e)

    {

        if (e.getComponent() == this)

        {

            beanButton1.requestFocus();

        }

        try

        {

            mHandler.setProperty(FOCUS_EVENT, e);

        }

        catch ( Exception ex )

        {

        }

    }

    public void focusLost(FocusEvent e)

    {

    }

キー・イベント

 Formsアプレット内のフォーム項目およびBean領域の項目のキーストロークでは、一貫した結果がもたらされます。デフォルトでは、[Ctrl]+[K]によって、フォーカスを取得しているフォーム項目についてランタイム・キー・ヘルプ画面がコールされます。[Tab]によって、現在のフォーム項目から次のフォーム項目に入力フォーカスが移動します。[Shift]+[PageDown]によって、次のブロックの最初のフォーム項目に入力フォーカスが移動します。デフォルトでは、Bean領域の項目上のキーストロークにより、このような結果がもたらされることはありません。

Bean領域のあるFormsアプレット内で一貫した入力フォーカスおよびキーストローク・ナビゲーションを維持するには、KeyListener、KEY_EVENT登録済みプロパティおよびmHandler.setProperty(KEY_EVENT, e)メソッドを使用して、Bean領域のキーストロークをサーバーに送ります。その結果、サーバーでは適切な処理が実行されます。たとえば、[Ctrl]+[K]によって、フォーカスを取得しているBean領域についてランタイム・キー・ヘルプ画面が表示されます。また、[Shift]+[PageDown]によって、次のブロックの最初のフォーム項目に入力フォーカスが移動します。

一部のBean領域のキーボード・ナビゲーションでは、Bean領域のどこにコンポーネントがあるかによって、ある種のキーストローク（たとえば、[Tab]や[Shift]+[Tab]）を送らないことが重要である場合があります。一般的な規則では、Bean領域のキーストロークはすべてサーバーに送り、これによりサーバーはBean領域からフォーカスを移動します。たとえば、同じBean領域内のコンポーネント間でフォーカスを移動する場合、[Tab]や[Shift]+[Tab]はサーバーにキーストロークを送りません。

Bean領域のコンポーネントから[Tab]および[Shift]+[Tab]のキーストロークがサーバーに送られると、サーバーにより、Bean領域から次のフォーム項目または前のフォーム項目にそれぞれフォーカスが移動されます。この点を考慮した上で、[Tab]および[Shift]+[Tab]のキーストロークをサーバー送る必要がある場合があります。Bean領域内の最初のコンポーネントについては[Shift]+[Tab]をサーバーに送り、Bean領域内の最後のコンポーネントについては[Tab]をサーバーに送ります。

Bean領域内のコンポーネントについて、どのキーストロークがサーバーに送られ、どのキーストロークがサーバーに送られないかをプログラムするのは、開発者の責任です。

例

背景:

フォームには、いくつかの項目が定義されています。Bean領域はこれらの項目の1つであり、他の項目の間に配置されています。Bean領域には、押しボタンが4つあります。

目的:

Bean領域からキーストロークを使用して、COMMITやNEXT BLOCKなどフォームの標準的なアクションをユーザーが呼び出せるようにする必要があります。Bean領域内で次の押しボタンにフォーカスを移動する場合には[Tab]を押し、Bean領域内で前の項目にフォーカスを移動する場合には[Shift]+[Tab]によって、ユーザーがフォーカスを移動できるようにする必要があります。ユーザーがBean領域内の最後の押しボタンから[Tab]を押すと、フォーカスは次のフォーム項目に移動します。ユーザーがBean領域内の最初の押しボタンから[Shift]+[Tab]を押すと、フォーカスは前のフォーム項目に移動します。

デフォルトの動作:

KeyListenerおよびKEY_EVENT登録済みプロパティをインプリメントしていない状態で、Bean領域のコンポーネントにmHandler.setProperty(KEY_EVENT, e)メソッドをコールした場合、キーストロークはサーバーに送られません。[Tab]および[Shift]+[Tab]により、Bean領域のコンポーネント間で入力フォーカスが移動します。Bean領域からフォーカスを移動させるためにキー（たとえば、[Shift]+[PageDown]）が押されたとき、サーバーはキーストロークを受け取りません。したがって、明らかに新しいフォーカスを持つフォーム項目が、サーバーで実際にはフォーカスを取得しないことになります。[Ctrl]+[K]によって、フォーカスを取得しているとサーバーに識別された項目についてランタイム・キー・ヘルプが表示されますが、この項目は、フォーカスを取得していると認識された項目とは異なる場合があります。次のナビゲーション・ストローク（たとえば[Tab]）により、予想とは異なる結果になる場合がありますが、これは、ナビゲーションの起点がサーバーによりフォーカスを取得していると識別されたフォーム項目になるからです。キーストロークがサーバーに送られないと、現行の項目についてサーバーおよびクライアントの同期が失われます。

解決策:

大部分のキーストロークをサーバーに送るためには、KeyListenerをインプリメントし、KEY_EVENT登録済みプロパティを使用して、mHandler.setProperty(KEY_EVENT, e)メソッドをコールします。押しボタンそれぞれに対して、サーバーに[Tab]キーストロークや[Shift]+[Tab]キーストロークを送るか送らないかを選択して、目的どおりにフォーカスを移動させます。

押しボタン1:

Bean領域に入る前の最後のフォーム項目からユーザーが[Tab]を押すと、Bean領域内の押しボタン1がフォーカスを取得します。ユーザーが押しボタン1から[Tab]を押すと、押しボタン2がフォーカスを取得します。この[Tab]キーストロークはサーバーに送られないようにする必要があります。この[Tab]キーストロークがサーバーに送られると、サーバーでは、Bean領域から、Bean領域から出たあとの最初のフォーム項目にフォーカスを移動させようとします。

ユーザーが押しボタン1から[Shift]+[Tab]によって、Bean領域に入る前のフォーム項目がフォーカスを取得します。この[Shift]+[Tab]キーストロークをサーバーに送るようにする必要があります。この場合、[Shift]+[Tab]のキーストロークをサーバーに送ることにより、サーバーは前のフォーム項目にフォーカスを移動させようとします。[Shift]+[Tab]のキーストロークがサーバーに送くられないと、現行の項目についてサーバーおよびクライアントの同期が失われます。

押しボタン2および3:

ユーザーが押しボタン2から[Tab]を押すと、押しボタン3がフォーカスを取得するため、この場合も、サーバーにキーストロークが送られないようにする必要があります。（押しボタン3から「Tab」を押す場合も同じ条件が適用されます。）ユーザーが押しボタン2、3または4から[Shift]+[Tab]によって、Bean領域内のそれぞれ前の押しボタンがフォーカスを取得します。これらのキーストロークは、サーバーへは送らないようにする必要があります。Bean領域のあるコンポーネントがフォーカスを失い、Bean領域の別のコンポーネントがフォーカスを取得する場合、[Tab]および[Shift]+[Tab]のキーストロークをサーバーへは送らないようにする必要があります。

押しボタン4:

ユーザーが押しボタン4（Bean領域内の最後の押しボタン）から[Tab]を押した場合、このキーストロークはサーバーに送られる必要があります。これは、[Tab]ストロークにより、サーバーはBean領域から次のフォーム項目にフォーカスを移動させるからです。ユーザーがBean領域内の押しボタン4から[Shift]+[Tab]によって、押しボタン3がフォーカスを取得します。フォーカスはBean領域から移動しないため、[Shift]+[Tab]のキーストロークはサーバーに送られないようにする必要があります。

サマリー

フォーカスがBean領域内の項目にあるときに、ユーザーがBean領域の外にフォーカスを移動させるようなキーストロークを押した場合、このようなキーストロークはサーバーに送るようにしてください。フォーカスがBean領域内の項目にあるときに、ユーザーがBean領域内の別の項目にフォーカスを移動させるようなキーストロークを押した場合、このようなキーストロークはサーバーに送らないようにしてください。

 Bean領域内での要素の位置によって、キーストロークをサーバーに送るべきか否かが決まります。

•	Bean領域内の最初のコンポーネントについては、[Tab]を除くすべてのキーストロークをサーバーに送ります。

•	Bean領域内の最後のコンポーネントについては、[Shift]+[Tab]を除くすべてのキーストロークをサーバーに送ります。

•	Bean領域内のその他のコンポーネント（最初と最後のコンポーネントを除く）については、[Tab]および[Shift]+[Tab]を除くすべてのキーストロークをサーバーに送ります。

KEY_EVENT登録済みプロパティの使用方法

FormsアプレットのBean領域内のコンポーネントについて、サーバーに必要なキーストロークを送るには、開発者はまずKeyListenerインタフェースをインプリメントする必要があります。

KeyListenerを使用する上での初期要件を次に示します。

•	Bean領域（Beanラッパー・クラス）がKeyListenerインタフェースをインプリメントしていること。

•	Beanラッパー・クラスのすべてのコンポーネントがBeanラッパーをKeyListenerとして登録していること。

Bean領域に対してすべてのコンポーネントについてKeyListenerが登録されている場合は、一部の[Tab]および[Shift]+[Tab]を除き、すべてのキーストロークをサーバーに送ってください。[Tab]および[Shift]+[Tab]を例外とすべきかは、キーストロークによりフォーカスがBean領域の外に移動するかどうかによってきまります。キーストロークのフィルタリングには、KeyListenerインタフェースのkeyPressed()メソッドを使用します。サーバーに送る必要があるキーストロークについては、開発者は、引数として登録済みプロパティKEY_EVENT（VBean内に定義されている）およびJDKのKeyEventを指定してmHandler.setProperty()メソッドをコールする必要があります。

キー・イベントのコード例

この項では、コードの一部を使用して、KeyListenerインタフェースの使用方法について説明します。この例では、FocusListenerの情報も示します。サンプル・クラスの完全なコードは、この項の最後に示します。

KeyListenerインタフェースを使用する手順は、次のとおりです。

KeyListenerをインプリメントします。クラスには、VBeanも拡張する必要があります。この例のクラスは、BeanWrapperと呼ばれます。

public class BeanWrapper

       extends VBean

       implements FocusListener, KeyListener

{

    // the Handler object passed to our view by Forms

    private IHandler mHandler;

コンポーネントを作成します。この例のBean領域には、4つの押しボタンが定義されています。

    PushButton beanButton1 = new PushButton("BeanButton1");

    PushButton beanButton2 = new PushButton("BeanButton2");

    PushButton beanButton3 = new PushButton("BeanButton3");

    PushButton beanButton4 = new PushButton("BeanButton4");

各コンポーネントについてKeyListenerインプリメントし、クラスを初期化します。addKeyListenerは、各押しボタンに対してコールされます。

    // initialise the class

    public void init(IHandler handler)

    {

        super.init(handler);

        mHandler = handler;

        add(beanButton1,BorderLayout.NORTH);

        add(beanButton2,BorderLayout.EAST);

        add(beanButton3,BorderLayout.WEST);

        add(beanButton3,BorderLayout.SOUTH);

        addFocusListener(this);

        beanButton1.addFocusListener(this);

        beanButton2.addFocusListener(this);

        beanButton3.addFocusListener(this);

        beanButton4.addFocusListener(this);

        beanButton1.addKeyListener(this);

        beanButton2.addKeyListener(this);

        beanButton3.addKeyListener(this);

        beanButton4.addKeyListener(this);

    }

Bean領域内の任意のコンポーネントがフォーカスを取得しているときに、ユーザーが任意のキーを押すと、keyPressed()メソッドがコールされます。JDKの標準のキー・イベント・オブジェクトであるKeyEventがkeyPressed()メソッドに渡されます。

Bean領域内のいくつかのコンポーネントを指定したkeyPressed()メソッドの一般的な例を次に示します。

Bean領域内のすべての押しボタンに関連する条件を次に示します。Bean領域内の最初のコンポーネントについて、[Tab]を除くすべてのキーストロークをサーバーに送ってください。Bean領域の外にフォーカスを戻すような[Shift]+[Tab]のキーストロークはサーバーに送らないでください。ランタイム・キー・ヘルプ画面を表示させる（[Ctrl]+[K]）およびNEXT BLOCK（[Shift]+[PageDown]）など標準のフォーム処理をコールする、その他すべてのキーストロークはサーバーに送ります。

最初の条件は、Bean領域内の最初のコンポーネント（beanButton1）に対するイベントを示します。e.getSource()メソッドは、beanButton1が押されたかどうかを判別します。e.getKeyCode()メソッドは、キーストロークが[Tab]（KeyEvent.VK_TAB）であるかどうかを判別します。最後に押されたキー・シーケンスに[Tab]が含まれていない場合、Else文では、登録済みプロパティKEY_EVENTおよびイベント・オブジェクトを指定してmHandler.setProperty()メソッドがコールされ、キーストロークがサーバーに送られます。

[Shift]+[Tab]を押した場合、登録済みプロパティKEY_EVENTおよびイベント・オブジェクトを指定してmHandler.setProperty()メソッドがコールされ、キーストロークがサーバーに送られます。

    public void keyPressed(KeyEvent e)

    {

        if ( e.getSource() == beanButton1 )

        {

            /*

            ** For the first component in the bean area, send all

            ** keystrokes except Tab to the server. Also, send

            ** Shift+Tab to the server.

            */

            if ( (e.getKeyCode() == KeyEvent.VK_TAB) )

            {

                if (e.isShiftDown() )

                {

                    try

                    {

                        mHandler.setProperty(KEY_EVENT, e);

                    }

                    catch ( Exception ex )

                    {

                    }

                }

            }

            else

            {

                try

                {

                    mHandler.setProperty(KEY_EVENT, e);

                }

                catch ( Exception ex )

                {

                }

            }

        }

最初の条件は、Bean領域内の最後のコンポーネント（beanButton4）に対するイベントを示します。e.getSource()メソッドは、beanButton4が押されたかどうかを判別します。e.getKeyCode()メソッドは、キーストロークが[Shift]+[Tab]であるかどうかを判別します。キー・シーケンスが[Shift]+[Tab]でない場合は、登録済みプロパティKEY_EVENTおよびイベント・オブジェクトを指定してmHandler.setProperty()メソッドがコールされ、キー・シーケンスがサーバーに送られます。

else if ( e.getSource() == beanButton4 )

        {

            /*

** For the last component in the bean area, send all

** keystrokes except Shift+Tab to the server.

            */

if ( !((e.getKeyCode() == KeyEvent.VK_TAB) && (e.isShiftDown())) )

            {

try

                {

mHandler.setProperty(KEY_EVENT, e);

                }

catch ( Exception ex )

                {

                }

            }

        }

Bean領域内の最初のコンポーネントでも最後のコンポーネントでもないコンポーネントについては、[Tab]および[Shift]+[Tab]を除くすべてのlキーストロークをサーバーに送ります。次のコード例は、Bean領域内の次のである、beanButton2およびbeanButton3に該当します。

e.getSource()メソッドは、beanButton2またはbeanButton3が押されたかどうかを判別します。e.getKeyCode()メソッドは、キーストロークが[Tab]（KeyEvent.VK_TAB）でないかを判別します。キーストロークが[Tab]でない場合は、登録済みプロパティKEY_EVENTおよびイベント・オブジェクトを指定してmHandler.setProperty()メソッドがコールされ、キーストロークがサーバーに送られます。

        else if ( (e.getSource() == beanButton2) ||

                  (e.getSource() == beanButton3) )

        {

            /*

            ** For all the remaining components in the bean area,

            ** send all keystrokes except Tab and Shift+Tab

            ** to the server.

            */

            if ( !(e.getKeyCode() == KeyEvent.VK_TAB) )

            {

                try

                {

                    mHandler.setProperty(KEY_EVENT, e);

                }

                catch ( Exception ex )

                {

                }

            }

        }

}

Bean領域内の1つのコンポーネントについてのキー・イベント

Bean領域にコンポーネントが1つしかない（たとえば、beanButton1）場合は、すべてのキー・ストロークをサーバーに送ります。KeyListenerをインプリメントし、keyPressed()メソッドを使用する必要がありますが、mHandler.setProperty()メソッドはただちに実行できます。

Bean領域内に押しボタンが1つのみ（beanbutton1）の場合のkeyPressed()メソッドについて、次にコード例を示します。

public void keyPressed(KeyEvent e)

{

    try

    {

        mHandler.setProperty(KEY_EVENT, e);

    }

    catch ( Exception ex )

    {

    }

}

フォーカス・イベントおよびキー・イベントの完全なコード例

package oracle.forms.demos;

import oracle.forms.properties.ID;

import oracle.forms.handler.IHandler;

import oracle.forms.ui.CustomEvent;

import oracle.forms.properties.ID;

import oracle.forms.handler.IHandler;

import oracle.forms.ui.VBean;

import oracle.ewt.button.PushButton;

import java.awt.Component;

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.BorderLayout;

public class BeanWrapper

       extends VBean

       implements FocusListener, KeyListener

{

    // the Handler object passed to the view by Forms

    private IHandler mHandler;

    PushButton beanButton1 = new PushButton("BeanButton1");

    PushButton beanButton2 = new PushButton("BeanButton2");

    PushButton beanButton3 = new PushButton("BeanButton3");

    PushButton beanButton4 = new PushButton("BeanButton4");

    public BeanWrapper()

    {

        super();

    }

    // initialise the class

    public void init(IHandler handler)

    {

        super.init(handler);

        mHandler = handler;

        add(beanButton1,BorderLayout.NORTH);

        add(beanButton2,BorderLayout.EAST);

        add(beanButton3,BorderLayout.WEST);

        add(beanButton3,BorderLayout.SOUTH);

        addFocusListener(this);

        beanButton1.addFocusListener(this);

        beanButton2.addFocusListener(this);

        beanButton3.addFocusListener(this);

        beanButton4.addFocusListener(this);

        beanButton1.addKeyListener(this);

        beanButton2.addKeyListener(this);

        beanButton3.addKeyListener(this);

        beanButton4.addKeyListener(this);

    }

    public void focusGained(FocusEvent e)

    {

        if (e.getComponent() == this)

        {

            beanButton1.requestFocus();

        }

        try

        {

            mHandler.setProperty(FOCUS_EVENT, e);

        }

        catch ( Exception ex )

        {

        }

    }

    public void focusLost(FocusEvent e)

    {

    }

    /*

    ** If a particular key sequence causes the navigation to stay inside

    ** the bean area i.e. one the components of the bean area loses

    ** focus and the other component of bean area gains focus, then

    ** we do not want to send the keystrokes to the server. Otherwise,

    ** we do want to send the keystrokes to the server.

    **

    ** A key sequence is sent to the server by invoking

    ** mHandler.setProperty(KEY_EVENT, e).

    **

    ** For example, if the focus is on the first component(beanButton1) of

    ** the bean area, and if the user presses Tab, then the focus will be

    ** transferred to the second component(beanButton2) of the bean area.

    ** Since beanButton2 is inside the bean area, we do not want to send the

    ** keystrokes to the server. If instead of Tab the user presses

    ** Shift+Tab, then the focus needs to transferred to the previous form

    ** item, which is outside the bean area. In this case, we need to send

    ** the keystrokes to the server so that the server can determine the

    ** previous form item to which the focus should be transferred.

    **

    ** Similarly, if the focus is on  the last component(beanButton4) of the

    ** bean area, and if the user presses Tab, then the focus needs to be

    ** transferred to the next form item, which is outside the bean area.

    ** In this case, we do want to send the keystrokes to the server so

    ** that it can determine the next form item to which the focus should be

    ** transferred. If instead of Tab the user presses Shift+Tab, then

    ** the focus needs to be transferred to the previous component

    ** (beanButton3) in the bean area. Since beanButton3 is inside the bean

    ** area, we do not need to send the keystrokes to the server.

    **

    ** For other components in the bean area, such as beanButton2 and

    ** beanButton3, we do not want to send Tab and Shift+Tab to the form

    ** server. This is because both of them cause focus to be transferred

    ** to a bean area component. Anything else should be sent to the

    ** server.

    */

    public void keyPressed(KeyEvent e)

    {

        if ( e.getSource() == beanButton1 )

        {

            /*

            ** For the first component in the bean area, send all

            ** keystrokes except Tab to the server. Also, send

            ** Shift+Tab to the server.

            */

            if ( (e.getKeyCode() == KeyEvent.VK_TAB) )

            {

                if (e.isShiftDown() )

                {

                    try

                    {

                        mHandler.setProperty(KEY_EVENT, e);

                    }

                    catch ( Exception ex )

                    {

                    }

                }

            }

            else

            {

                try

                {

                    mHandler.setProperty(KEY_EVENT, e);

                }

                catch ( Exception ex )

                {

                }

            }

        }

        else if ( e.getSource() == beanButton4 )

        {

            /*

            ** For the last component in the bean area, send all

            ** keystrokes except Shift+Tab to the server.

            */

            if ( !((e.getKeyCode() == KeyEvent.VK_TAB) && (e.isShiftDown())) )

            {

                try

                {

                    mHandler.setProperty(KEY_EVENT, e);

                }

                catch ( Exception ex )

                {

                }

            }

        }

        else if ( (e.getSource() == beanButton2) ||

                  (e.getSource() == beanButton3) )

        {

            /*

            ** For all the remaining components in the bean area,

            ** send all keystrokes except Tab and Shift+Tab

            ** to the server.

            */

            if ( !(e.getKeyCode() == KeyEvent.VK_TAB) )

            {

                try

                {

                    mHandler.setProperty(KEY_EVENT, e);

                }

                catch ( Exception ex )

                {

                }

            }

        }

    }

    public void keyTyped(KeyEvent e)

    {

    }

    public void keyReleased(KeyEvent e)

    {

    }

    public boolean setProperty(ID pid, Object value)

    {

        return super.setProperty(pid,value);

    }

    public String toString()

    {

        return ("BeanArea Wrapper");

    }

}


ライブラリの処理


ライブラリについて

ライブラリは、ユーザー命名プロシージャ、ファンクション、パッケージなどのサブプログラムの集まりです。

ライブラリは、クライアント側のプログラム単位を格納し、複数のアプリケーション間で共有するための便利な方法を提供します。

ライブラリを作成した後は、そのライブラリを任意の他のフォーム・モジュールまたはメニュー・モジュール、フォーム・モジュールに連結できます。このようにすることで、そのライブラリを連結したモジュールの中のユーザーが作成したトリガーおよびメニュー項目コマンド、ユーザー命名ルーチンからライブラリ・プログラム単位をコールできるようになります。

複数のフォームおよびメニューに同じライブラリを連結できます。逆に、1つのフォームまたはメニューに複数のライブラリを連結することもできます。

ライブラリを別のライブラリに連結することもできます。ライブラリを別のライブラリに連結すると、そのライブラリ内のプログラム単位は連結されたライブラリ内のプログラム単位を参照できるようになります。

ライブラリは動的なロードをサポートします。つまり、ライブラリのプログラム単位は必要時にのみアプリケーションにロードされます。これにより、アプリケーションの実行時メモリー要件を大幅に減らすことができます。


グローバル・ライブラリについて

グローバル・ライブラリは、オープン・フォーム間で共有できます。PL/SQLライブラリの1つのコピーがメモリーに格納され、すべてのフォームがアクセスできるようになります。グローバル・ライブラリはメモリーを節約し、パフォーマンスを向上させ、フォーム間で配列構造体を簡単に受け渡すためのメカニズムを提供します。


ライブラリ・ファイルの書式について

.PLL	ライブラリ.PLLファイルには、ライブラリ・ソース・コードとコンパイル済みのプラットフォーム固有のpコード（実行可能コード）の両方が入っています。.PLLファイルは、ライブラリ・モジュールの保存時に作成または更新されます。さらに、ライブラリ・モジュールを保存すると、そのライブラリが連結されているモジュールのそれぞれに変更内容が反映されます。

.PLX	ライブラリ.PLXファイルは、ソースを含まないプラットフォーム固有の実行可能なファイルです。

アプリケーションを実行する準備が整ったら、ソースを含まない、コンパイル済みのpコードのみが入ったライブラリのバージョンを生成します。.PLXファイルは、Form Builderまたはコマンド・ラインから生成できます。

注意: Form Builder内のモジュールにライブラリを連結するときは、ライブラリの.PLLバージョンを連結します。実行時、Form Builderではデフォルトの検索パス内でその名前の.PLXファイルを探します。.PLXファイルが存在しない場合は、その名前の.PLLファイルを探します。

.PLD	.PLDファイルはテキスト書式のファイルであり、ライブラリ・ファイルのソース制御に使用できます。


ライブラリの作成

ライブラリを作成する手順は、次のとおりです。

1	オブジェクト・ナビゲータで、ライブラリ・モジュールを作成します。

ライブラリを作成するには、「ファイル」 [image] 「新規作成」 [image] 「PL/SQLライブラリ」コマンドを選択します。

または

「PL/SQLライブラリ」ノードを選択してから「ナビゲータ」 [image] 「作成」コマンドを選びます。

注意: ライブラリ・モジュールは、フォームやメニューのようにオブジェクト・ナビゲータで編集して名前を変更することができません。また、ライブラリを保存するとライブラリ名は自動的に更新されます。

2	プログラム単位を作成するには、対象となるライブラリ・ノードを拡張し、「プログラム単位」ノードを選択してから「ナビゲータ」 [image] 「作成」コマンドを選択します。

「新規プログラム単位」ダイアログが表示されます。

3	プログラム単位の名前とタイプ（プロシージャ、ファンクション、パッケージ仕様部、パッケージ本体）を指定します。「OK」を選択します。

PL/SQLエディタが現れます。

4	PL/SQLエディタで、プログラム単位を定義し、「コンパイル」を選択し、コンパイルと変更の適用を行います。「クローズ」を選択して、エディタを終了します。

注意: Form Builderでは、実行時に未コンパイルのプログラム単位を実行できません。よって、ライブラリ・プログラム単位は設計時にコンパイルする必要があります。

「プログラム」 [image] 「コンパイル選択」を選択して、まだコンパイルされていない任意のライブラリ・プログラム単位をコンパイルするか、または「プログラム」 [image] 「コンパイル」 [image] 「すべて」を選択して、すべてのライブラリ・プログラム単位をコンパイルします。

5	「ファイル」 [image] 「上書き保存」を選択して、ライブラリ・モジュールをファイルに保存します。


モジュールへのライブラリの連結

ライブラリをモジュールに連結する手順は次のとおりです。

1	オブジェクト・ナビゲータで、希望するフォーム・モジュールまたはメニュー・モジュール、ライブラリ・モジュールをオープンします。

モジュールをオープンするには、「ファイル」 [image] 「オープン」コマンドを選択し、オープンするモジュール・タイプを指定します。

注意: Form Builder内のモジュールにライブラリを連結するときは、ライブラリの.PLLバージョンを連結します。実行時、Form Builderではデフォルトの検索パス内でその名前の.PLXファイルを探します。.PLXファイルが存在しない場合は、.PLLファイルがその名前で使用されます。

2	モジュールを拡張して、「連結ライブラリ」ノードを選択します。「ナビゲータ」 [image] 「作成」コマンドを選択して、ライブラリを連結します。

3	連結するライブラリの名前を指定します。

ヒント： ライブラリを連結するとき、ライブラリ・パスは指定しないでください。ライブラリ連結のパス名はアプリケーション内部に格納されるため、移植性がなくなります。かわりにライブラリの名前を指定し、Form Builderの標準検索パスを利用して、実行時にライブラリを検索します。

連結されたライブラリを実行時に検索する場合、Form Builderではまず現行ディレクトリが検索され、次にPATH（FORMSxx_PATHおよびORACLE_PATHTH）環境変数にリストされたディレクトリが検索されます。

注意: ライブラリ・パスを指定すると、Form Builderは指定したパスを確認するプロンプトを表示します。

ライブラリ・パスを含めて保存すると、実行時には、指定したパスでのみライブラリが検索されます。指定されたパスが検索されてから、標準検索が実行される、ということはありません。

ライブラリ・パスを含めずに保存すると、指定したパスは削除され、ライブラリ名が保存されます。実行時には、Form Builderの標準検索パスでライブラリが検索されます。

4	アクティブなフォーム・モジュールまたはメニュー・モジュールを保存して、ライブラリの連結をモジュール定義に取り込みます。

注意: 連結ライブラリは読込み専用です。連結されたライブラリは編集できません。その中のプログラム単位を参照できるだけです。ライブラリ・モジュールを編集するには、オブジェクト・ナビゲータでそのモジュールをオープンし、PL/SQLエディタを使用してプログラム単位を編集します。


ライブラリの編集

オブジェクト・ナビゲータの「連結ライブラリ」ノードからライブラリ・プログラム単位の編集や表示を行うことはできません。プログラム単位の編集や表示を行うには、ライブラリ・モジュール自体をオープンする必要があります。

ライブラリを編集しても、変更を保存するまでは、そのライブラリが連結されているモジュールには変更内容が反映されません。

モジュールへすでに連結されているライブラリを変更する手順は次のとおりです。

1	オブジェクト・ナビゲータで、ライブラリ・モジュールをオープンし、必要に応じて、ライブラリ内のプログラム単位の追加、編集、削除を行います。

2	ライブラリ・モジュールを保存します。

そのライブラリが連結されているモジュールのそれぞれに、変更内容が反映されます。


ライブラリ・プログラム単位のコール

ライブラリを作成し、必要なモジュールに連結した後は、プログラム単位をローカルに定義した場合と同じ構文を使用して、そのモジュールからライブラリ・プログラム単位をコールできます。たとえば、連結されたライブラリ内のcolor_current_recordというプロシージャをコールするには、フォーム・トリガー内にそのプロシージャの名前を記述するのみです。

color_current_record;

ライブラリ・パッケージの内容を参照するには、次に示すように、標準PL/SQLドット表記法を使用します。

package_name.object

Form Builderでは、プログラム単位のコールがあると、最初に現行モジュール内のプログラム単位が検索され、次に連結されたライブラリが検索されます。

1つのモジュールに複数のライブラリを連結した場合は、オブジェクト・ナビゲータでライブラリ連結を順序付けることによって、デフォルトのライブラリ検索順序を指定できます。


ライブラリ・プログラム単位でのフォーム・バインド変数へのアクセス

ライブラリ・モジュールはフォームやメニューから独立してコンパイルされるので、フォーム・バインド変数（フォーム項目、およびシステム変数、グローバル変数、パラメータの値）は常に、ライブラリ・プログラム単位の有効範囲の外にあります。したがって、ライブラリ・プログラム単位内では、フォーム・バインド変数を直接参照できません。たとえば、ライブラリ内のユーザー命名プロシージャまたはファンクションは、次のオブジェクトを参照できません。

•	:block_name.item_name

•	:GLOBAL.variable_name

•	:SYSTEM.variable_name

•	:PARAMETER.my_param

NAME_INサブプログラム・ファンクションを使用して、間接的にバインド変数の値を参照する必要があります。

•	Name_In('block_name.item_name')

•	Name_In('GLOBAL.variable_name')

•	Name_In('SYSTEM.variable_name')

バインド変数の値を間接的に設定するには、COPYサブプログラム・プロシージャを使用します。

•	Copy('28876', 'block_name.item_name');

•	Copy('standard', 'GLOBAL.variable_name');

•	Copy('FALSE', 'System.Supress_Working');

COPYを使用してライブラリ・ルーチン内でフォーム項目の値を設定すると、その項目はCHANGEDとしてマークされます。この動作は、その後の妥当性チェックおよびコミット処理に影響を与えることがあります。

可能な場合は常に、フォーム・モジュールまたはメニュー・モジュールと、ライブラリとの間のデータの受渡しにINおよびIN OUTパラメータを使用するライブラリ・プログラム単位を作成してください。また、ファンクションの戻り値をこの用途に使用することもできます。パラメータを使用するライブラリ・プロシージャをコールするときには、次に示すように、バインド変数参照を実パラメータとして渡すことができます。

my_library_procedure(:form_block.form_item,:System.Cursor_Block);


値リストについて

  関連項目

値リストとは、1つまたは複数の列からなる選択リストをエンド・ユーザーに提供する、スクロール可能なポップアップ・ウィンドウです。

値リストの機能は次のとおりです。

•	エンド・ユーザーがテキスト項目へナビゲートし、その項目に値リストが対応付けられているときに、値リストは（値リストが使用可能な場合に）エンド・ユーザーの要求によって表示できます。またはプログラムによって特定のテキスト項目とは独立して値リストを表示することもできます。

•	値リストの自動縮小および検索機能を使用すると、エンド・ユーザーが特定の値を見つけることができます。

•	エンド・ユーザーが選択した値リストの値は、戻り項目の指定に従ってフォーム項目に割り当てることができます。

•	設計時に、フォーム内の1つ以上のテキスト項目に1つの値リストを付加できます。

•	値リストの値はレコード・グループから導出されます。

実行時には、値リストが使用可能な場合は常にステータス行に<値リスト>ランプが表示されます。プログラムまたはエンド・ユーザー要求によっていったん値リストが起動されると、値リストがモーダル・ウィンドウに表示され、エンド・ユーザーが1つの値を選択できます。

値リストは、エンド・ユーザーが値または「取消し」を選択するまで表示されたままになります。

値リストが表示されていると、エンド・ユーザーはその他のウィンドウで作業できません。エンド・ユーザーは値リストを移動またはサイズ変更できます（実行時のウィンドウ・マネージャがサポートする場合）。

自動縮小および検索機能  エンド・ユーザーは、値リストの自動縮小および検索機能を使用して、リスト内の値を見つけることができます。

自動縮小を使用するには、エンド・ユーザーが希望のエントリを値リスト・ウィンドウのリスト・ペインに直接入力します。1文字入力するたびに、入力された文字列に一致する値のみが表示されるように、リストが縮小されます。[後方文字削除]を押すと、縮小したリストが拡張されます。自動縮小は、エンド・ユーザーが入力した文字列と値リストに表示される最初の列の値とを比較して行われます。

表示される値リストが値の長いリストを持つ場合、値リスト・ウィンドウには表示される列タイトル（値はなし）のみが表示されます。ユーザーが「検索」フィールドに縮小文字列を入力し、この縮小文字列で問合せが実行されると、結果の値リスト値が列タイトルの下に表示されます。その後、値リストでは通常の表示と動作が再開されます。エンド・ユーザーは値リストから値を選択ことも、縮小文字列を拡張して値をさらに減らすこともできます。

検索機能を使用すると、特定のテキスト文字列に一致する値を見つけたり、ワイルドカード検索を行うことができます。この検索機能を使用するには、エンド・ユーザーが値リストの「検索」フィールドに移動し、検索基準の文字列を入力してから、「検索」ボタンを選択し、検索を実行します。Form Builderは、最初の列の値がエンド・ユーザーの検索基準に一致する選択項目のみを表示します。エンド・ユーザーが検索基準の最初に"%"記号を付けると、すべての値リストの列で検索が実行されることに注意してください。

[Tab]キーを押すと、「値リスト」ペインと「検索」フィールドの間を移動できます。

注意: Form Builderのインタフェースにおける値リストは、アプリケーション用に作成する値リストと同じ自動縮小および検索機能を備えています。


値リストの値とレコード・グループについて

値リストの値は、レコード・グループという内部データ構造体から導出されます。値リストを定義するときに、値リストに対応付けるレコード・グループ名を指定します。

レコード・グループには、データベースの表と同様に列と行の枠組みがあります。値リストは、基礎を形成するレコード・グループに現在格納されているレコードを、エンド・ユーザーが表示およびスクロール、選択できるようにするインタフェース・オブジェクトです。

列の総数が64Kバイトを超えない限り、1つのレコード・グループに入る型CHARまたはLONG、NUMBER、DATEの列の数には制限がありません。

値リストを作成するときには、基礎を形成するレコード・グループ内のどの列を値リスト・ウィンドウに表示するかを指定します。レコード・グループの列は、レコード・グループ内での順序どおりに値リスト・ウィンドウに表示されます。

値リストとレコード・グループは別個のオブジェクトなので、同じレコード・グループを基盤として複数の値リストを作成できます。たとえば、4列からなる同じレコード・グループを基盤として2つの値リストを作成し、それぞれの値リストがそのレコード・グループの別の列を表示するようにできます。

レコード・グループの値  レコード・グループ内の実際の値は、次の2つのソースのいずれかから導出されます。

•	設計時にそのレコード・グループに対応付けられたSELECT文の実行（問合せレコード・グループ）

•	設計時にそのレコード・グループに対応付けられたスタティック値の配列（スタティック・レコード・グループ）

注意: デフォルトでは、問合せレコード・グループ（SELECT文が対応付けられたレコード・グループ）を基にした値リストの場合、Form Builderではその値リストが表示されるたびに問合せが実行され、レコード・グループの問合せ基準に一致するすべてのレコードがフェッチされます。この機能性によって、値リストには常に現行のデータベース値が表示されるようになります。


値リストの戻り項目

  関連項目

値リストを作成するときには、基になるレコード・グループのどの列を値リストに組み込むかを指定します。値リストに組み込むどの列にも戻り項目を指定できます。エンド・ユーザーが値リストから選択すると、選択したレコード内の列から、その対応する戻り項目に値が割り当てられます。

この機能を使用すると、テキスト項目の入力が、値リストからの値の選択によってできます。通常は、エンド・ユーザーがテキスト項目までナビゲートしてから、[値リスト]を押して、その項目に有効なエントリのリストを起動します。エンド・ユーザーが値を選択すると、自動的にその値がテキスト項目に戻されます。値リストを使用すると、データ入力時のキーストローク数を少なくでき、入力される値がその項目に対して有効であることが保証されます。

この機能を使用すると、非表示列の値をフォーム項目に挿入することもできます。非表示列とは、値リストの構造体に組み込まれているが、その値が値リスト・ウィンドウに表示されない列のことです。（値リストを定義するときには、基になるレコード・グループのどの列を値リストに組み込むかを指定するのを忘れないでください。

顧客名を表示する値リストを考えてみてください。この値リストは、顧客表の列（nameおよびid、phone、contact）が組み込まれている問合せレコード・グループを基盤としています。値リスト内の各列に対して1つの戻り項目があります。

エンド・ユーザーが値リストを起動するには、「cust_block.name」テキスト項目で[値リスト]を押します。値リストから顧客名を選択すると、その顧客についてのすべての情報が、対応する戻り項目に戻されます。


値リストの作成

  次のステップ	    関連項目

値リストウィザードを使用して値リストを作成する方法:

1	オブジェクト・ナビゲータで、「値リスト」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	「新規値リスト」ダイアログで、「値リスト・ウィザードを使用する」を選択します。

注意: 値リスト・ウィザードを使用して、既存の問合せレコード・グループ、（ウィザード・プロセスの間に作成する）新しい問合せレコード・グループ、または既存の静的レコード・グループを基にして値リストを作成できます。新しい静的レコード・グループを基に値リストを作成する必要がある場合には、まず新しい静的レコード・グループを作成してから、値リスト・ウィザードを使用して値リストを作成します。

値リストを手動で作成する方法:

1	オブジェクト・ナビゲータで、「値リスト」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	「新規値リスト」ダイアログで、「新規値リストを手動で作成」を選択します。

一般名の新しい値リストが作成され、オブジェクト・ナビゲータに表示されます。

4	オブジェクト・ナビゲータで、新しい値リストの横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

5	プロパティ・パレットを使用して、必要なプロパティを新しい値リストに設定します。


既存の値リストの問合せSELECT文の変更

  関連項目

既存の値リストの問合せSELECT文を変更するには:

1	オブジェクト・ナビゲータで、値リストを選択します。

2	「ツール」 [image] 「値リスト・ウィザード」を選択します。

3	ウィザード画面の上部にある「レコード・グループ」タブをクリックします。

または

1	オブジェクト・ナビゲータの「レコード・グループ」ノードで、希望する値リストの基になっているレコード・グループの横のオブジェクト・アイコンをダブルクリックます。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「レコード・グループ問合せ」プロパティを適切に変更します。

注意: レコード・グループの問合せに変更を加えると、そのレコード・グループを基にしている他の値リストが影響を受ける可能性があります。値リスト・ウィザードを使用すると、変更された問合せに基づいて新しいレコード・グループを自動的に作成し、その新しいレコード・グループを基にして値リストを更新できます。


値リストに対応付けられた列の表示

  関連項目

値リストに対応付けられた列を表示するには:

1	オブジェクト・ナビゲータで、値リストを選択します。

2	「ツール」 [image] 「値リスト・ウィザード」を選択します。

3	ウィザード画面の上部にある「列表示」タブをクリックします。

または

1	オブジェクト・ナビゲータの「値リスト」ノードで、希望する値リストの横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「列マッピング･プロパティ」をダブルクリックします。

「値リスト列マッピング」ダイアログが表示され、値リストの「列名」リストに値リスト列の名前が表示されます。


値リストからの列の削除

  関連項目

値リストから列を削除するには:

1	オブジェクト・ナビゲータで、値リストを選択します。

2	「ツール」 [image] 「値リスト・ウィザード」を選択します。

3	ウィザード画面の上部にある「列」タブをクリックします。

4	値リスト列の下に一覧表示されている列は、その時点で値リストに組み込まれている列です。単一の列を削除するには、目的の列を選択して [image] をクリックします。すべての列を削除するには、 [image] をクリックします。

または

1	オブジェクト・ナビゲータの「値リスト」ノードで、希望する値リストの横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「列マッピング･プロパティ」をダブルクリックします。「値リスト列マッピング」ダイアログが表示されます。

3	削除する列を「列名」リストで選択し、［要素削除］を押します。


値リストへの列の追加

  関連項目

値リストに列を追加するには:

1	オブジェクト・ナビゲータで、値リストを選択します。

2	「ツール」 [image] 「値リスト・ウィザード」を選択します。

3	ウィザード画面の上部にある「列」タブをクリックします。

4	レコード・グループ列の下に一覧表示されている列は、その時点で値リストに組み込まれていない列です。単一の列を追加するには、目的の列を選択して [image] をクリックします。すべての列を追加するには、 [image] をクリックします。

または

1	オブジェクト・ナビゲータの「値リスト」ノードで、希望する値リストの横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「列マッピング･プロパティ」をダブルクリックします。「値リスト列マッピング」ダイアログが表示されます。

3	値リストに追加するレコード・グループ列の名前を、「列名」リストに入力します。

4	「画面幅」プロパティには、Form Builderで「値リスト」ウィンドウのその列に対して確保する幅を、適切な単位（ポイント、ピクセル、cm、インチまたは文字数。フォームの「座標システム」プロパティで指定）で設定します。

注意: 「画面幅」プロパティのデフォルトは、レコード・グループ内の列に指定された幅です。レコード・グループが問合せレコード・グループである場合、レコード・グループが作成された時点の対応するデータベースの列の幅が、デフォルトの幅になります。

ヒント: 「値リスト」ウィンドウで列間の余白を増やすには、「画面幅」の値をその列のデフォルト幅よりも大きくします。ただし、このルールの例外として、NUMBER列の画面幅を大きくしても、NUMBER列と非NUMBER列との間の幅を大きくできないことに注意してください。これは、値リストには右揃えの数値が表示されるためです。

たとえば、値リストに3列含まれているとします。第1列1と第3列はCHAR型、第2列はNUMBER型です。各列間の幅を広げるには、第1列および第3列の「画面幅」の値を大きくします。


値リスト内の列を隠す

  関連項目

値リスト内の列を隠すには:

1	オブジェクト・ナビゲータで、値リストを選択します。

2	「ツール」 [image] 「値リスト・ウィザード」を選択します。

3	ウィザード画面の上部にある「列表示」タブをクリックします。

4	値リスト内のすべての列が表形式で一覧表示されます。表中で、隠す列の「幅」の値をゼロに変更します。

または

1	オブジェクト・ナビゲータの「値リスト」ノードで、希望する値リストの横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「列マッピング･プロパティ」をダブルクリックします。「値リスト列マッピング」ダイアログが表示されます。

3	希望する列を選択してから、「画面幅」プロパティを0（ゼロ）に設定します。（非表示列でも、表示中の列と同様に戻り項目に割り当てられることに注意してください。）


値リストの列タイトルの作成

  関連項目

列タイトルを作成するには:

1	オブジェクト・ナビゲータで、値リストを選択します。

2	「ツール」 [image] 「値リスト・ウィザード」を選択します。

3	ウィザード画面の上部にある「列表示」タブをクリックします。

4	値リスト内のすべての列が表形式で一覧表示されます。目的の列の「タイトル」値を希望の列タイトルに変更します。

または

1	オブジェクト・ナビゲータの「値リスト」ノードで、希望する値リストの横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「列マッピング･プロパティ」をダブルクリックします。「値リスト列マッピング」ダイアログが表示されます。

3	希望する列を「列名」リストで選択してから、希望するタイトルを「列タイトル」プロパティ・フィールドに入力します。

ヒント: タイトルを作成するときには、その列の画面幅を考慮してください。その列内の値に対して確保されている画面幅に入りきれないタイトルは切り捨てられます。（値リストのテキストのフォント・サイズを変更すると、ある一定の画面幅に入る文字数が変わることがあります。）


値リストの戻り項目の指定について

  関連項目

値リスト内の任意の列に対して、戻り項目を指定できます。エンド・ユーザーが値リストから選択すると、選択した値が、対応する戻り項目に割り当てられます。

戻り項目にできるのは、現行のフォーム内の項目、またはグローバル変数、フォーム・パラメータです。次のような適切な構文を使用して戻り項目の名前を入力します。

項目:	customer.name
グローバル変数:	GLOBAL.my_global
フォーム・パラメータ:	PARAMETER.my_parameter
（オブジェクト名の前にコロンを付けないでください。）

注意: 戻り項目のデータ型は、戻される値のデータ型と適合する必要があります。

非表示列（「画面幅」が0（ゼロ）に設定された列）に戻り項目を指定できることを覚えておいてください。

戻り項目は列プロパティを使用して、あるいは問合せレコード・グループを基にした値リストのレコード・グループ問合せSELECT文の中で指定できます。


列プロパティを使用した値リストの戻り項目の指定

  関連項目

値リストの戻り項目を指定するには:

1	オブジェクト・ナビゲータで、値リストを選択します。

2	「ツール」 [image] 「値リスト・ウィザード」を選択します。

3	ウィザード画面の上部にある「列表示」タブをクリックします。

4	値リスト内のすべての列が表形式で一覧表示されます。列の戻り値を、希望の戻り項目の名前に変更します。「戻り項目を参照」ボタンを使用して、目的の列に対して適当な戻り項目を探すこともできます。

または

1	オブジェクト・ナビゲータの「値リスト」ノードで、希望する値リストの横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「機能」ノードの下で、「列マッピング･プロパティ」をダブルクリックします。「値リスト列マッピング」ダイアログが表示されます。

3	希望する列を「列名」リストで選択します。

4	「戻り項目」フィールドに名前（項目またはグローバル変数、パラメータ）を入力します。

ヒント: 列を戻したくない場合は、「戻り項目」フィールドをブランクのままにします。


SELECT文への値リストの戻り項目の指定

  関連項目

SELECT文で戻り項目を指定するには:

問合せレコード・グループを基にして値リストを作成する場合、SELECT文に戻り項目を指定できます。

「新規値リスト」ダイアログから、適切なINTO句をSELECT文に追加し、「OK」をクリックします。

たとえば、エンド・ユーザーが「顧客」値リストから名前を選択するたびに、ある顧客についてのすべての情報を適切なフォーム項目に戻すとします。それには、「新規値リスト」ダイアログでレコード・グループを作成するときに次のようなSELECT文を書きます。

SELECT id, name, contact, phone
INTO :cust.id, :cust.name :cust.contact, :cust.phone
FROM CUSTOMER;

レコード・グループを作成するために「OK」ボタンを選択すると、このSELECT文が解析され、戻り項目の名前が自動的に「戻り項目」フィールドに挿入されます。

INTO句内で戻り項目が参照される順序は、SELECT句内でデータベースの列が参照される順序に対応する必要があります。

注意: INTO句は値リストと戻り項目の関係を確立しますが、その結果生じるレコード・グループの定義には影響を与えません。プロパティ・パレットで新しいレコード・グループを表示すると、SELECT文のみが表示され、INTO句は表示されません。戻り項目に対応付けられているのは値リストそのものであり、レコード・グループ・オブジェクトではありません。


値リストの値を使用したテキスト項目の妥当性チェックについて

  関連項目

値リストをテキスト項目に付加するときに、オプションの「リストで妥当性チェック」プロパティを設定して、Form Builderがテキスト項目の値を値リスト内の値と照らし合わせて妥当性チェックするようにできます。

「リストで妥当性チェック」を「はい」に設定すると、妥当性チェック・イベントが発生するたびに、テキスト項目の現在の設定値が、値リスト内に表示される最初の列の値と比較され、次のようになります。

•	テキスト項目内の値が、値リストの最初の列値のどれかと一致すると、値リストは表示されずに妥当性検査が成功して、処理が正常に継続されます。

•	テキスト項目内の値が値リストの最初の列値のどれかと一致しないと、Form Builderで値リストが表示されます。その後、テキスト項目の値を検索基準として使用して、リストを自動的に縮小します。

たとえば、エンド・ユーザーが6桁の製品コードの最初の3桁を入力して次の項目へナビゲートしようとすると、値リストが表示され、入力した数字と最初の3桁が一致するコードがすべて表示されるように、リストが自動的に縮小されます。

•	エンド・ユーザーが値リストから値を選択すると、値リストの表示が消え、選択した値が対応する戻り項目に割り当てられます。

値リストを使用して妥当性チェックをする場合、エンド・ユーザーが値リストから選択すると、常にテキスト項目に「有効」のマークが付きます。このため、a） 値リストを付加するテキスト項目が、値リストに表示される最初の列の戻り項目として定義されていること、および b） 値リスト内の値が実際に有効になることを、責任を持って確認する必要があります。

注意: 内部で項目に「有効」のマークが付いても、When-Validate-Itemトリガーが存在すれば起動します。

また、値リストに表示される先頭列は、値リストの基礎となるレコード・グループの先頭列でないことがあるのでご注意ください。これは、一部のレコード・グループの列が値リスト構造体に入っていなかったか、非表示列である場合です。


テキスト項目の妥当性チェックのための値リストの使用

  関連項目

テキスト項目の妥当性チェックのために値リストを使用する方法:

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「値リスト（LOV）」ノードの下で、「リストで妥当性チェック」プロパティを「はい」に設定します。


テキスト項目への値リストの付加について

  関連項目

フォーム内の1つ以上のテキスト項目に値リストを付加できます。値リストが付加されているテキスト項目へエンド・ユーザーまたはアプリケーションがナビゲートすると、値リストが使用可能であることを示す＜値リスト＞ランプがステータス行に表示されます。エンド・ユーザーは、［値リスト］を押して値リストを起動できます。

または、値リストの「自動表示」プロパティを「はい」に設定した場合、エンド・ユーザーがテキスト項目へナビゲートすると、値リストが自動的に表示されます。


設計時におけるテキスト項目への値リストの付加

  次のステップ	    関連項目

テキスト項目に既存の値リストを付加するには:

1	オブジェクト・ナビゲータで、値リストを選択します。

2	「ツール」 [image] 「値リスト・ウィザード」を選択します。

3	ウィザード画面の上部にある「項目」タブをクリックします。

4	「戻り項目」の下に一覧表示されている項目は、ユーザーがその項目を選択したときに値リストがそれに対する値を返す項目です。これらの項目のうちの1つに値リストを付加するには、項目を選択して [image] をクリックします。これらの項目すべてに値リストを付加するには、 [image] をクリックします。

または

1	オブジェクト・ナビゲータで、希望するテキスト項目の横のオブジェクト・アイコンをダブルクリックします。プロパティ・パレットが表示されます。

2	「値リスト（LOV）」ノードの下で、テキスト項目に付加する値リストの名前を入力して値リスト・プロパティを設定します。

3	「X位置のリスト」と「Y位置のリスト」プロパティを設定することによって、値リストの表示座標を設定します。

ヒント: Form Builderが値リストのデフォルトの表示位置を使用する場合は、座標を0,0（デフォルト）のままにしてください。値リストのデフォルトの表示位置を上書きする場合は、「位置のリスト」プロパティを0,0以外の値に変更します。


プログラムによる実行時での値リストの付加

  関連項目

SET_ITEM_PROPERTYビルトイン・サブプログラムを使用すると、プログラムによってテキスト項目に値リストを付加できます。次の例では、「lov2」という値リストを、「emp.empno」というテキスト項目に付加しています。

Set_Item_Property('emp.empno',LOV_NAME,'lov2');

逆に、テキスト項目に付加される値リストを検索するには、GET_ITEM_PROPERTYをコールします。

IF Get_Item_Property('emp.empno',LIST) = 'lov1' THEN
   Set_Item_Property('emp.empno',LIST,'lov2');
END IF;

テキスト項目に現在値リストが付加されているかどうかを調べる必要がある場合は、次のようにLIST定数を使用してGET_ITEM_PROPERTYをコールします。

IF Get_Item_Property('emp.empno',LIST) = 'TRUE' THEN...


プログラムによる値リストの表示

値リストの表示に使えるビルトイン・サブプログラムは次の2つです。

•	LIST_VALUES

•	SHOW_LOV

LIST_VALUESを使用しての値リストの表示 LIST_VALUESプロシージャは、次の実行時条件が満たされる場合に値リストを表示します。

•	フォーム内の現項目がテキスト項目です。

•	テキスト項目に値リストが付加されています。

LIST_VALUESプロシージャは、多くの場合、値リストが付加されているテキスト項目へエンド・ユーザーまたはアプリケーションがナビゲートしたときに、値リストを表示するためにWhen-New-Item-Instanceトリガーからコールされます。

LIST_VALUESプロシージャは、Key-LISTVALトリガーからもコールされます。このトリガーは、エンド・ユーザーが[値リスト]キーを押したときに起動します。Key-LISTVALトリガーからLIST_VALUESをコールすると、[値リスト]キーのデフォルト・フォーム処理を補強できます。

デフォルトでは、値リストが付加されているテキスト項目内でエンド・ーユーザーが[値リスト]キーを押したときに値リストが表示されることを思い出してください。次のようにLIST_VALUESプロシージャをコールするKey-LISTVALトリガーを書くことによって、このデフォルトの機能性を複製できます。

Key-LISTVALトリガー:

List_Values;

見てもわかるように、このトリガーはFormBuilderのデフォルト機能を複製したのみのものなので、あまり価値がありません。ただし、Key-LISTVALトリガーを使用すると、値リストが表示された後、かつForm Builderが標準のイベント順序に戻る前に実行されるPL/SQL文を追加できます。

次の例では、前述のトリガーにIF文が追加されています。

Key-LISTVALトリガー:

List_Values;
IF :customer.id IS NULL THEN
   Go_Item ('customer.id');
END IF;

この例では、エンド・ユーザーがテキスト項目を入力して[値リスト]キーを押すと、付加された値リスト（この場合は顧客名のリスト）が表示されます。エンド・ユーザーがリストから顧客を選択した後、戻り項目の1つ（customer.id）の値がNULLならば、このトリガーは別の項目へナビゲートされます。

エンド・ユーザーが値を選択しなくても値リストを消せることを覚えておいてください。LIST_VALUESプロシージャの後に実行されるPL/SQL文は、そのように書く必要があります。

SHOW_LOVを使用しての値リストの表示  SHOW_LOVファンクションは、指示された値リストを、指定された表示座標に表示します。LIST_VALUESと異なり、SHOW_LOVではテキスト項目に値リストを付加する必要がありません。たとえば、SHOW_LOVを使用すると、エンド・ユーザーがボタンのクリックまたはメニュー項目の選択によって値リストを起動できます。

SHOW_LOVファンクションは、一種のBOOLEANファンクションであり、エンド・ユーザーが値リストから選択するとTRUE、エンド・ユーザーが選択せずに値リストを取り消すとFALSEを戻します。

SHOW_LOVファンクションを最も簡単にコールする方法は、次のWhen-Button-Pressedトリガーのように、SHOW_LOVの戻り値を仮変数に割り当てることです。

When-Button-Pressedトリガー:

DECLARE
   dummy	 BOOLEAN;
BEGIN
   dummy := Show_LOV('my_lov',15,10);
END;

SHOW_LOV引数リストに指定された表示座標（15と10）は、値リストのデフォルト座標を上書きします。

エンド・ユーザーが選択をしたか、それとも値リストを取り消したかに応じてなんらかのアクションを実行する場合は、次のようにトリガーを構築できます。

When-Button-Pressedトリガー:

IF Show_LOV('my_lov',15,10) THEN
/* the end user made a selection and Form Builder returned
** the selected column values to the corresponding
** return items so do something here
*/
Message('Good Choice!');
ELSE
/* The end user canceled the LOV without making a selection
** so do something else instead
*/
Message('Please enter a value.');
END IF;

この例では、SHOW_LOVファンクションをIF-THEN-ELSE構成のテスト条件として使用しています。エンド・ユーザーがリストから選択すると、条件がTRUEになり、第1の集合の条件文が実行されます。

エンド・ユーザーが選択せずに値リストを取り消すと、条件がFALSEになり、第2の集合の条件文が実行されます。


値リストの再使用

同じ値リストをアプリケーション内の複数の場所に表示できます。このテクニックは、エンド・ユーザーが複数のコンテキストで同じ情報にアクセスできるようにするアプリケーションに役立ちます。たとえば、エンド・ユーザーが新規の注文を入力するときと毎月の請求書を生成するときに、値リストから顧客名を選択できるようにしたい場合に役立ちます。

1つのアプリケーション内の複数の場所で値リストを使用するには、選択されたレコードから、アプリケーションのコンテキストに応じた戻り項目に、列値を割り当てることができます。

それには、グローバル変数またはフォーム・パラメータを戻り項目として、SHOW_LOVビルトイン・サブプログラムとともに使用します。

たとえば、GLOBAL.oneからGLOBAL.fourの4つのグローバル変数に値を戻す4列のレコード・グループを基にして値リストを定義したとします。

値リストを表示するためにトリガーを書くときには、グローバル変数の戻り項目の値も、現行のアプリケーション・コンテキストに適したフォーム項目に割り当てます。

トリガーのテキスト:

IF Show_LOV('generic_lov') THEN
/* The end user made a selection and Form Builder assigned
** the selected values to the global variable return items.
** Now assign those values to the appropriate form items:
*/
   :block_A.item1 := :GLOBAL.one;
   :block_A.item2 := :GLOBAL.two;
   :block_A.item3 := :GLOBAL.three;
   :block_A.item4 := :GLOBAL.four;
END IF;


実行時における値リスト・プロパティの設定

次のビルトイン・サブプログラムを使用すると、実行時に値リスト・プロパティを取得および設定できます。

•	GET_LOV_PROPERTY

•	SET_LOV_PROPERTY

プロシージャSET_LOV_PROPERTYを使用すると、次の値リスト・プロパティを設定できます。

•	GROUP_NAME

•	Size

•	X Position, Y Position

「GROUP_NAME」プロパティを設定することによって、値リストの基にするレコード・グループを別のレコード・グループに置換できます。次の例では、GROUP_NAMEプロパティを設定することによって、new_groupという名前のレコード・グループを、my_lovという名前の値リストに対応付けています。

Set_LOV_Property('my_lov',GROUP_NAME,'new_group');

新しいレコード・グループは、セッションの間中、またはSET_LOV_PROPERTYのコールによって再度置換されるまで、この値リストに対応付けられたままになります。

値リストのレコード・グループを別のレコード・グループに置換する場合、この新しいレコード・グループは次の条件を満たしている必要があります。

•	SET_LOV_PROPERTYがコールされるときにフォーム内に存在しています。

•	置換されるレコード・グループ内の列名およびタイプと一致する列名およびタイプを持っています。


値リストをREF列とともに使用する例

ここでは、Oracle8のREF列とともに値リストを使用する例を示します。この手法は、完全なPL/SQLコーディングのサポートが利用可能になるまでの間、REF参照に対して使用できます。

O_EMPという名前のオブジェクト表から、次の項目を持つO_EMPブロックを作成します。

MGR

DEPTREF

EMPNO

ENAME

JOB

SAL

COMM

MGR_ENAME

DEPTREF_DNAME

次の問合せを伴うレコード・グループRGを作成します（この例では、oはo_emp表の別名であることに注意してください）。

select o.ename from o_emp o

次の問合せを伴うレコード・グループMGRSを作成します。

select ref(o) refemp, o.ename from o_emp o

レコード・グループMGRSを基に、同名の値リストMGRSを作成します。この値リストはMGR_ENAME項目に付加されます。

MGE_ENAME項目に付加されるWHEN-VALIDATE-ITEMトリガーを作成します。このトリガーには次のコードが含まれます。

DECLARE

mgrref   varchar2(128);
     mgrrec   number;

BEGIN

mgrrec := populate_group('mgrs');
     mgrrec := get_group_record_number('mgrs.ename', :o_emp.mgr_ename);

if mgrrec <> 0 then

mgrref := get_group_char_cell('mgrs.refemp', mgrrec);
          copy(mgrref, 'o_emp.mgr');

ELSE

message('Manager name not found');
          raise form_trigger_failure;

     END IF;

END;

このコードはREF値を取得し、これをローカルのvarchar2変数に渡し、最後にその値を項目にコピーします。このコードは次のPL/SQL文と同じ働きをします。

:o_emp.mgr := get_group_char_cell('mgrs.refemp', mgrref);


値リスト・ウィザード: 前置きページ

  次のステップ  [image]  関連項目

値リスト・ウィザードについて

値リスト・ウィザードでは、値リスト（LOV）の作成および修正を行うことができます。値リストはスクロール可能なポップアップ・ウィンドウで、単一または複数の列を持った選択リストをユーザーに提供します。値リスト・ウィザードを使用して、既存のレコード・グループ、またはSQL問合せによって移入された新しいレコード・グループに基づいた値リストを作成できます。

値リスト・ウィザードは再入力可能

値リスト・ウィザードは再入力可能モードで操作できます。再入力可能モードでは、値リストが本来レイアウト・ウィザードを使用して作成されたものでない場合でも、値リスト・ウィザードを使用して既存の値リストを修正できます。

値リスト・ウィザードを再入力可能モードで起動するには、オブジェクト・ナビゲータで既存の値リストを選択し、「ツール」 [image] 「値リスト・ウィザード」を選択します。再入力可能モードでは、ウィンドウ上部のタブを使用してウィザードの各ページに移動できます。

値リスト・ウィザード内でのナビゲート

値リスト・ウィザードでは、次の6つのボタンを利用してページの間をナビゲートできます。

•	「取消し」  加えた変更があれば、すべての変更を取り消し、ウィザードを終了します。

•	「ヘルプ」  ウィザードの現行のページのオンライン・ヘルプを表示します。

•	「戻る」  ウィザード内の前ページにナビゲートします。

•	「次へ」  ウィザード内の次ページにナビゲートします。

•	「適用」  変更を適用し、ウィザードは終了しない（再入力可能なウィザードのみ）。

•	「完了」  ウィザードで加えた変更があれば保存し、ウィザードを終了します。

再入力可能モードの値リスト・ウィザードでは、「ウィザード」ページの上にあるタブを使用して、ページ間を移動することもできます。タブの右側にある矢印ボタンを使用すると、ウィザードの枠から出て見えなくなっているタブを表示できます。

注意: ウィザードの特定のページに必要な情報をすべて入力する前に「次へ」または「戻る」をクリックしても、そのページから他のページに移動することはできません。同様に、「適用」または「完了」をクリックしたときに、必要な情報がすべてウィザードに入力されていないと、データが欠落しているページ、または不正なデータが入力されているページが自動的に表示されます。

次回このページを表示

「値リスト・ウィザードへようこそ」ページは、値リスト・ウィザードを最初に起動したときに自動的に表示されます。次回以降ウィザードの起動時にこのページを表示しないようにするには、「次回このページを表示」チェックボックスのチェックをはずします。この設定は、「作業環境」ダイアログ・ボックスでも変更できます。


値リスト・ウィザード: 「値リスト・ソース」ページ

  次のステップ 	   関連項目	  値リスト・ウィザードについて

新規値リストのソースを指定するには:

1	新規のレコード・グループを基に新しく値リストを作成する場合は、「問合せを基に作成した新規レコード・グループ」ラジオ・ボタンを選択します（この新規レコード・グループに対する問合せは、ウィザードの次のページで指定します）。

注意: 値リスト・ウィザードでは、新規静的レコード・グループを基に値リストを作成することはできません。ただし、既存の静的レコード・グループを基に値リストを作成することはできます。下記を参照してください。

2	既存のレコード・グループを基に新しく値リストを作成する場合は、「既存レコード・グループ」ラジオ・ボタンを選択します。ドロップダウン・リストから目的のレコード・グループを選択します。このリストには、フォーム内で使用可能なすべての問合せおよび静的レコード・グループの名前が表示されます。


値リスト・ウィザード: 「レコード・グループ」ページ

  関連項目      [image]  値リスト・ウィザードについて

このページは、再入力可能モードで値リスト・ウィザードを起動して、問合せレコード・グループを基礎とする既存の値リストを修正するときにのみ表示されます。

再入力可能モードで値リスト・ウィザードを起動し、値リストの基礎となっている問合せレコード・グループを修正する場合、既存のレコード・グループを選択するか、または修正された問合せを基礎とする新しいレコード・グループを作成するかを選択できます。既存のレコード・グループの修正を選択した場合、同じレコード・グループを基礎としている他のすべての値リストが、その修正による影響を受けます。


値リスト・ウィザード: 「SQL問合せ」ページ

  次のステップ      [image]  関連項目      [image]  値リスト・ウィザードについて

このページでは、値リストの基礎となるレコード・グループを構成するために使用されるSQL問合せを指定します。このページは、新規値リストの作成中にのみ表示されます。

「値リスト・ソース」ページで既存のレコード・グループを選択した場合、または再入力可能モードでウィザードを使用している場合、このページ上のテキスト・フィールドには、選択されたレコード・グループの基礎となっているSQL問合せがあらかじめ表示されています。

SQL問合せを変更または修正するには:

1	問合せを直接入力するには、ページ中央のテキスト・フィールドに適切なSQLコードを直接入力します。

2	Forms Developer Query Builderを使用して問合せを作成するには、「SQL作成」をクリックします。

3	SQL問合せをファイルからインポートするには、「SQLインポート」をクリックします。

テキスト・フィールド内のSQL問合せの構文をチェックするには:

「構文チェック」ボタンをクリックします。（データベースに接続されていない場合は、「接続」ダイアログが表示されます。問合せの構文チェックを可能にするには、データベースに接続する必要があります）。

データベースに接続するには:

「接続」をクリックします。

注意: 「値リスト・ソース」ページで、既存の静的レコード・グループを基礎として値リストを作成することを選択した場合、このページは表示されず、「列プロパティ」ページへと自動的に移動されます。


値リスト・ウィザード: 「列選択」ページ

  次のステップ	  関連項目	  値リスト・ウィザードについて

値リスト内の列は、値リストの基礎となっているレコード・グループに含まれる列集合全体の部分集合です。このページでは、値リストに組み込む列を選択します。

値リストに組み込む列を選択するには:

1	値リストに個々の列を追加するには:

•	「レコード・グループ列」リストから、追加する列を選択します。

•	 ボタンをクリックします。

2	すべての列を値リストに追加するには:

•	 ボタンをクリックします。

3	値リストから個々の列を削除するには:

•	「値リストの列」リストから、削除する列を選択します。

•	 ボタンをクリックします。

4	値リストからすべての列を削除するには:

•	 ボタンをクリックします。


値リスト・ウィザード: 「列表示」ページ

  次のステップ  	  関連項目	  値リスト・ウィザードについて

このページでは、値リストに追加した列の表示プロパティを指定します。

表には、値リスト列の名前とそのプロパティが一覧表示されます。

•	タイトル  値リスト列のタイトルです。デフォルトの列タイトルは、レコード・グループ列の名前です。

•	幅  値リスト列の表示幅です。列幅のデフォルト値は、データ・タイプと、その列に対応するレコード・グループ列の幅によって異なります。列幅を0に指定することにより、その列を値リストに組み込むのみで表示はしないように指定できます。

•	戻り値  列の値を割り当てるパラメータまたはグローバル変数の名前です。デフォルト値はNULLです。これはオプションの項目です。

「戻り項目を参照」をクリックすると、フォーム内のすべての項目およびパラメータのリストが表示されます。項目には接頭辞としてブロック名が付けられ（block_name.item_name）、パラメータには接頭辞として語parameterが付けられます（parameter.parameter_name）。このリスト内のエントリを選択して「OK」をクリックすると、選択された列の「戻り値」フィールドにそのエントリがコピーされます。

列プロパティを変更するには:

1	表中の適切なフィールドを選択します。

2	目的の値を入力します。

注意: 値リストの列名は、値リストの基礎となっているレコード・グループから取得されるため、変更できません。

「列のサイズを自動設定」チェックボックスでは、値リストの幅を自動的に決定するかどうかを指定します（列幅が0に設定されると、このチェックボックスの設定に関係なく、その列は常に隠されます）。このチェックボックスでは、値リストの「自動列幅」プロパティを設定します。

•	「列のサイズを自動設定」がチェックされている場合、Form Builderは実行時に次の2つの値の大きさに応じて、実行時に列の幅を決定します。

•	その列に対して指定された列幅

•	列タイトル全体を表示するために必要な列幅

•	「列のサイズを自動設定」がチェックされていない場合、指定された列幅が使用されます。このとき、列タイトルの一部が隠れてしまう可能性があります。


値リスト・ウィザード: 「値リスト表示」ページ

  次のステップ	  関連項目	  値リスト・ウィザードについて

このページでは、実行時に表示される「値リスト」ダイアログの外観、サイズおよび位置を制御します。

•	値リストのタイトル  「値リスト」ダイアログ・ボックスのタイトル

•	幅  「値リスト」ダイアログ・ボックスの幅

•	高さ  「値リスト」ダイアログ・ボックスの高さ

Form Builderは実行時に、値リストが起動されたフィールドの近くにリストを自動的に配置できます。また、値リスト起動時の表示位置を手動で指定できます。このとき次の座標を指定する必要があります。

•	上  「値リスト」ウィンドウの上端と、表示領域の上端との間の距離

•	左  「値リスト」ウィンドウの左境界と、表示領域の左境界との間の距離


値リスト・ウィザード: 「拡張オプション」ページ

  次のステップ 	  関連項目	  値リスト・ウィザードについて

このページでは、次の拡張プロパティを設定します。（これらのプロパティの使用方法に詳しくない場合は、あらかじめ表示されているデフォルト値をそのまま使用することをお薦めします。）

•	「レコード・グループの取出しサイズ」  取り出されるレコード・グループのサイズを指定します。取り出しサイズを大きくすると、レコード・グループの取得に必要な取出しの回数が減ります。値リストが静的レコード・グループを基礎としている場合、このフィールドは無効です。

•	「表示前フィルタ」  チェックされていると、実行時に値リストが最初に起動されたときにレコードが一切表示されません。エンド・ユーザーが「検索」フィールドに値を入力して「検索」をクリックしたときに、入力された基準を満たすレコードのみが表示されます。このオプションがチェックされていない場合、値リストの起動時にすべてのレコードがリストに表示されます。

•	「値リストを自動的にリフレッシュ」  チェックされていると、値リストに表示されるレコードは、値リストが起動されるたびに問合せを受けます。チェックされていない場合、値リストを最初に起動したときに検索されたレコードがキャッシュに格納され、次の起動時に再利用されます。


値リスト・ウィザード: 「項目」ページ

  次のステップ	  関連項目	  値リスト・ウィザードについて

このページでは、値リスト・ウィザードの「列表示」ページで指定した戻り項目の一部または全体に値リストを連結します。

値リストの連結先テキスト項目にエンド・ユーザーまたはアプリケーションがナビゲートすると、ステータス行に値リストのリスト・ランプが表示され、値リストが使用可能であることが示されます。ユーザーは[値リスト]を押すことにより、値リストを起動できます。

「列表示」ページで戻り項目が指定されている場合、それらの項目が「戻り項目」列に一覧表示されます。値リストの割当て項目は、「割当て項目」列に一覧表示されます。

値リストを項目に連結するには:

1	値リストを単一の項目に連結するには:

•	「戻り項目」リストから項目を選択します。

•	 ボタンをクリックします。

2	値リストをすべての項目に連結するには:

•	 ボタンをクリックします。

3	単一の項目から値リストを連結解除するには

•	「戻り項目」リストから項目を選択します。

•	 ボタンをクリックします。

4	すべての項目から値リストを連結解除するには:

•	 ボタンをクリックします。


値リスト・ウィザード: 「完了」ページ

  関連項目	  値リスト・ウィザードについて

次の操作

「完了」をクリックして、値リスト・ウィザードを終了します。新しい値リストが作成されます。必要に応じて、関連するレコード・グループも同時に作成されます。

プロパティ・パレットで値リストのプロパティを変更することにより、リストの外観および動作をさらにカスタマイズできます。オブジェクト・ナビゲータで値リストを選択し、「ツール」 [image] 「プロパティ・パレット」を選択します。また、オブジェクト・ナビゲータで値リストを選択し、「ツール」 [image] 「値リスト・ウィザード」を選択すると、値リスト・ウィザードを使用して値リストを修正できます。


レイアウト・ウィザードについて

  次のステップ	  関連項目

レイアウト・ウィザードについて

レイアウト・ウィザードを使用すると、データ・ブロックの項目を素早く簡単にレイアウトできます。レイアウト・ウィザードは、キャンバス内の項目を表示し、いくつかあるレイアウト・スタイルの1つを使用してこの項目をレイアウトします。

レイアウト・ウィザードは、次の作業を実行するために使用します。

•	枠やデータ・ブロック項目を置くキャンバス（レイアウト面）を選択または作成します。

•	レイアウトに表示するデータ・ブロック項目、およびこの項目の項目タイプを選択します。

•	項目のプロンプト、幅、および高さを設定します。

•	レイアウトが入る枠のレイアウト・スタイルとタイトルを選択します。

•	枠内のレコードの数、およびそのレコード間の距離を指定します。

•	スクロールバーを表示します。

レイアウト・ウィザードは再入力可能

レイアウト・ウィザードが特に優れている点の1つは、再入力可能モードで操作できることです。つまり、レイアウト・ウィザードを使用して既存の枠のレイアウトを変更でき、さらにレイアウト・ウィザードで作成しなかった枠でも変更できます。

レイアウト・ウィザードを再入力可能モードで起動するには、オブジェクト・ナビゲータ（の「キャンバス」ノードの下）で、またはレイアウト・エディタで既存の枠を選択し、「ツール」 [image] 「レイアウト・ウィザード」を選択します。

レイアウト・ウィザード内でのナビゲート

レイアウト・ウィザードでは、次の6つのボタンを利用してページの間をナビゲートできます。

•	「取消し」: 加えた変更があれば、すべての変更を取り消し、ウィザードを終了します。

•	「ヘルプ」: ウィザードの現行のページのオンライン・ヘルプ・テキストを表示します。

•	「戻る」: ウィザード内の前ページにナビゲートします。

•	「次へ」: ウィザード内の次ページにナビゲートします。

•	「適用」: 変更を適用しますが、ウィザードは終了しません（再入力可能なウィザードのみ）。

•	「完了」: ウィザードで加えた変更があれば保存し、ウィザードを終了します。

注意: ある特定のウィザード・ページで必要な情報をすべて入力し終わらずに「次へ」または「戻る」をクリックすると、次（または前）のページへナビゲートできません。同様に、必要なすべての情報をウィザードに入力し終わらずに「適用」または「完了」をクリックすると、必要なデータを入力する必要のあるページが自動的に表示されます。


レイアウト・ウィザード: 「キャンバス」ページ

  次のステップ	  ウィザードについて

キャンバスを選択する方法:

1	「キャンバス」ページで、「キャンバス」ポップリストからキャンバス名を選択します。

既存のキャンバスを選択、または新規のキャンバスを作成できます。

2	「（新規キャンバス）」を選択する場合は、「タイプ」ポップリストからキャンバス・タイプを選択します。

選択できる項目の詳細は、「キャンバス・タイプについて」を参照してください。

「タイプ」ポップリストから「タブ」を選択する場合は、「タブ・ページ」ポップリストからタブ・ページも指定する必要があります。

注意: 「キャンバス」ページはリエントラントなレイアウト・ウィザードでは使用できません。枠を別のキャンバスに移動するには、レイアウト・エディタを使用して新しいキャンバスに枠をカットおよびペーストします。


レイアウト・ウィザード: 「データ・ブロック」ページ

  次のステップ	  ウィザードについて

枠にデータ・ブロック項目を表示する方法:

1	「データ・ブロック」ページで、「データ・ブロック」ポップリストからブロックを選択します。

注意: データ・ブロック・ウィザードから直接レイアウト・ウィザードにアクセスした場合、「データ・ブロック」ポップリストは使用不可になります。

2	枠に表示したいデータ・ブロック項目を「使用可能な項目」リストから選択します。

3	枠のレイアウトに項目を追加するには、その項目を選択して次のことを行います。

•	「使用可能な項目」リストから選択した項目を「表示項目」リストに移動するために、 [image] をクリックします（使用可能な項目をすべて移動するには、 [image] をクリックします）。

または

•	「使用可能な項目」リストから「表示項目」リストに項目をドラッグ・アンド・ドロップします。

•	「使用可能な項目」リストから「表示項目」リストに項目を移動すると、枠のキャンバス上にその項目が置かれ、その「可視」プロパティが「はい」に設定されます。

4	「表示項目」リストから（および枠から）1つ以上の項目を削除するには、その項目を選択して次のことを行います。

•	または [image] をクリックします。

または

•	「表示項目」リストから「使用可能な項目」リストに項目をドラッグ・アンド・ドロップします。

「表示項目」リストから「使用可能な項目」リストに項目を移動すると、枠のキャンバスからその項目が削除され、その「可視」プロパティが「いいえ」に設定されます。

5	「表示項目」リストに項目を移動するたびに、「項目タイプ」ポップリストを使用して項目タイプを指定します。

注意: 項目がラジオ・グループである場合、その項目を「表示項目」リストで選択してから、「表示」ポップリストを使用して（ラジオ・グループ自身から、そのグループを構成するラジオ・ボタンへ）ウィザードのフォーカスを変更します。この方法で、ラジオ・ボタンの順序変更、またはラジオ・ボタンのプロンプト、幅、高さの設定が（「項目」ページで）できます。


レイアウト・ウィザード: 「項目」ページ

  次のステップ	  ウィザードについて

項目のプロンプト、幅、および高さを設定する方法:

•	「項目」ページで、枠のレイアウトに表示される各項目のプロンプト・テキスト、幅、および高さを指定します。

プロンプトとは、項目に付加されるテキスト・ラベルです。レイアウト・エディタでデータ・ブロック項目のレイアウトを更新する場合、項目を移動するとそのプロンプトも移動します。

注意: 項目の幅と高さの単位は、「項目」ページの上部に表示されます。項目の寸法の単位を変更するには、「座標システム」プロパティを設定します（フォーム・レベル）。


レイアウト・ウィザード: 「スタイル」ページ

  次のステップ	  ウィザードについて

枠のレイアウト・スタイルを選択する方法:

•	「スタイル」ページで、フォーム・レイアウトか表レイアウトかを選択するために、ラジオ・ボタンをクリックします。

フォーム・レイアウト・スタイルはシングル・レコードのブロックに適し、表レイアウト・スタイルは複数のレコードを表示するデータ・ブロックに適しています。

注意: レイアウト・ウィザードは、ほとんどの形式をサポートしています。特殊なレイアウトで作成する場合（たとえば、水平方向の表レイアウト）、ウィザードを使わずに適切なプロパティを手動で設定できます。


レイアウト・ウィザード: 「行」ページ

  次のステップ	  ウィザードについて

枠タイトルとレコード・プロパティを設定する方法:

1	「行」ページで、枠の上部に表示するタイトルを「枠タイトル」フィールドに入力します。

2	「表示レコード」フィールドに、枠に表示するレコードの数を入力します（デフォルトは1）。

枠のレイアウト・スタイルに応じて、次のように設定します。

•	フォーム: 通常データ・ブロックがマスター・ブロックのときに使用します。表示レコードの数を1に設定します。

•	表: 通常データ・ブロックがディテール・ブロックのときに使用します。希望する数のディテール・レコードが表示されるように、表示レコードの数を調整します。

3	「レコード間の距離」フィールドに、枠に表示するレコードの間の物理的な距離（フォームの座標システム単位で計測）を入力します。

4	枠にスクロールバーを付けるには（設計時および実行時のいずれも）、「スクロールバーを表示」チェックボックスをチェックします。スクロールバーは通常、マルチ・レコードのブロックに役立ちます。


レイアウト・ウィザード: 「完了」ページ

  ウィザードについて

次の操作

枠内でのデータ・ブロック項目のレイアウトが完了したので、レイアウト・ウィザードを終了してアプリケーションの作業を続ける準備ができました。「完了」をクリックすると、レイアウト・ウィザードがクローズされ、（Form Builderの設計ツールの1つである）レイアウト・エディタ内に枠のレイアウトが自動的に表示されます。

ヒント: フォーム内の枠の外観と機能性をさらにカスタマイズするには、プロパティ・パレットでさまざまな枠関連プロパティを設定します。オブジェクト・ナビゲータ（の「キャンバス」ノードの下）で枠を選択し、「ツール」 [image] 「プロパティ・パレット」を選択します。


メニューについて

  関連項目

メニューとは、エンド・ユーザーが特定の機能や操作を選択するために使用する項目リストです。メニューの各項目は、コマンドまたはサブメニューを表します。

Form Builderは、次の3つの基本メニュー・タイプをサポートします。

•	フォーム・メニュー

•	メニュー・ツールバー

•	ポップアップ・メニュー

フォーム・メニュー  通常、フォーム・メニューには、ナビゲーションおよび編集、データベース相互作用のための標準のフォームレベル・コマンドが組み込まれています。どのフォームも、次のいずれかのフォーム・メニューによって実行されます。

•	デフォルト

•	カスタム・フォーム・メニュー

•	なし

メニュー・ツールバー  どんなタイプのカスタム・フォーム・メニュー・モジュールを作成しても、そのフォーム・メニューからメニュー・ツールバーを導入できます。メニュー・ツールバーは、（現行のフォーム・メニューから）選択されたメニュー項目を、水平または垂直のリボン上にアイコンとして表示します。

ポップアップ・メニュー  1つのフォーム・メニューのほかにも、各フォームにはポップアップ・メニューをいくつでも組み込めます。ポップアップ・メニューとは、フォーム内の個々のキャンバスや項目に付加されたコンテキスト依存のメニューです。


メニュー設計について

  関連項目

どのようなメニュー・システムでも、単純で使用しやすいことが重要です。メニューを設計するときの第一の目標は、よく使用する機能やコマンドにエンド・ユーザーが素早くかつ直感的にアクセスできるようにすることです。効果的なメニューを構築するためのいくつかの基本的なガイドラインとしては、次のものがあります。

•	似通ったコマンドをメニュー上でグループ化する。

•	メニュー上の項目の数を10までに制限する。

•	似通ったメニュー項目をさらに分類するためにサブメニューを作成する。

メニュー・エディタ  メニュー・エディタは、メニューの作成と変更のためにForm Builderが提供する非常に強力な設計ツールです。オブジェクト・ナビゲータとプロパティ・パレットを使用してもメニューを階層的に作成できますが、メニューを構築しながらその物理構造を見たい場合はメニュー・エディタを使用してください。メニュー・エディタを使用すると、メニュー・オブジェクトの作成および配置が素早く簡単にできます。


デフォルト・フォーム・メニューについて

  関連項目

デフォルト・フォーム・メニューは、Form Builderの内部コンポーネントの1つであり、別個のメニュー・モジュールではありません（すなわち実行可能なファイルではありません）。Form Builderは、新規に作成されるすべてのフォームに自動的にデフォルト・フォーム・メニューを付加します（付加しないように指定した場合を除く）。フォームにデフォルト・メニューを明示的に付加しなければならないのは、そのフォームの「メニュー・モジュール」プロパティを以前に変更した場合だけです。

デフォルト・フォーム・メニューには、次のランフォーム・ファンクション・キーに対応する標準コマンドが組み込まれています。

アクション	編集	問合せ	ブロック	レコード	フィールド	ヘルプ
保存*	カット*	入力*	前*	前*	前	ヘルプ*
すべて消去	コピー*	実行*	次*	次*	次	キー
印刷*	ペースト*	取消し*	消去	スクロール・アップ	消去	エラー表示
印刷設定*	編集	最終条件		スクロール・ダウン	複製	デバッグ
終了*	リスト表示	問合せ件数		挿入*
		次セットフェッチ		削除*
				ロック*
				複製
				消去
デフォルト・メニュー・ツールバーについて

デフォルト・メニュー・ツールバー  フォームにデフォルト・フォーム・メニューを付加する場合、そのフォームには自動的にデフォルト・メニュー・ツールバーが付加されます。このメニュー・ツールバーは、（フォームの上部でプルダウン・フォーム・メニューの下に置かれ、）アイコン化されたボタンがツールバー上に並ぶ構成になっていて、このボタンが多数のデフォルト・フォーム・メニュー項目へのショート・カットになっています。（デフォルト・メニュー・ツールバーに表示されるデフォルト・フォーム・メニューの項目は、前述の表にアスタリスク(*)でマークされています。


デフォルト・フォーム・メニューの付加

フォーム・モジュールにデフォルト・フォーム・メニューを付加する方法:

1	オブジェクト・ナビゲータで、フォーム・モジュールをダブルクリックします。

2	プロパティ・パレットの「機能」ノードの下で、「メニュー・モジュール」プロパティをDEFAULTに設定します。

注意:フォーム・メニューを持たないフォームを実行するには、「メニュー・モジュール」プロパティ・フィールドを空のままにします。


カスタム・フォーム・メニュー・モジュールについて

  関連項目

（デフォルト・フォーム・メニューを使用するのでなく）アプリケーション用のカスタム・フォーム・メニュー・モジュールを作成する場合、次の2つの方法があります。

•	menudef.mmbメニュー・モジュールを変更する。

•	新規のフォーム・メニュー・モジュールを最初から作成する。

メニュー・ツールバー  どんなタイプのカスタム・フォーム・メニュー・モジュールを作成しても、そのフォーム・メニューからメニュー・ツールバーを導出できます。メニュー・バーは、（現行のフォーム・メニューから）選択したメニュー項目を、水平または垂直のリボン上のアイコンとして表示します。


menudef.mmbメニュー・モジュールについて

  関連項目

Form Builderとともに出荷される既製のメニュー・モジュール(menudef.mmb)には、デフォルト・フォーム・メニューとまったく同じメニュー項目があります。menudef.mmbメニュー・モジュールはデフォルト・フォーム・メニューのファイル・コピーなので、好きなように変更できます。デフォルト・フォーム・メニューそのものを永続的に変更してしまう心配はありません。 なぜなら、デフォルト・フォーム・メニューは内部コンポーネントであってファイルではないので、常に元の状態で使用可能だからです。

menudef.mmbメニュー・モジュールを変更する場合、その項目コマンドはDO_KEYビルトインによってインプリメントされることに注意してください（このビルトインがキー・トリガーを実行するので、エンド・ユーザーはメニューまたはキーボードのどちらからでもコマンドを実行できます）。機能性を首尾一貫させるには、menudef.mmbモジュールにメニュー項目コマンドを追加するときにDO_KEYビルトインを使用するようにしてください。


menudef.mmbメニュー・モジュールの変更

  関連項目

menudef.mmbメニュー・モジュールを変更する方法:

1	オブジェクト・ナビゲータで「メニュー」ノードをクリックします。

2	ツールバーで「オープン」ボタンをクリックします。

3	ダイアログでmenudef.mmbを選択してから、「OK」をクリックします。

ヒント: menudef.mmbメニュー・モジュールは、ORACLE.INIファイルまたはWIN32レジストリ.での指定通りに/demos/dfltmenuディレクトリに位置します。

4	オブジェクト・ナビゲータかメニュー・エディタを使用して、新規のメニュー・オブジェクトをmenudef.mmbファイルに追加します（またはmenudef.mmbファイルの既存のメニュー・オブジェクトを変更します）。

5	変更したメニュー・モジュールを保存およびコンパイルし、フォーム・モジュールに付加します。

変更したメニュー・モジュールを元のモジュールと区別できるようにするために、変更後のモジュールは改名してください。


メニュー・モジュールの最初からの作成について

  関連項目

デフォルト・メニューが要求に合わない場合やmenudef.mmbメニュー・モジュールを元にして作業を始めない場合は、最初から独自のメニュー・モジュールを作成できます。オブジェクト・ナビゲータ、メニュー・エディタおよびプロパティ・パレットを使って必要なすべてのメニュー・オブジェクトを作成し、フォーム・メニューを作成できます。

最初からフォーム・メニューを作成する手順:

•	オブジェクト・ナビゲータで新規メニュー・モジュールを作成する。

•	オブジェクト・ナビゲータまたはメニュー・エディタを使ってメニュー・オブジェクトを作成する（メイン・メニュー、個々のメニューとサブメニューおよびメニュー項目）。

•	メニュー項目にコマンドを割当てる。

•	メニュー・モジュールを保存し、コンパイルする。

•	メニュー・モジュールをフォーム・モジュールに付加する。


カスタム・フォーム・メニュー・モジュールの保存とコンパイル

カスタム・フォーム・メニュー・モジュールを保存およびコンパイルする方法:

1	オブジェクト・ナビゲータでメニュー・モジュールを選択します。

2	「ファイル」 [image] 「上書き保存」または「ファイル」 [image] 「名前を付けて保存」を選択してメニュー・モジュールを保存します。

注意: MMBメニュー・モジュールは、ファイル・システムまたはデータベースに保存できます。

警告: menudef.mmbメニュー・モジュールを変更したものを保存する場合、別のファイル名で保存します。そうすれば、後で（元のmenudef.mmbモジュールを基にして）追加フォーム・メニュー・モジュールを作成できます。

3	「ファイル」 [image] 「管理」 [image] 「ファイル・コンパイル」を選択して、メニュー・モジュールをコンパイルします。

.MMXファイル名拡張子付きのランタイム・メニュー・ファイルが作成されます。（メニュー実行可能ファイルは、データベースではなくファイル・システムに格納されます。


カスタム・フォーム・メニュー・モジュールの付加

  関連項目

フォーム・モジュールにカスタム・フォーム・メニュー・モジュールを付加する方法:

1	オブジェクト・ナビゲータで、フォーム・モジュールのオ」ブジェクト・アイコンをダブルクリックします。

2	プロパティ・パレットの「機能」ノードの下で、「メニュー・モジュール」プロパティをランタイム・メニュー・ファイルのファイル名に設定します(.MMXファイル名拡張子は省略可能です)。

注意: メニュー・モジュールをフォーム・モジュールに付加するには、前もって保存およびコンパイルしておく必要があります。

3	「メニュー・ソース」プロパティを「ファイル」（デフォルト）に設定します。

4	「ファイル」 [image] 「管理」 [image] 「ファイル・コンパイル」を選択してフォーム・モジュールをコンパイルします。

一度メニュー・モジュールをフォーム・モジュールに付加すると、そのフォームが実行されるときに.MMXメニュー・ファイルが自動的にロードされます。


カスタム・フォーム・メニュー・モジュールの実行について

カスタム・フォーム・メニュー・モジュールは、フォーム・モジュールとは分離しています。このため、menudef.mmbを変更したもの、または最初から構築したフォーム・メニューを持つフォーム・モジュールを実行する場合、次の2つの実行可能ファイルを提供しなければなりません。

•	.FMX  (フォーム・モジュール実行可能ファイル)

•	.MMX  (フォーム・メニュー・モジュール実行可能ファイル)

アプリケーションによっては、いくつかのフォームおよびメニュー・モジュール実行可能ファイルを提供する必要がある場合があります。複数のフォームで同じメニューを共有することも、各フォームで個別のメニューを呼出すこともできます。

注意: 実行時に、アプリケーションではフォーム・メニュー・モジュールを、一度に1つしかアクティブにできません。


メニュー・ツールバーについて

  関連項目

カスタム・フォーム・メニューを作成するときに、その項目の一部をメニュー・ツールバーに表示するように指定できます（メニュー・ツールバーとは、フォーム・メニューの個々の項目を表すアイコン・ボタンからなるツールバーのことです）。 スマートバーとも呼ばれます。

カスタム・フォーム・メニューを使用する場合、個々のメニュー項目を明示的にメニュー・ツールバーに割り当てる必要があります。 また、メニュー・ツールバー上で対応付けられたボタンを表すアイコンも提供する必要があります。 デフォルト・フォーム・メニューを使用する場合は、フォームに自動的にデフォルト・メニュー・ツールバーが付加されます。

メニュー項目は水平または垂直のメニュー・ツールバーに割り当てることができます。Form Builderでは、水平メニュー・ツールバーはフォームの上部（プルダウン・フォーム・メニューの真下）に表示され、垂直メニュー・ツールバーは（どんなツールバー・キャンバスが存在していても）フォームの一番左に表示されます。


メニュー・ツールバーの作成

  関連項目

メニュー・ツールバーを作成する方法:

1	オブジェクト・ナビゲータで、メニュー・ツールバー上に置くメニュー項目を選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノードの下で、その項目の「水平メニュー・ツールバー表示」プロパティと「垂直メニュー・ツールバー標示」プロパティのいずれか（または両方）を「はい」に設定します。

注意: 1つのメニュー項目を、水平と垂直の両方のメニュー・ツールバーに置くことができます。

4	「アイコン・ファイル名」プロパティ・フィールドに、ツールバー内でメニュー項目ボタンを表すアイコンの完全修飾されたディレクトリ・パスとファイル名（ファイル名は拡張子を付けない）を入力します。


ポップアップ・メニューについて

  関連項目

ポップアップ・メニューはコンテキスト依存メニューです。 フォームの項目とキャンバスに付加されていて、これを使用すると共通機能とコマンドに素早くアクセスできます。ポップアップ・メニューは、オブジェクト・ナビゲータ内の上位レベルのオブジェクト（警告、ブロック、キャンバス等と同様）であり、フォーム・モジュールに属します（これに対し、フォーム・メニューは個別のメニュー・モジュールに属します）。

ポップアップ・メニューの項目は、そのメニューに対応付けられたオブジェクトのコンテキストに適したものである必要があります。たとえば、2桁の数値項目のポップアップ・メニューにはテキスト編集項目は組み込めません。（しかし、テキスト編集項目は、複数行のテキスト項目のポップアップ・メニューには組み込みます）。

ポップアップ・メニューの付加  ポップアップ・メニューと（このメニューが付加される）項目やキャンバスとの関連は、次のようにフォームとフォーム・メニューの関連に似ています。

•	1つのポップアップ・メニューを1つ以上のキャンバスまたは項目に付加できる。

•	それぞれのキャンバスまたは項目がサポートできるポップアップ・メニューは1つのみである。

ランタイム動作  エンド・ユーザーがポップアップ・メニューを表示するには、項目またはキャンバスにフォーカスを置き、使用しているランタイム・プラットフォームの標準に従ってメニューを表示します。（たとえば、Microsoft WindowsやMotifの場合は右マウス・ボタンをクリックし、Macintoshの場合は一連のキーストロークが必要になります。）フォーカスのある点を左上隅にしてメニューが表示されるので、正しいメニュー項目を素早く簡単に見つけて選択できます。


ポップアップ・メニューの作成

 関連項目

ポップアップ・メニューを作成する方法:

1	オブジェクト・ナビゲータで、「ポップアップ・メニュー」ノードをクリックし、ツールバー内の「作成」ボタンをクリックします。

ポップアップ・メニューが作成され、「MENU1」のようなデフォルト名が与えられます。

2	オブジェクト・ナビゲータまたはメニュー・エディタで、メイン・ポップアップ・メニューおよびサブメニュー（必要な場合のみ）、メニュー項目を作成します。

3	メニュー項目にコマンドを割り当てます。

4	ポップアップ・メニューを項目やキャンバスに付加します。


項目またはキャンバスへのポップアップ・メニューの付加

  関連項目

項目またはキャンバスにポップアップ・メニューを付加する方法:

1	オブジェクト・ナビゲータの「データ・ブロック」または「キャンバス」ノードの下で、項目またはキャンバス（またはその両方）のオブジェクト・アイコンをクリックします。

注意: ポップアップ・メニューは、あらゆるタイプのキャンバス、およびチェックボックス、ラジオ・ボタン、アイコン、OLEを除くあらゆるタイプの項目に付加できます。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノードの下で、「ポップアップ・メニュー」プロパティ・ポップリストからポップアップ・メニューを選択します。

ヒント: 同じポップアップ・メニューを複数の項目やキャンバスに同時に付加するには、プロパティ・パレットを表示する前に項目やキャンバスを複数選択します。


メニュー・オブジェクトについて

  関連項目

カスタム・フォーム・メニューまたはポップアップ・メニューのいずれを作成する場合でも、メニュー・オブジェクト（Form Builderメニューの構成ブロック）の作成および操作方法を知っている必要があります。

メニュー・オブジェクトには次の3つのタイプがあります。

•	メニュー・モジュール

•	メニュー

•	メニュー項目

1つのメニュー・モジュールには、1つ以上のメニュー（メイン・メニュー、個々のメニュー、サブメニューなど）が入ります。1つのメニューには、1つ以上のメニュー項目（対応付けられたコマンドなど）が入ります。

フォーム・オブジェクトと同様に、メニュー・オブジェクトには次の特徴があります。

•	親子関係がある。たとえば、メニュー・モジュールがメニューを所有し、メニューがメニュー項目を所有します。

•	ランタイム機能性を定義するために操作できるプロパティがある。メニューまたは項目のプロパティを表示するには、オブジェクト・ナビゲータまたはメニュー・エディタでメニューまたは項目を選択し、プロパティ・パレットを表示します。

•	個別に移動またはコピー、削除できる。メニューを移動またはコピー、削除する場合、対応付けられたサブメニューとメニュー項目も移動またはコピー、削除されることに注意してください。


オブジェクト名とラベルについて

  関連項目

メニュー・オブジェクトの作業をする場合、次の3つの関連プロパティを知っておく必要があります。

•	名前（「メニュー」のプロパティ）。メニューをコードで参照する際に役立つ内部名です。

•	名前（「項目」のプロパティ）。メニュー項目をコードで参照する際に役立つ内部名です。

•	ラベル（「項目」のプロパティ）。メニュー項目の外部ラベルであり、GUIのみで使用されます。

デフォルトの名前とラベル

新規のメニュー（メイン・メニュー、個別のメニュー、サブメニューなど）または新規のメニュー項目を作成する場合、次のデフォルトが作成されます。

•	メニュー名（たとえば「メニュー17」など）。オブジェクト・ナビゲータおよびプロパティ・パレット（「名前」プロパティ）にメニュー名が表示されます。

•	項目名（たとえば「ITEM8」など）。オブジェクト・ナビゲータおよびプロパティ・パレット（「名前」プロパティ）にメニュー項目名が表示されます。

•	項目ラベル（たとえば<New_Item>など）。メニュー・エディタおよびプロパティ・パレット（「ラベル」プロパティ）にメニュー項目のラベルが表示されます。

デフォルトの名前とラベルはPL/SQLコードとGUIに使用でき、ニーズに合わせて変更することもできます。

メニューと項目の名前を変更するには、オブジェクト・ナビゲータまたはプロパティ・パレットを使います。項目のラベルを変更するには、プロパティ・パレットまたはメニュー・エディタを使います。


メニュー・オブジェクト名の変更

  関連項目

メニューまたは項目の名前を変更する方法:

1	オブジェクト・ナビゲータで、メニューまたはメニュー項目のオブジェクト・アイコンをクリックして選択します。

2	次のいずれかの操作を行います。

•	編集モードに入るためには、その名前をクリックします。名前が反転表示され、カーソルがI形になります。新しい名前を入力して[Enter]を押します。

•	項目のオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。「一般」ノードの下で、メニュー・オブジェクトの「名前」プロパティを変更します。

Form Builderによって、変更された名前がオブジェクト・ナビゲータおよびプロパティ・パレットの両方に表示されます。

注意: Form Builderによって次のようなエラーが表示される場合があります。

FRM_15500: 有効で一意なオブジェクト名を入力してください。この場合、PL/SQL命名規則に違反した可能性があります。

空白や句読点または、有効ではない文字列を使用したと考えられます。


メニュー・オブジェクト・ラベルの変更

  関連項目

メニュー項目のラベルを変更する方法:

1	オブジェクト・ナビゲータで、メニュー項目をクリックします。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノードの下で、「ラベル」プロパティを設定します。

変更されたラベルがプロパティ・パレットおよびメニュー・エディタの両方に表示されます。

注意: ラベルには、複数の文字列を入れることも、句読点文字を使用することもできます。たとえば、「Show Keys」と「Options...」は両方とも有効なラベルです。


コードでのメニュー・オブジェクトの参照

 例

PL/SQLコードでメニュー・オブジェクトを参照するには、menu_name.item_name構文を使います。この構文を使用すると次のことができます。

•	メニュー項目にコマンドを付加する。

•	チェックまたはラジオ・メニュー項目を初期化する。

•	メニュー起動コードを変更する。

•	メニュー項目を動的に使用可能または使用不可にする。

メイン・メニュー項目  メイン・メニューの項目はメイン・メニューのみに属し、その項目が所有する個々のメニューには属しません。たとえば、デフォルト・フォーム・メニューのQUERYは、MAIN_MENUの項目ですが、QUERY_MENU(QUERYが所有するメニュー)の項目ではありません。QUERY_MENUの項目は、「入力」、「実行」、「最終条件」、「取消」、「問合せ件数」および「次セット・フェッチ」です。

メイン・メニューのQUERY項目をコードで参照するには、次の構文を使います。

main_menu.query (query_menu.queryではない)


コードでのメニュー・オブジェクトの参照の例

/* Dynamically disable the ENTER item on the QUERY menu */

SET_MENU_ITEM_PROPERTY(query.enter, enabled, property_false);


既存のメニュー・モジュールのオープン

既存のメニュー・モジュールをオープンする方法:

1	「ファイル」 [image] 「オープン」を選択します。

「ファイルを開く」ダイアログが表示されます。

2	オープンする場合は既存のメニュー・モジュールを探して選択します。

注意: Form Builderを開始するときに、次のようにコマンド・ラインでメニュー・モジュールの名前を指定することもできます。

ifbld60 std_menu.mmb

Form Builderがこのメニュー・モジュールをオープンし、オブジェクト・ナビゲータに表示します。


新規のメニュー・モジュールの作成

  関連項目

新規のメニュー・モジュールを最初から作成する方法:

1	オブジェクト・ナビゲータで「メニュー」ノードを選択し、ツールバーの「作成」ボタンをクリックします。

MODULE1のようなデフォルト名を持つ新規のメニュー・モジュールがオブジェクト・ナビゲータ内に作成されます。

2	デフォルト名を任意な名前に置換します。


メニューおよびメニュー項目について

  関連項目

オブジェクト・ナビゲータ内でメニュー・モジュールをオープン及び新規作成した場合、次のようなメニューおよびメニュー項目を作成できます。

•	メイン・メニュー（最上位レベルのメニュー。 デフォルトでは細長いメニューとして水平に表示されます。）

•	個々のメニューおよびサブメニュー（下位レベルのメニュー。デフォルトではメニュー項目のリストとして垂直に表示されます。）

•	メニュー項目

オブジェクト・ナビゲータとメニュー・エディタのどちらを使用しても、メニューおよび項目を作成できます。

•	図形書式で作業する場合は、メニュー・エディタを使います。

（メニューと項目の間の接続を視覚的に見たい場合にも、メニュー・エディタを使用することができます。）

•	階層型のアウトライン書式で作業する場合は、オブジェクト・ナビゲータを使います。


メニューおよびメニュー項目の作成

  関連項目

オブジェクト・ナビゲータでメニューおよびメニュー項目を作成する方法:

現行のメニュー・モジュール内で、「メニュー」ノードか「項目」ノードを選択し、ツールバーの「作成」ボタンをクリックします。

メニューまたは項目が作成され、「MENU5」や「ITEM20」のようなデフォルト名が与えられます。


メニュー項目コマンドについて

  関連項目

作成するすべてのフォーム・メニュー項目およびポップアップ・メニュー項目について、「メニュー項目タイプ」プロパティと「コマンド・タイプ」プロパティを設定する必要があります。これらのメニュー項目レベルのプロパティによって、各メニュー項目の外観と機能性が決まります。

使用可能なメニュー項目タイプは次のとおりです。

•	Plain

•	チェック

•	ラジオ

•	セパレータ

•	マジック

最も一般的なメニュー項目タイプは「Plain」です。 その他のメニュー・タイプは、メニューの外観と機能性をカスタマイズするために使います。

有効なメニュー項目タイプを選択したら、その項目に対して、有効なコマンド・タイプおよび（場合によっては）コマンド・テキストを指定する必要があります。

有効なコマンド・タイプは次のとおりです。

•	NULL（メニュー項目がセパレータである場合は必須。）

•	メニュー（メニュー項目がサブメニューをコールする場合は必須。）

•	PL/SQL（デフォルト。 メニュー項目がPL/SQLコマンドを実行する場合は必須。）

•	Plus

•	フォーム

•	マクロ

注意: Form Builderのこのリリースでは、「Plus」、「フォーム」および「マクロ」のコマンド・タイプが下位互換の場合に使用可能です。「Plus」、「フォーム」および「マクロ」のコマンドタイプは、Form Builderの次のメジャーリリースでは、サポートされません。


メニュー項目へのコマンドの割当て

 例	    関連項目

メニュー項目にコマンドを割り当てる方法:

1	オブジェクト・ナビゲータまたはメニュー・エディタで、メニュー項目を選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノードの下で、「メニュー項目タイプ」プロパティと「コマンド・タイプ」プロパティを設定します。

4	「コマンド・テキスト」プロパティ・フィールドをダブルクリックします。

5	PL/SQLエディタで、メニュー項目のコマンドを定義するコードを入力します。

6	「コンパイル」をクリック、その後「クローズ」をクリックします。


メニュー項目へのコマンドの割当ての例

/* Create a menu item that displays a message to the
** end user:
**
** Create a menu item (on any menu) and give it a name of
** DISP_MSG and a label "Display Message".In the Property
** Palette, verify that the item's Menu Item Type property
** is set to Plain, and its Command Type property is set to
** PL/SQL.Double-click the Command Text property field to
** display the PL/SQL Editor.Enter the following:*/

MESSAGE('To infinity and beyond!');


特殊なメニュー項目について

 制限	    関連項目

特殊メニュー項目を使用して、メニューの外観および機能をカスタマイズします。タイプ「Plain」（デフォルト）の項目の他に、Form Builderは、次の4つの追加メニュー項目タイプをサポートします。

•	チェック

•	ラジオ

•	セパレータ

•	マジック


特殊なメニュー項目の制限について

•	各特殊メニュー項目の可用性および外観は、プラットフォーム固有のものです。たとえば、特定のプラットフォームでチェックボックスがひし形として表示される場合、四角形として作成することはできません。

•	メイン・メニュー（メニュー・バー）またはポップアップ・メニューにある「チェック」または「ラジオ」項目は使用できません。

•	メイン・メニューで、「セパレータ」項目は使用できません。

•	マジック・メニュー項目に、「キーボード・アクセラレータ」、「メニューのアイコン」または「ヒント」プロパティは設定できません。

•	各マジック・メニュー項目は、メニュー・モジュールで1度のみ使用できます。たとえば、同じモジュールの異なる2つのメニューに、「マジック」項目としてCOPYコマンドを定義することはできません。


チェックおよびラジオ・メニュー項目について

  関連項目

チェック項目は、たとえばボックスのような標識として表示され、チェックされているとき（オン）と、チェックされていないとき（オフ）として、現在の状態を示します。実行時にチェック項目を選択すると、反対の状態に切り換わります。

ラジオ項目は、たとえば円のような標識として表示され、塗りつぶされているとき（オン）と、塗りつぶされていないとき（オフ）として、現在の状態を示します。グループで選択されていないラジオ項目を選択すると、現在選択している項目が選択解除されます。ラジオ項目は、1つのみ常にオンである2つ以上の関連項目からなる1つのラジオ・グループ・メニューに属している必要があります。同じグループの項目は、同じメニューで隣り合わせに表示されます。


チェックおよびラジオ項目コマンドについて

チェックおよびラジオ・メニュー項目のコマンドはオプションです。

チェックおよびラジオ項目にコマンドを割り当てる場合は、「Plain」型のメニュー項目にコマンドを割り当てるときと同じプロシージャに従います。Form Builderは、項目の状態または値が変更されたときにコマンドを実行します。

•	チェック項目: エンド・ユーザーが項目を反対の状態に切り換える（オンをオフに、またはオフをオンに）とき

•	ラジオ項目: エンド・ユーザーがラジオ・グループの値を変更するとき（別のラジオ・ボタンを選択するとき）

コマンドを実行しないチェックまたはラジオ項目を作成するには、その項目の「コマンド・タイプ」プロパティを「NULL」に設定する必要があります。チェックまたはラジオ項目に対して「NULL」のコマンド・タイプ（および空のコマンド・テキスト）を使用することによって、アプリケーションの操作モードやコンテキストの設定をエンド・ユーザーに提供することができます。たとえば、ラジオ項目グループで、ブロックのデータを問合せ中に表示させる詳細レベルを指定できるようにします。


チェックおよびラジオ項目の状態について

 例

フォーム起動時にメニューがロードされたとき、チェックおよびラジオメニュー項目のデフォルト状態は、次のとおりです。

項目タイプ	デフォルト状態
チェック	未選択（オフ）
ラジオ（グループの1番目）	選択済み（オン）
ラジオ（グループのその他すべて）	未選択（オフ）

GET_MENU_ITEM_PROPERTYおよびSET_MENU_ITEM_PROPERTYビルトインを使用して、チェックおよびラジオ項目の現在の状態を取得し、変更できます。

これらのビルトインのどちらかを使用しているとき、最初に指定するパラメータは、メニュー項目の名前です。次の構文を使用します。

menu_name.item_name


チェックおよびラジオ項目の状態例について

/* Set the state of a Show Details check menu item to On: */   */

SET_MENU_ITEM_PROPERTY('query.show_dtls',
                          checked,
                          property_on);


セパレータ・メニュー項目について

セパレータ・メニュー項目は、水平線（プラットフォームにより異なる）として表示され、同じメニューで関連項目を視覚的にグループ化するときに役に立ちます。たとえば、セパレータを使用して、他のメニュー項目から1つのラジオ・グループのラジオ項目を分離できます。セパレータ項目は「コマンド・タイプ」プロパティを「NULL」に設定する必要があります。エンド・ユーザーは、セパレータ・メニュー項目を選択できません。


マジック・メニュー項目について

関連項目

マジック項目を使用すると、ほとんどのGUIアプリケーションで使用可能な標準機能のメニュー項目を簡単に作成できます。Form Builderは、次のマジック項目タイプを提供します。

•	情報

•	コピー

•	消去

•	カット

•	ペースト

•	ヘルプ

•	終了

•	元に戻す

•	ウィンドウ

注意: 情報、ヘルプおよびウィンドウの各マジック・メニューは、ポップアップ・メニューに対してはサポートされていません。


マジック項目のデフォルトの外観と機能について

マジック項目の外観（スタイルおよび位置）は、デフォルト時はランタイム・プラットフォームGUIの標準になっています。適用可能なとき、デフォルトのアクセラレータ・キーは、マジック項目に割り当てられます。

一部のマジック項目には、機能がデフォルトで組み込まれています。たとえば、「編集」メニューに通常配置されている「カット」項目は、テキストまたはイメージのどちらの要素が選択されているかによって、自動的に使用可能または使用不可となります。「カット」コマンドを起動すると、選択済みの要素を削除して、クリップボードに配置します。「カット」マジック項目を作成すると、Form Builderにより、自動的にアクセラレータ・キーおよびコマンド文が提供されます。

次の表では、各マジック・メニュー項目の有効コマンド・タイプについて説明するとともに、項目にデフォルト機能があるかどうか、またはユーザー自身でコマンドを定義する必要があるかどうかを示します。

マジック項目	コマンド・タイプ	デフォルト	機能
情報、元に戻す	メニュー以外のすべて	いいえ	必要な機能を実行するには、コマンドを割り当てる必要があります。
消去、コピー、カット、ペースト	NULL	はい	これらの項目は、その名前で指示されるデフォルト操作を実行します。
ヘルプ	メニュー	いいえ	「ヘルプ」項目がコールするサブメニューを定義して、そのサブメニュー上の項目にコマンドを割り当てる必要があります。
終了	NULL	はい	「終了」項目は、エンド・ユーザーに（もし変更箇所があれば）変更の保存を促し、フォームを終了します。
ウィンドウ	NULLまたはメニュー	はい	「ウィンドウ」項目は、開いている全ウィンドウを一覧表示するデフォルトのサブメニューを表示します。エンド・ユーザーは、サブメニューからウィンドウを選択することでそのウィンドウをアクティブにできます。「ウィンドウ」項目から表示するサブメニューを独自に定義する場合は、Form Builderがその項目と開いているウィンドウのリストを結合して単一のサブメニューを作成します。組み合わせたサブメニューの項目順序は未定義です。

注意: 既存のマジック項目の「メニュー項目タイプ」プロパティを「Plain」に変更すると、その「マジック項目タイプ」プロパティは保持されますが、それ以降は適用されません。「マジック項目タイプ」プロパティは不要となりますが、一貫性を保つために「なし」にリセットする必要があります。


特殊なメニュー項目の作成

  関連項目

特殊なメニュー項目を作成する手順は次のとおりです。

1	新規項目をメニューに追加します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノードの下で、項目の「メニュー項目タイプ」プロパティを「Plain」（デフォルト）から「チェック」、「ラジオ」、「セパレータ」または「マジック」へ変更してください。

作成時:

•	ラジオ項目を作成している場合は、それをラジオ・グループに割り当てる必要があります。オブジェクト・ナビゲータで項目を選択して、正確な名前を「メニュー項目ラジオ・グループ」プロパティに入力します。（ラジオ・グループの名前は内部名であり、実行時には表示されません。）

•	マジック項目を作成している場合は、「マジック項目」プロパティ・ポップリストから希望するマジック項目も選択します。

4	項目の「コマンド・タイプ」プロパティを設定します。

5	必要ならば、項目に「コマンド・テキスト」を入力します。


メニュー項目におけるアイコンの表示

メニュー項目にアイコンを表示する手順は次のとおりです。

1	オブジェクト・ナビゲータまたはメニュー・エディタで、希望するメニュー項目を選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノードの下で、「アイコン・ファイル名」プロパティにアイコン・リソースのファイル名を入力します。

Form Builderでアイコン・ファイルを配置した場合、メニュー・エディタの項目のラベルのかわりにアイコンを表示します。配置できなかった場合は、アイコンは参照されず、かわりにForm Builderが項目のタイトルを表示します。

注意: アイコンをプルダウン・メニューのメニュー項目として表示できますが、それはランタイム・プラットフォームがこの機能をサポートしている場合に限られます。詳細は、使用しているオペレーティング・システムに対応するForm Builderのマニュアルを参照してください。


メニュー・アクセス・キーの定義

メニュー・アクセス・キーは、（マウスを使用せずに）メニュー項目を選択できるキーボード・ショートカットをエンド・ユーザーに提供します。キーボード・ショートカットを設定することで、アプリケーションでは、使用しやすいメニュー・インタフェースおよび効率のよいキーボード・コマンドを利用できます。

メニュー・アクセス・キーは、メニュー項目のラベルに特殊な文字で示されます。たとえば、Sの文字は、「Save」メニュー項目のメニュー・アクセス・キーになる場合もあり、実行時に下線が表示されます。「Save」コマンドを起動するには、エンド・ユーザーがマウスを使用するか、または[Alt]+[S]などのキーストロークを使用することもできます（各プラットフォームのグラフィックス・システムにより、メニュー・アクセス・キーは異なります）。文字モードで、エンド・ユーザーは、[Menu]を押して、メニューにアクセスしてから、項目を選択するためにメニュー・アクセス・キーを押します。

メニュー・アクセス・キーのデフォルト　デフォルトでは、項目のラベルの最初の大文字が、そのメニュー項目のアクセス・キーとなります。大文字がない場合は、最初の文字がメニュー・アクセス・キーになります。たとえば、次のメニュー項目では、文字"a"がデフォルトのメニュー・アクセス・キーとなります。

abort      sAve

ユーザー定義メニュー・アクセス・キー  メニュー項目のラベルとする文字の左にアンパサンド（&）を置けば、デフォルトのメニュー・アクセス・キーを無効にし、独自のメニュー・アクセス・キーを作成できます。

&Abort      Sav&e

アンパサンドは実行時に表示されず、メニュー・アクセス・キーとして選択した文字は、下線の付いた大文字または小文字で表示されます。

Abort      Save

注意: メニュー項目のラベルにリテラルの"&"が含まれる場合は、アンパサンドを2つ並べて入力します（&&）。


メニュー項目へのアクセラレータ・キーの割り当て
メニュー項目へのアクセラレータ・キーの割当て

  関連項目

キーボード・アクセラレータは、エンド・ユーザーがメニュー項目コマンドを実行するためのファンクション・キーまたはキー順序です。Form Builderには、デフォルトでは5つの論理アクセラレータ・キー（「Accelerator1」から「Accelerator5」まで）があります。これらを各フォームのメニュー項目に割り当てることができます。

アクセラレータ・キーをメニュー項目に割り当てる手順は次のとおりです。

1	オブジェクト・ナビゲータまたはメニュー・エディタで、メニュー項目を選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノード下で、項目に割り当てる論理アクセラレータ・キーの名前を「キーボード・アクセラレータ」プロパティに入力します。たとえば、Accelerator1と入力します。

4	Oracle Terminalで、[Ctrl]+[P]などのように、論理アクセラレータ・キーに、物理デバイス・キーか、キー順序を関連付けます。


プルダウン・フォーム・メニューについて

  関連項目

標準のプルダウン・メニューは、次の3つのレベルから構成されています。

レベル	表示	ファンクション
メイン	水平	項目は個々のメニューを表示します。メイン・メニューの項目はタイトルであり、コマンドを実行しません。
個別	垂直	項目はコマンドを実行するか、またはサブメニューを表示します。
サブメニュー	垂直、メニュー項目の右	項目は、個別メニューの項目に関連するその他の選択項目を提供します。

注意: サブメニューは複数のレベルにネストできますが、項目へのアクセスが遅くなるのでお薦めできません。最大限に使用しやすくするために、サブメニューのレベルを1つに制限する場合もあります。さらに、使用しやすくするために、1つのメニューの項目数を9つまでにすることをお薦めします。


プルダウン・スタイルでのフォーム・メニューの実行

フォーム・メニューをプルダウン・スタイルで実行する手順は次のとおりです。

1	オブジェクト・ナビゲータで、フォーム・モジュールを選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノードの下で、「メニュー・スタイル」プロパティを「プルダウン」に設定します。


切離しメニューについて

切離しメニューは、エンド・ユーザーがメニュー・バーからドラッグして、画面のどこかに再配置できるメニューです。ウィンドウ・マネージャがこの機能をサポートする場合、どのメニューについても切離し機能を使用することができます。

切離しメニューの作成:

1	オブジェクト・ナビゲータまたはメニュー・エディタで、希望するメニューを選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノード下で、「切離しメニュー」プロパティを「はい」に設定します。


プログラムでのメニュー・プロパティの取得および設定

Form Builderは、メニュー項目の検索、およびプログラムでのメニュー・プロパティの獲得や設定のためのビルトイン・サブプログラムを提供します。

•	FIND_MENU_ITEM

•	GET_MENU_ITEM_PROPERTY

•	SET_MENU_ITEM_PROPERTY


プログラムでメニューを表示または非表示にする

  関連項目

複数フォーム・アプリケーションでは、いくつかのフォーム・モジュールが同じメニューを共用するか、またはセッションのアクティブ・フォームになったときに、別のメニューを起動できます。フォームAがCALL_FORMビルトイン・プロシージャを実行してフォームBを起動する場合は、CALL_FORMプロシージャへの引数によって、フォームBがフォームAのメニューを継承するか、または独自のメニューを表示するかを指定します。

ただし実行時に、アプリケーションではフォーム・メニュー・モジュールを、一度に1つしかアクティブにできません。フォーム・メニュー・モジュールの切替えを処理するために、次のビルトイン・ルーチンを使用して、Form Builderアプリケーションのアクティブ・メニューを表示、非表示および置換できます。

HIDE_MENU	現行のメニューを非表示にします。
REDISPLAY_MENU	現行のメニューを再表示します。
REPLACE_MENU	現行のメニューを他のメニュー、またはメニューなしに置換します。
SHOW_MENU	現行のメニューを表示します。


メニュー・モジュールにおけるPL/SQLコードについて

  関連項目

実行時にメニューをプログラムで制御および操作するには、PL/SQLを使用します。

•	メニュー項目コマンド

•	ユーザー命名サブプログラム

•	起動コード


メニュー項目コマンドにおけるPL/SQLコードの使用について

  関連項目

PL/SQLメニュー項目コマンドの構造は、フォーム・トリガーと類似しています。ナビゲーションおよび妥当性チェック、データベース相互作用などの標準アプリケーション機能に加えて、PL/SQLメニュー項目コマンドを使用して、次に示す操作を実行できます。

•	ビルトイン・プロシージャOPEN_FORM、CALL_FORMまたはNEW_FORMを使用して、フォームを起動します（同じセッションで）。

•	ビルトイン・プロシージャHOSTを使用して、オペレーティング・システム・コマンドを実行します。HOSTビルトイン・プロシージャのパラメータで、実行するオペレーティング・システム・コマンド、画面から現行のフォームを消去するかどうか、およびエンド・ユーザーがForm Builderにプロンプトされるのを待ってから、現行のフォームに戻るかどうか、またはコマンドが実行された後で自動的に戻るかどうかを指定します。

•	その他のOracleツールを起動します（Form Builder 、Forms Runtime、Report Builder（Reports Developerに組み込まれています）またはGraphics Builderなど）。ビルトイン・プロシージャRUN_PRODUCTを使用します。このプロシージャは、コールしたその他のOracleツールへパラメータとデータ値を渡すことで、Form Builderとそれらのツールを統合します。

•	DO_KEYビルトインをコールします。これは、指定されたビルトイン・ルーチンに対応するキー・トリガーを実行します。そのようなトリガーが存在しない場合は、指定されたルーチンを実行します。この動作は、エンド・ユーザーが、対応するファンクション・キーを押すことと類似しています。

•	ビルトイン・プロシージャEXECUTE_TRIGGERを使用して、フォーム項目値を直接参照できます。直接メニュー項目自体から参照することは、できないので、直接参照を行うユーザー命名ルーチンまたは無名ブロックへの参照をユーザー命名トリガーに記述します。そのトリガーをコールするためにEXECUTE_TRIGGERを使用します。


PL/SQLメニュー項目コマンドでのフォーム・オブジェクトの参照

フォーム・メニューは、フォームと別にコンパイルする再使用可能モジュールです。したがって、PL/SQLメニュー項目コマンドでフォーム・オブジェクトを参照するには、フォーム内のトリガーまたはユーザー命名ルーチンで同じオブジェクトを参照する場合とは異なるコーディングをする必要があります。次の制限が適用されます。

•	Form Builderオブジェクトの値は直接参照できません。かわりに、ビルトイン関数NAME_INを使用してオブジェクトの現行値を確認します。

IF :emp.title = 'MANAGER'            -- incorrect

IF NAME_IN('emp.title') = 'MANAGER'  -- correct

注意: NAME_IN関数から返される値は文字列です。ただし、NAME_INを使用して、文字列としてNumber値やDate値を戻してから、それらの文字列を適切なデータ型に変換することができます。

•	Form Builderオブジェクトの値を直接、設定することはできません。その代わり、COPYビルトインを使用します。

:product.name := 'PUMP';        -- incorrect

COPY('PUMP', 'product.name');   -- correct


ユーザー命名サブプログラムの作成

  関連項目

PL/SQLエディタを使用して、フォーム・モジュールと同様に、メニュー・モジュールにユーザー命名サブプログラム（ルーチン）を作成できます。項目とサブプログラムが同じメニュー・モジュールに属している場合は、（「コマンド・タイプ」プロパティが「PL/SQL」に設定されている）すべてのメニュー項目からユーザ命名サブプログラムをコールできます。


メニュー起動コードについて

  関連項目

フォーム起動時に、またはCALL_FORM、NEW_FORM、REPLACE_MENUビルトイン・プロシージャをコールした結果として、メニューがメモリーにロードされると、Form Builderがメニュー起動コードを実行します。起動コードはオプションであり、次のタスクを実行するために使用できます。

•	置換パラメータおよびグローバル変数を初期設定します。

•	メニュー項目の初期の表示状態をプログラムで設定します。たとえば、メニュー項目を使用可能または使用不可にします。

•	チェックおよびラジオ・メニュー項目の初期の選択状態をプログラムで設定します。


メニュー起動コードの作成

メニューの起動コードを作成する手順は次のとおりです。

1	オブジェクト・ナビゲータで、希望するメニュー・モジュールを選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「機能」ノードの下で、「起動コード」プロパティに表示される「詳細」ボタンをクリックします。

4	PL/SQLエディタを使用して、メニュー起動時にForm Builderが実行するPL/SQLコードを記述します。

5	「コンパイル」をクリック、その後「クローズ」をクリックします。

注意: 起動コードは、無名ブロックと、ビルトイン・サブプログラムへのコールを含むことができます。ただし、メニュー項目コマンドでのPL/SQLコードの制限と同様に、起動コードでフォーム・オブジェクトの値を直接参照できません。


置換パラメータについて

  関連項目

置換パラメータとは、メニュー項目コマンド文で参照できる2文字変数（たとえば、RNまたはPQ）のことです。Form Builderは、6つのビルトイン置換パラメータを提供します。さらに、ユーザーで置換パラメータを定義することもできます。

ユーザーはプログラムで置換パラメータの値を設定できます。また、エンド・ユーザーに、実行時に値を対話形式で提供するよう要求できます。エンド・ユーザーが、置換パラメータを含んだメニュー・コマンドを選択した場合、Form Builderは「パラメータ値入力」ダイアログとプロンプトを表示して、エンド・ユーザーに値を入力するように求めます。そこで、Form Builderは、エンド・ユーザーが入力した値を使用して、メニュー・コマンドを実行します。


ビルトイン置換パラメータ

ビルトイン置換パラメータの値は事前定義済みであり、実行時に、常にFormBuilderによって初期設定されます。たとえば、ビルトイン・パラメータUNの値は、現行のエンド・ユーザーのユーザー名です。したがって、Form Builderがエンド・ユーザーにUNの値を入力するよう示すことはありません。

パラメータ	説明
UN	現行のユーザー名
PW	現行のパスワード
AD	現行メニューのランタイム・ファイルを格納するディレクトリ（メニュー・モジュールの「メニュー・ファイル名」および「メニュー・ディレクトリ」プロパティで指定）
SO	現行のメニュー項目（Selected Option: 選択オプション）
TT	ログインするために使用した端末タイプ
LN	NLS_LANG環境変数で示される現行の作業環境


置換パラメータの作成

ユーザー命名置換パラメータを定義する手順は次のとおりです。

1	「メニュー・モジュール」の下にある「オブジェクト・ナビゲータ」で、「パラメータ」を選択して、ツールバーの「作成」アイコンをクリックします。

Form Builderは新規パラメータを作成します。

2	新規パラメータの名前を編集します。

パラメータ名は、アルファベット2文字であることが必要です。

3	「ツール」 [image] 「プロパティ・パレット」を選択します。

4	プロパティ・パレットで、パラメータのプロパティを設定します。


置換パラメータのプロパティ

置換パラメータを定義するために、次のプロパティを設定します。

プロパティ	説明
小/大文字区別	エンド・ユーザーが入力する値を、指定されたケース（制限なし、大文字、または小文字）に変換します。
デフォルト値	パラメータのデフォルト値。プロンプト・ダイアログが表示されたときにパラメータ値フィールドに表示されます。
最大長	エンド・ユーザーが入力可能な最大バイト数を指定します。
ヒント	プロンプト・ダイアログが表示されたとき、メッセージ行に表示される説明テキスト。
名前	パラメータ名（アルファベット2文字であることが必要です）。
関連メニュー	（全画面メニューにのみ適用されます。） パラメータを対応付けるメニューの名前。
ラベル	「パラメータ値入力」ダイアログでパラメータ値フィールドを説明する文字列（たとえば、レポート名または顧客ID）。
必須	エンド・ユーザーがパラメータに値を入力する必要があるかどうかを指定します。「必須」を「いいえ」に設定すると、エンド・ユーザーはパラメータ値を「NULL」にしておくことができます。
データ隠蔽	エンド・ユーザーの入力した値が、入力したとおりに画面にエコーされるかどうかを指定します。「データ隠蔽」を「はい」に設定して、入力した値を隠すことができます。
サイズ	パラメータ値に対する最大文字数を指定します。


コードでの置換パラメータの参照

 例

置換パラメータを参照する場所によって、パラメータ名の前に正確な接頭辞を付加する必要があります。置換パラメータを使用するには、次のようにします。

•	メニュー項目コマンド文ではアンパサンドを使用します（&RN）。

•	PL/SQLルーチンではコロンを使用します（:SS）。

パラメータが現行のメニュー・モジュールで定義されている場合は、現行のフォームに定義されているトリガーおよびユーザー命名ルーチンでメニュー置換パラメータの値を参照できます。

PL/SQLタイプ・メニュー項目コマンドで置換パラメータを参照する場合、Form Builderでは「パラメータの入力」ダイアログを自動では表示しません。かわりにQUERY_PARAMETERビルトインをコールして、ダイアログを明示的に起動する必要があります。

注意: QUERY_PARAMETERビルトインをコールするときは、パラメータの参照を一重引用符で囲む必要があります。さらに、QUERY_PARAMETERを1度コールするのみで、たくさんのパラメータ値を取得できます。

次のビルトイン・サブプログラムを使用して、プログラムで置換パラメータ値を表示およびプロンプトできます。

•	APPLICATION_PARAMETER

•	QUERY_PARAMETER

•	MENU_PARAMETER（全画面・メニューのみ）


コードでの置換パラメータ参照例

/* Example 1: The following menu item command invokes
** SQL*Plus and runs a command file. It includes three
** substitution parameters: */

   SQLPLUS &UN/&PW @&CF

/* The UN and PW parameters are Form Builder built-ins.
** The CF parameter represents the  SQL*Plus command file
** to be run. When the end user selects this menu item, the
** Enter Parameter Values dialog appears, allowing the end
** user to enter the name of the command file. */

/* Example 2: The following procedure first invokes the
** Enter Parameter Values dialog to allow the end user to
** provide the name of a report to be run by Oracle Report
** Builder. It then references the substitution parameter
** as an argument to the RUN_PRODUCT procedure: */

  QUERY_PARAMETER('&RN');
  RUN_PRODUCT(REPORTS,:RN,SYNCHRONOUS,RUNTIME,
              FILESYSTEM,pl_id,NULL);


メニュー・セキュリティについて

  関連項目

ロールベース・メニュー・セキュリティを使用して、メニュー・モジュールのメニューおよび項目へのアクセスを制御します。このようにメニューをカスタマイズすると、ユーザーのアプリケーションを使用するエンド・ユーザーの各カテゴリに機能のサブセットを提供できるので、複製機能を実行するための複数のアプリケーションを作成する必要がなくなります。たとえば、1つの会社の2つの部門で同じアプリケーションを使用する場合、部署Aの従業員は、部署Bの従業員が使用できない一部のアプリケーションにアクセスできます。

特に、エンド・ユーザーに対して次のメニュー・セキュリティを実現します。

•	モジュールのメニュー項目すべて使用できます。

•	指定されたメニュー項目のみ使用できます。

さらに、セキュリティ機能でアプリケーションをより使用しやすくします。Form Builderは、現行のエンド・ユーザーが使用できないメニュー項目を非表示、または使用禁止にすることを選択して、アプリケーション・インタフェースをシンプルにします。


メニュー・セキュリティの実現について

メニュー・セキュリティをインプリメントするには、次の基本ステップに従います。

•	データベース・ロールを作成して、Form Builderから、またはデータベースで直接それらにユーザー名を割り当てます。

•	「モジュール・ロール」プロパティでロールをメニュー・モジュールに割り当てます（個々のメニュー項目へのアクセス権限をロールに付与する前に、そのロールをメニュー・モジュールに割り当てる必要があります）。

•	（「メニュー項目ロール」プロパティを使用して）個々のメニュー項目へのアクセス権限をロールに付与します。

•	メニュー・モジュール・プロパティ「セキュリティ使用」を「はい」に設定します。

•	メニュー・モジュールをコンパイルします。

•	フォーム・モジュールをコンパイルします。

注意: メニュー・セキュリティが正しく機能するには、データベースにFRM50_ENABLED_ROLESビューが存在していることが必要です。「データベースの表作成」オプションを選択すると、インストール時に実行されるForm Builder 5.0の表記述の一部として、FRM50_ENABLED_ROLESが自動的に作成されます。このオプションを選択しなかった場合は、ユーザーまたはDBAがSYSTEMとしてログオンし、SQLスクリプトFRM50SEC.SQL（Form Builder SQLディレクトリに存在）を実行する必要があります。


「セキュリティの使用」メニュー・モジュール・プロパティについて

「セキュリティの使用」プロパティは次の手順で設定します。

1	メニュー・エディタまたはオブジェクト・ナビゲータで、メニュー・モジュールを選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「メニュー・セキュリティ」ノードの下で、「セキュリティ使用」プロパティを設定します。

はい	Form Builderはセキュリティを実施します。
いいえ	Form Builderはセキュリティを無視します。
4	「ファイル」 [image] 「管理」 [image] 「ファイル・コンパイル」を選択して、メニュー・モジュールをコンパイルします。

「セキュリティ使用」メニュー・モジュール・プロパティは、Form Builderが実行時にメニュー・セキュリティを施行するかどうかを指定します。（.MMXファイルを作成するために）メニュー・モジュールをコンパイルするとき、「セキュリティ使用」プロパティが「はい」に設定されていないと、Form Builderは実行時にメニュー・セキュリティを施行しません。「セキュリティ使用」プロパティを「いいえ」に設定して、メニュー・モジュールをコンパイルすると、すべてのエンド・ユーザーがすべてのメニュー項目にアクセスできます。

ヒント: アプリケーションのテスト中にロールベース・メニュー・セキュリティを迂回するために、「セキュリティ使用」プロパティを「いいえ」に設定して、メニュー・モジュールをコンパイルします。テストを終了したとき、「セキュリティ使用」プロパティを「はい」にリセットして、メニュー・モジュールをリコンパイルします。


データベース・ロールについて

  関連項目

Form Builderは、データベース・ロールに基づいて、つまり担当する職務において必要となる情報が類似するユーザーの集合に基づいてメニュー・セキュリティを施工します。たとえば、「Managers」および「Clerks」と命名するロールを作成する場合があります。

1度ロールを作成したら、それらを使用して、次の権限を付与します。

•	オブジェクト権限（たとえば、表へのデータ挿入）などのデータベース・レベル・アクセス権限

•	システム権限（たとえば、データベース接続）

•	アプリケーション・セキュリティ（あるメニュー項目へのアクセスの制限による）

一旦、ロールを作成したら、そのロールを個々のメニュー項目に割り当てることができます。ロールによって、あるメニュー項目へのアクセス制限を行うと、そのメニュー項目を使用できるロールを付与されているエンド・ユーザーのみが実行時にメニュー項目を選択できます。

データベース・ロールに基づくメニュー・セキュリティは、特定のメニュー・モジュールから独立しています。つまり、後続の開発者は、ロールが定義されると、そのロールにすべてのメニュー・モジュールまたはメニュー項目へのアクセス権限を付与できます。

注意: メニュー・セキュリティ機能を実施するには、実行時にアプリケーションをデータベースへ接続する必要があります。これは、Form Builderは、起動時にデータベースへ問い合わせて、現行のエンド・ユーザーが属するロールを確認するためです。


データベース・ロールの作成と付与について

  関連項目

アプリケーションのセキュリティを計画するときに、特定の作業を実行するために必要なすべてのオブジェクト権限およびシステム権限が1つのロールに付与されるようにロールを定義します。新規のエンド・ユーザーを追加すると、個々の権限をすべて付与せずに、1つのロールを付与するのみで済むので、アプリケーションのメンテナンスが単純化されます。

メニュー項目にセキュリティを項目単位で付与する前に、メニュー・モジュールに付与するロールのサブセットを指定する必要があります。たとえば、DBAが特定のデータベースへのアクセス権限を50ロールに付与する場合などです。しかしながら、そのデータベースを使用する特定のアプリケーションについては、それらのロールのうち10個のみアクセス権限を付与する場合があります。

ロールにメニュー・モジュールへのアクセス権限を付与しても、そのロールに個々のメニュー項目へのアクセス権限は付与されません。ロールにメニュー・モジュールへのアクセス権限を付与すると、そのロールは、モジュールのすべてのメニュー項目の「メニュー項目ロール」プロパティ・リストに表示されます。

一旦、ロールにメニュー・モジュールへのアクセス権限を付与すると、そのモジュールの個々のメニュー項目へのアクセス権限も付与できます。

次の2つの方法でロールを作成および付与できます。

•	データベース上で直接行います（GRANT文を発行）。

•	Form Builderの「ロール・リスト」ダイアログで行います（Form Builderがユーザーにデータベース・コマンドを発行）。

サーバーにセキュリティを直接インプリメントするか、Form Builderを通じてインプリメントするかにかかわらず、データベースに対して発行されるSQLコマンドは同じです。使用するパラメータ

•	CREATE ROLEを使用してロールを作成します。

•	GRANTを使用してロールに権限を与え、さらに特定のユーザーに"一連の"権限全体を与えます。

•	ALTER USER...DEFAULT ROLEを使用して、デフォルト時に、特定のユーザーとの接続が使用可能になるロールを制御します。DBAは、エンド・ユーザーのデフォルト・ロールを定義するので、ログインすると、関連権限が自動的に使用可能になります。

Form Builderのメニュー・セキュリティは、ロールが（SET ROLEを介して）現在使用可能であるかどうかにかかわらず、エンド・ユーザーに付与されたロールに基づいています。ただし、オブジェクト権限は使用可能であるロールに基づいているので、（デフォルトでロールを使用可能にしていない限り）必要な DBMS_SESSION.SET ROLE()コマンドをアプリケーションに組み込む必要があります。

ヒント: エンド・ユーザーが表に基づいたブロックを問い合わせようとして、エラー・メッセージ「ORACLE Error--実行できません...」を返された場合は、適切なロールが設定されていないためにエンド・ユーザーにそのデータベース表へのアクセス権限がない可能性があります。次のいずれかをする必要があります。

•	そのエンド・ユーザーにデフォルト・ロールとして適切なロールを使用可能にします。

または

•	DBMS_SESSION.SET ROLE()を使用して、明示的にロールをアプリケーションに設定します。


データベース・ロールの作成

データベース・ロールを作成する手順は次のとおりです。

1	「ファイル」 [image] 「管理」 [image] 「データベース・ロール」を選択して、「ロール・リスト」ダイアログを起動します。

「データベース・ロール」メニュー項目が使用不可であるとき、ユーザーにはロール管理権限がありません。DBA権限のある開発者に、CREATE ROLE、DROP ROLEおよびGRANT ROLEの各権限を付与するよう依頼します。

2	「新規作成」ボタンをクリックして「ロール」ダイアログを起動します。

3	「ロール名」フィールドに名前を入力します。

4	「ユーザー名」列にユーザー名を入力して、ロールにユーザーを追加します。

5	ロールの「デバッグ」、「OSコマンド」および「バックグラウンド・メニュー」の各権限を設定します。

DEBUG	「True」に設定して、[Debug Mode]を押すことによって、エンド・ユーザーはデバッグ・モードで実行できます。
OSCommand	「TRUE」に設定すると、エンド・ユーザーは「1つのOSコマンドの入力」または「1つ以上のOSコマンドの入力」を押すことでオペレーティング・システムに戻り、コマンドを入力できます。
バックグラウンド・メニュー	バックグラウンド・メニュー・ウィンドウを表示するには、「True」に設定して、[Show BGM]を押します。

エンド・ユーザーが前述の権限を持つロールのメンバーである場合は、実行時にForm Builderが対応するランプ（<DBG>、<OSC>または<BGM>）をステータス行に表示します。

6.	「OK」をクリックしてロール定義を確定し、「ロール・リスト」に戻ります。

7.	別のロールを定義する場合は、手順2～6を繰り返します。完了したら「上書き保存」をクリックしてロール定義をデータベースに保存します


既存のデータベース・ロールの変更

既存のデータベース・ロールを変更（新規ユーザーの追加など）する手順は次のとおりです。

1	「ファイル」 [image] 「管理」 [image] 「データベース・ロール」を選択して、「ロール・リスト」ダイアログを起動します。

「データベース・ロール」メニュー項目が使用不可であるとき、ユーザーにはロール管理権限がありません。DBA権限のある開発者に、CREATE ROLE、DROP ROLEおよびGRANT ROLEの各権限を付与するよう依頼します。

2	変更するロールを選択して、「編集」をクリックします。

「ロール」ダイアログが表示されて、希望するとおりにロールを変更できます。

3	目的

•	ロールにユーザーを追加するには、「ユーザー名」列にナビゲートして、[Create Element]（通常は[Ctrl]+[Insert]にマップされています。）を押します。

•	ロールからユーザーを削除するには、ユーザー名を選択してから「要素の削除」（通常は[Ctrl]+[Insert]にマップされています）を押します。

4	「OK」をクリックします。

Form Builderは「ロール・リスト」ダイアログに戻ります。

5	「上書き保存」をクリックします。


既存のデータベース・ロールの削除

既存のデータベース・ロールを削除する手順は次のとおりです。

1	「ファイル」 [image] 「管理」 [image] 「データベース・ロール」を選択して、「ロール・リスト」ダイアログを起動します。

「データベース・ロール」メニュー項目が使用不可であるとき、ユーザーにはロール管理権限がありません。DBA権限のある開発者に、CREATE ROLE、DROP ROLEおよびGRANT ROLEの各権限を付与するよう依頼します。

2	削除するロールを選択します。

3	「削除」をクリックします。

Form Builderは、削除の確認を求めるメッセージを表示します。

4	「削除」をクリックします。

5	「上書き保存」をクリックします。


データベース・ロールに対するメニュー・モジュールへのアクセス権限の付与

メニュー・モジュールへのアクセス権限をロールに付与する手順は次のとおりです。

1	オブジェクト・ナビゲータでメニュー・モジュールを選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	「プロパティ・パレット」の「メニュー・セキュリティ」ノード下で、「モジュール・ロール」プロパティに表示される「詳細」ボタンをクリックして「メニュー・モジュール・ロール」ダイアログを表示します。

4	メニュー・モジュールへのアクセス権限を付与するロールの名前を入力します。

5	「OK」をクリックします。


データベース・ロールに対するメニュー項目へのアクセス権限の付与

メニュー項目へのアクセス権限をデータベース・ロールに付与する手順は次のとおりです。

1	オブジェクト・ナビゲータで、メニュー項目を選択します。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレットの「メニュー・セキュリティ」ノード下で、「項目ロール」プロパティに表示される「詳細」ボタンをクリックして「メニュー項目ロール」ダイアログを表示します。

Form Builderは、ロール・リストに、モジュールへのアクセス権限を持つロールの名前を表示します。現在、選択されているメニュー項目へのアクセス権限を持つロールは反転表示し、権限のないロールは、標準スタイルで表示されます。

注意: リストが空の場合は、メニュー・モジュールへのアクセス権限が付与されたロールはありません。メニュー項目へのアクセスを割り当てる前に、モジュールへのロール・アクセス権限を付与する必要があります。

4	現行のメニュー項目へのアクセス権限をロールに付与するには、マウスでリスト内のロールを選択および選択解除します（ロールを選択解除することで項目のアクセス権限を無効にできます）。

•	クリックして、選択します（マウス・クリックはトグルです）。

•	1つ以上の連続ロールを選択するときは、[Shift]を押しながらクリックしてください。

•	リストの他のロールと関係なく、前回選択したロールを選択解除するには、他のロールをクリックします。

5	「権限なしで表示」プロパティにより、項目へのアクセス権限を持たないエンド・ユーザーに対してForm Builderがメニュー項目を表示する方法を指定できます。

はい	項目は表示されますが、使用不可です。使用不可の項目は、ほとんどのプラットフォームでコントラストを下げて（または、ぼかして）表示され、その項目が使用できないことを示します。
いいえ	項目は完全に非表示になります。

ヒント: 1つのロールに複数のメニュー項目へのアクセス権限を同時に付与するには、オブジェクト・ナビゲータで複数項目を[Shift]または[Ctrl]を押しながらクリックして選択し、すべての選択項目について、1度「メニュー項目ロール」プロパティを設定します。


実行時のデータベース・ロールの操作について

  関連項目

データベース・ロールを使用して、データベース・オブジェクト権限およびForm Builderのアプリケーション・メニュー・セキュリティを管理する場合、実行時にデータベース・ロールをチェックして、設定する必要がある場合があるかもしれません。たとえば、SESSION_ROLESデータ・ディクショナリ表示をチェックして、どのロールまたは権限が現行のユーザーに対して使用可能かをチェックすることが可能です。

また、次のようなビューを問い合わせて、実行時にデータベース・ロール情報を動的にチェックできます。

•	ROLE_ROLE_PRIVS

•	ROLE_SYS_PRIVS

•	ROLE_TAB_PRIVS

•	USER_ROLE_PRIVS

セキュリティを最大にするために、ロールはSETコマンドへのパスワードが必要なことがあります。このようにして、Form Builderアプリケーションは、フォーム内で暗号化されたパスワードを指定して起動時にロールを設定するので、フォームを実行するのに必要なすべてのデータベース・オブジェクトに、自動的にアクセスできます。


実行時のデータベース・ロールの設定およびチェック

 例

データベース・ロールを設定する方法は次のとおりです。

DBMS_SESSION.SET_ROLE('payroll');

パスワードとともにロールを設定する方法は次のとおりです。

DBMS_SESSION.SET_ROLE('payroll IDENTIFIED BY   PASSWORD xyz001');

（セキュリティのため、パスワードは変数として提供できます。）

ロールをデフォルト・ロール（ログオン時に、関連する権限を自動的に使用可能とします）として定義していない場合、ユーザーがデータベース・オブジェクト権限へアクセスできるのは、フォームを実行しているときのみで、これは望ましい動作です。メニュー・セキュリティは、現在使用可能（またはSET ROLEコマンドで有効）であるロールのみでなく、付与されたロールに基づいているので、アプリケーションは、必要に応じてプログラムでロールを使用可能にする必要があります。

注意: データベース・コマンドの詳細は、Oracle7 ServerまたはOracle8 Serverのマニュアルを参照してください。

データベース・ロールを動的にチェックして設定する方法は、次のとおりです。

DBMS_SESSIONパッケージには、プロシージャ（SET_ROLE）、およびプロシージャの結果をテストするのに対応したファンクション（IS_ROLE_SET）が組み込まれています。


実行時のデータベース・ロールの設定およびチェック例

/* Use the DBMS_SESSION package (including the SET_ROLE
** procedure and corresponding function IS_ROLE_SET) to set
** and check roles from a Form Builder application.
** SET_THE_ROLE: Attempts to set the role passed as a
** parameter. If the role requires a password, then pass
** the string 'ROLENAME IDENTIFIED BY PASSWORD' rather than
** simply passing 'ROLENAME' as the argument.
** Returns:     TRUE    if successful at setting the role
**              FALSE   otherwise.*/

FUNCTION SET_THE_ROLE(fp_rname VARCHAR2)
RETURN BOOLEANIS

   /* ORA-1979: Missing or invalid password... */

   wrong_password exception;
   pragma exception_init(wrong_password, -1979);

   /* ORA-1919: Role does not exist */

   role_does_not_exist exception;
   pragma exception_init(role_does_not_exist, -1919);

BEGIN

   /* Call the Stored Procedure to perform the SET ROLE  */

   DBMS_SESSION.SET_ROLE(fp_rname);
   RETURN(TRUE);

EXCEPTION

   /* Handle the two probable errors */

   WHEN role_does_not_exist
      OR wrong_password THEN
      RETURN(FALSE);

END;

/* Using this procedure, you could implement a simple
** PRE-FORM trigger: */

   IF NOT(DBMS_SESSION.IS_ROLE_SET('payroll') OR
     SET_THE_ROLE('payroll')) THEN
        MESSAGE('You are not authorized to run Payroll.');
        PAUSE;
        RAISE FORM_TRIGGER_FAILURE;
        END IF;
   END IF;


マウス・イベント、トリガーおよびシステム変数について

  関連項目

実行時に発生するマウス・イベントがいくつかあります。たとえば、オペレータがある項目をマウスでクリックすると、項目では、シングルクリックまたはダブルクリック・イベントを受け取ることができます。

次のマウス・イベントのいずれかが発生したときは必ず、コマンドの実行またはアクションの開始ができます。

•	マウス・ボタンを押しました

•	マウス・ボタンを押して放しました

•	マウスをクリックしました

•	マウスをダブルクリックしました

•	マウスをキャンバスまたは項目に移動しました

•	マウスをキャンバスまたは項目から移動しました

•	マウスを移動しました


マウス・イベント・トリガーの作成

  関連項目

マウス・イベントに応答するマウス・イベント・トリガーを作成すると、指定されたマウス・イベントが発生するときはいつでも、アクションを開始できます。

マウス・トリガー	説明
When-Mouse-Down	オペレータが項目またはキャンバスでマウス・ボタンを押すと、アクションを開始します。
When-Mouse-Up	オペレータが項目またはキャンバスの範囲でマウス・ボタンを押して放すと、アクションを開始します。
/* Trigger:  When-Mouse-Click	オペレータが項目またはキャンバスの範囲でマウスをクリックすると、アクションを開始します。マウスのクリックは、マウス・ボタンを押して放すというイベントです。
When-Mouse-DoubleClick	オペレータが項目またはキャンバスの範囲でマウスをダブルクリックすると、アクションを開始します。マウスのダブルクリックは、2回続けてマウス・ボタンを押して放すというイベントです。
When-Mouse-Enter	オペレータが項目またはキャンバスにマウスを移動すると、アクションを開始します。
When-Mouse-Leave	オペレータがマウスを項目またはキャンバスから移動すると、アクションを開始します。
When-Mouse-Move	オペレータが項目またはキャンバスでマウスを移動すると、アクションを開始します。


マウス・イベント・システム変数の使用

  関連項目

マウス・イベントが起こると、Form Builderは、適切なマウス・イベントのシステム変数（以下参照）を初期設定して、対応するマウス・トリガーを実行します。

注意: マウス・システム変数は、マウス・トリガーを起動する直前に設定されます。マウス・システム変数が更新されるようにするには、マウス・トリガー内でのみマウス・システム変数を使用する必要があります。

マウス・イベント・システム変数	Value
SYSTEM.MOUSE_BUTTON_PRESSED	ボタン1、2および3（左端、中央、右端）の押したボタンの番号。
SYSTEM.MOUSE_BUTTON_SHIFT_STATE	マウスクリック時に押したシフト修飾子。
SYSTEM.MOUSE_ITEM	現在、マウスがある項目の名前。
SYSTEM.MOUSE_CANVAS	現在、マウスがあるキャンバスの名前。
SYSTEM.MOUSE_X_POS	When-Mouse-Enterトリガー内で使用される場合を除いて、座標システムを基準としたキャンバス上での現在のマウスのX座標。When-Mouse-Enterトリガーを使用する場合、SYSTEM.MOUSE_X_POSは入力された項目のキャンバス上の位置ではなく、その項目に対応するX座標を表します。
SYSTEM.MOUSE_Y_POS	When-Mouse-Enterトリガー内で使用される場合を除いて、座標システムを基準としたキャンバス上での現在のマウスのY座標。When-Mouse-Enterトリガーを使用する場合、SYSTEM.MOUSE_Y_POSは入力された項目のキャンバス上の位置ではなく、その項目に対応するY座標を表します。
SYSTEM.MOUSE_RECORD	マウスがあるレコードのレコード番号。
SYSTEM.MOUSE_RECORD_OFFSET	マウスがある最初の可視レコードからのオフセット。

注意: Form Builderでは、マウス・トリガーを起動するための内部的なマウスのナビゲーションを行いません。その結果、マウスの移動や、マウスが項目に入ったり出たりすることで、現行項目以外の項目、またはレコードを含まない項目（たとえば、「問合せ入力」モードにある複数レコード・ブロックの5番目のレコード）上で起動できます。


押されたマウス・ボタンに基づいたアクションの実行

 例	     関連項目

ボタン1、2または3のいずれを押したか、またはシングルクリックかダブルクリックか、シフト修飾子とシングルクリックの組み合わせのような、オペレータが押すボタンに基準づいて、アクションを開始できます。

押されたボタン番号 押されたマウス・ボタンに基づいてアクションを実行するには、When-Mouse-ClickトリガーとSYSTEM.MOUSE_BUTTON_PRESSEDシステム変数を組み合わせて使用します。

シングルクリックまたはダブルクリック オペレータがマウスをシングルクリックまたはダブルクリックしたときにアクションを実行するには、When-Mouse-ClickまたはWhen-Mouse-DoubleClickトリガーを使用します。


押されたマウス・ボタンに基づいたアクションの実行例

次の例は、オペレータがマウスをクリックしたとき、どのマウスボタンが押されたかを判別する方法について説明します。

/* **  Trigger:  When-Mouse-Click */

 DECLARE

   the_button_pressed  VARCHAR(1);

   BEGIN

     the_button_pressed := :System.Mouse_Button_Pressed;

   IF the_button_pressed = '1' THEN

     Show_Window('options_window');

   END IF;

 END;


マウスの位置に基づいたアクションの実行

 例	     関連項目

マウスの現在の位置、つまりマウスが項目、レコード、座標領域またはキャンバスのどこにあるかに基づいて、アクションを実行できます。

マウスが項目にある場合 マウスが位置づけられている項目を確認するには、When-Mouse-MoveトリガーとSYSTEM.MOUSE_ITEMシステム変数を組み合わせて使用します。

マウスのある座標領域を判定する場合 現在のXおよびYマウス座標に基づいてアクションを実行するには、When-Mouse-Moveトリガーと、SYSTEM.MOUSE_X_POSおよびSYSTEM.MOUSE_Y_POSシステム変数を組み合わせて使用します。

マウスがレコードにある場合 マウスが位置づけられているレコード番号に基づいてアクションを実行するには、When-Mouse-MoveまたはWhen-Mouse-ClickトリガーとSYSTEM.MOUSE_RECORDシステム変数を組み合わせて使用します。


マウスの位置に基づいたアクションの実行例

/* **  Trigger:  When-Mouse-Move */

 DECLARE

    mouse_location   varchar(50);

 BEGIN

    mouse_location := :System.Mouse_Item;

 END;

次の例で、システム変数SYSTEM.MOUSE_X_POSおよびSYSTEM.MOUSE_Y_POSは、When-Mouse-Clickトリガー内で使用され、項目を動的に再配置します。

DECLARE

    item_to_move       VARCHAR(50);

    the_button_pressed VARCHAR(50);

    target_x_position  VARCHAR(3);

    target_y_position  VARCHAR(3);

 BEGIN

 /* **  Get the name of the item that was clicked. */

    item_to_move := :System.Mouse_Item;

    the_button_pressed := :System.Mouse_Button_Pressed;

 /* **  If the mouse was clicked on an area of a canvas that is

    **  not directly on top of another item, move the item to

    **  the new mouse location. */

    IF item_to_move IS NOT NULL AND the_button_pressed = '2' THEN

      target_x_position := :System.Mouse_X_Pos);

      target_y_position := :System.Mouse_Y_Pos);

      Set_Item_Property(item_to_move,position,target_x_position,target_y_position);

      target_x_position := NULL;

      target_y_position := NULL;

      item_to_move := NULL;

    END IF;

 END;

次の例で、システム変数SYSTEM.MOUSE_CANVASは、マウスが、どのキャンバスにあるかを判別するためにWhen-Mouse-Moveトリガー内で使用されます。

DECLARE

    canvas_name  VARCHAR(50);

 BEGIN

    canvas_name := :System.Mouse_Canvas;

 END;

マウスがどのウィンドウにあるかを判別するために、前述の例に次の行を追加します。

window_name := :Get_View_Property(canvas_name,window_name);


マルチフォーム・アプリケーションとは

マルチフォーム・アプリケーションとは、1つのForms Runtimeセッション中で複数のフォーム・モジュールをオープンすることです。Forms Runtimeセッションを開始するたびに、単一のフォーム・モジュールがメモリーへロードされます。最初のフォーム・モジュールが実行を開始すると、プログラムでいくつかの追加フォーム・モジュールを起動し、そこからさらに他のフォームも起動します。このようなモジュール形式のアプリケーション開発では、設計時および実行時で利点があります。

フォーム・モジュールのプログラム処理による別のフォーム・モジュール起動時に、Form Builderでは、適切なディレクトリ内に新モジュールが検索され、それがメモリにロードされます。マルチフォーム・アプリケーションをエンド・ユーザーに提供するとき、セッション中に呼び出されるすべての.FMXおよび.MMX、.PLL（フォームおよびメニュー、ライブラリ）ファイルは、システムで定義された作業ディレクトリまたは検索パスに常駐させる必要があります。


プログラム処理による別のフォームの起動

  関連項目

プログラムで他のフォーム・モジュールを起動するとき、フォームは次の3つのビルトイン・プロシージャを実行できます。

•	OPEN_FORM（個別、独立フォームをオープンします）

•	NEW_FORM（現行フォームを別のフォームと置換します）

•	CALL FORM（モーダル・フォームをコールします）

フォームがOPEN_FORMを実行して、他のフォームをコールした場合、最初のフォームは表示されたままなので、エンド・ユーザーは、必要に応じてフォーム間をナビゲートできます。オープンしたフォームは、それをコールしたフォームと同じデータベース・セッションを共有できるか、または独自のセッションを作成できます。通常のGUIアプリケーションでは、OPEN_FORMを使用することがマルチフォーム機能をインプリメントするときの望ましい方法です。

フォームがNEW_FORMを実行して、他のフォームをコールした場合、Form Builderは最初のフォームを終了して、そのメモリーを解放してから、新規フォームをロードします（すなわち、最初のフォームが2番目のフォームに完全に置き換えられます）。最初のフォームで保存していない変更があるとき、Form Builderは、エンド・ユーザーにその変更を保存してから、新規フォームをロードするようプロンプトします。

フォームがCALL_FORMを実行して別のフォームを起動するときは、コール先フォームがコール側のフォームに対してモーダルとなります。コール側フォームに属するウィンドウはすべて、コール先フォームが終了し、制御がコール側フォームに戻されるまで使用できません。

OPEN_FORMとCALL_FORMでは、コール側フォームを表示したままにしておけます。この方法を使用すると、フォームをかなり密接に統合できるので、エンド・ユーザーは、別のフォームをコールしていることを意識せずにすみます。

Form Builderは、OPEN_FORM（同一セッション）およびCALL_FORM、NEW_FORMプロシージャ・コール間で（フォームが獲得する）ロックをすべて保持します。したがって、コール先フォームは、コール側フォームと同じロックを自動的に持つことになります。

CALL_FORMは制限のないプロシージャで、OPEN_FORMおよびNEW_FORMには制限があります。したがって、CALL_FORMは「問合わせ入力」モードが有効ですが、OPEN_FORMおよびNEW_FORMは無効です。


マルチフォーム・アプリケーションとルート・ウィンドウ

  関連項目

OPEN_FORMまたはCALL_FORMを使用して、マルチフォーム・アプリケーションを作成するとき、同時に表示するフォーム・モジュールでルート・ウィンドウを定義しないようにする必要があります。マルチ・フォーム・アプリケーションであっても、実行時に一度に表示できるルート・ウィンドウは1つのみです。つまり、フォームBで表示された最初のキャンバスが、ルート・ウィンドウに割り当てられた内容ビューである場合、そのキャンバスは、独立したフォームB自身のルート・ウィンドウではなく、フォームAのルート・ウィンドウに表示されます。その結果、フォームBに含まれるコンテント・キャンバスは、ルート・ウィンドウにすでに表示されているフォームAのキャンバスに隠されることになります。通常のマルチフォーム・アプリケーションでは、この状態は望ましくありません。

ルート・ウィンドウを使用する必要がある場合、最初のフォームが2番目のフォームに隠れないようにできます。2番目のフォームによって表示されるターゲット・キャンバスを次のいずれかにします。

•	ルート・ウィンドウ以外のウィンドウに割り当てたコンテント・キャンバスまたはスタック・キャンバス

•	ルート・ウィンドウに割り当てたスタック・キャンバス

ターゲット・キャンバスが別のウィンドウに割り当てられている場合、Form Builderは別ウィンドウに2番目のフォームを表示し、最初のフォームのルート・ウィンドウの表示をそのまま保持します。

ターゲット・キャンバスがルート・ウィンドウに割り当てられたスタック・キャンバスである場合は、Form Builderがそれを最初のフォームのルート・ウィンドウに表示します。ただし、スタック・キャンバスがコンテント・キャンバスより小さい場合（通常はそうなっています）は、最初のフォームのコンテント・キャンバスが、一部表示されたままとなります。


OPEN_FORMによる個別フォームの起動

  関連項目

プログラムで別のフォームをオープンするには、次のようにOPEN_FORMビルトイン・プロシージャを実行します。

OPEN_FORM('stocks');

デフォルトでは、オープンされたフォームをForm Builderがただちにアクティブ化し、そのフォームの最初のナビゲート可能な項目にフォーカスを設定します。このデフォルト動作を明示的に指定するには、次のようにオプションのACTIVATEパラメータを含めます。

OPEN_FORM('stocks', activate);

ACTIVATEを指定してフォームをオープンする場合、Form Builderは、OPEN_FORMへのコールに続くトリガー文をすべて無視して、実行しません。

Form Builderが、オープンされたフォームにフォーカスを設定しないようにする場合は、NO_ACTIVATEパラメータを含めます。

OPEN_FORM('stocks', no_activate);

NO_ACTIVATEを指定してフォームをオープンする場合、Form Builderは、オープンされたフォームがメモリーにロードされて、もしあれば、初期起動トリガーが起動した後で、OPEN_FORMへのコールに続くトリガー文をすべて実行します。

フォームをACTIVATEまたはNO_ACTIVATEのどちらを指定してオープンしても、Form Builderは、通常はフォーム起動時に起動するオープン・フォームのすべてのトリガーを起動します。そのようなトリガーとして、Pre-FormおよびWhen-New-Form-Instance、When-New-Block-Instance、When-New-Record-Instance、When-New-Item-Instanceトリガーがあります。

個別フォームをクローズするには、次のようにCLOSE_FORMプロシージャを実行します。

CLOSE_FORM('stocks');


個別フォーム間のナビゲーション

  関連項目

マルチフォーム・アプリケーションのフォーム間のナビゲーションは、エンド・ユーザーがマウスでナビゲートしたとき、またはフォームが次のナビゲーション・ビルトイン・プロシージャの1つをコールしたときに行われます。

•	GO_FORM

•	Next_Form

•	PREVIOUS_FORM

GO_FORMには、次に示すように、ターゲット・フォームの名前を指定する1つのパラメータがあります。

GO_FORM('schedule');

NEXT_FORMは、フォームが実行時にオープンされたときの順序で、次のフォームに、また、PREVIOUS_FORMは直前のフォームにナビゲートします。

NEXT_FORM;
PREVIOUS_FORM;

通常、トリガーは、ナビゲーション・イベントに応答して起動します。ナビゲーション・イベントには、Pre-およびPost-トリガー（Pre-Block、Post-Recordなど）、およびWhen-New-Instanceトリガー（When-New-Block-Instance、When-New-Item-Instanceなど）があります。マルチフォーム・アプリケーションを構築する場合、ナビゲーションがトリガー処理に与える影響を理解する必要があります。

マルチフォーム・アプリケーションでは、各オープン・フォームに1つずつ、フォームの現項目となる項目があります。GO_FORMまたはNEXT_FORM、PREVIOUS_FORM、EXIT_FORMを使用して、オープンしているフォームに対してプログラムによるナビゲーションを開始すると、ターゲット項目は、常にターゲット・フォームの現項目になります。たとえば、フォームAがフォームBをオープンしてアクティブ化する場合、Form BuilderではフォームBの現項目にフォーカスが設定されます。その後、フォームBがEXIT_FORMまたはPREVIOUS_FORMをコールする場合は、Form BuilderではフォームAの現項目（この場合は、フォームBをオープンした時の現項目がフォームAです）にフォーカスが戻されます。

個別フォーム間のナビゲーションに関して、次の点に注意してください。

•	最初のフォームでは、妥当性チェックは行われません。ターゲット・フィールドが別のフォームである場合は、現在無効なフィールドからナビゲートできます。最初のフォームに戻り、そのフォーム内でナビゲートしようとした時点で、通常の妥当性チェックが施行されます。

•	トリガーは起動されません。ただし、次の例外があります。When-Window-Deactivated（開始フォームで起動する）と、When-Window-Activated（ターゲット・フォームで起動する）です。フォーム間でナビゲートしているとき、Pre-、Post-およびWhen-New-Instanceトリガーは起動されません。

エンド・ユーザーがマウスを使用して、フォームAからフォームBにナビゲートすると、ターゲット項目はフォームBの現項目か、またはフォームBの他の項目になります。

エンド・ユーザーがクリックした場合、

•	フォームBの現項目をクリックすると、どのトリガーも起動しません。

•	フォームBの現項目以外の項目をクリックすると、フォームBの現項目からターゲット項目へナビゲートするときに通常起動するトリガーが起動し、必要に応じて妥当性チェックが行われます。つまり、フォーム処理は、外部フォームに関係なく、エンド・ユーザーがフォームBの現項目からターゲット項目にナビゲートしているときとまったく同様に行われます。


異なるデータベース・セッションでのフォームのオープン

  関連項目

実行時に、Form Builderは、ORACLEと単一の接続を自動的に確立し、管理します。デフォルト時に、この接続について1つのユーザー・セッションが作成されます。ただし、ORACLEの複数セッション機能を使用すると、1つのクライアントが1つの接続で、複数のセッションを確立できます。ORACLEのトランザクション管理および読取り一貫性機能は、すべてセッション・レベルでインプリメントされるので、複数セッションを作成すると、ユーザーは1人で複数の個別トランザクションを持つことができます。

異なるセッションで行われる2つのフォームのレコードのロックおよび読取り一貫性の動作は、別個に接続する2つのクライアントに対して行われる場合と同じです。2つの個別フォームが同じ表にアクセスする場合、一方のフォームがロックを取得してしまい、そのため、他方のフォームが表のレコードにアクセスできないことがあります。

マルチフォーム・アプリケーションには、OPEN_FORMプロシージャを使用して、1つのフォームから別のフォームを開くときに、独立したセッションを作成できるオプションがあります。デフォルトでは、Form Builderはフォームを開くときに、セーブポイントを発行せず、オープンしたフォームとオープンされたフォームは、同じセッションを共有します。

次の2つの例は、新規セッションを作成せずにフォームをオープンした場合の例です。

OPEN_FORM('stocks'); -- default; NO_SESSION is implicit

OPEN_FORM('stocks',
          activate,
          no_session) -- NO_SESSION is explicit (for clarity)

専用の個別セッションでフォームをオープンするには、SESSIONパラメータを指定して、オープンします。この文は、STOCKSフォームを専用のセッションでオープンし、フォーカスをすぐに設定します。

OPEN_FORM('stocks',
          activate,
          session);

コミット処理  フォームがCOMMITを開始すると、Form Builderは妥当性チェックを実行し、このフォームと同じセッションを共有する各オープン・フォームに対して処理をコミットします。フォームの処理順序は、フォームがオープンされた順序と同じで、COMMITを開始したフォームが最初に処理されます。コミット処理中にエラーが発生した場合、Form Builderは、COMMITを開始したフォームに入力フォーカスを戻します。

セーブポイントとロールバック　デフォルトのNO_SESSIONパラメータを指定してOPEN_FORMをコールする場合、Form BuilderはCALL_FORMを使用するときのようにフォームに対してセーブポイントを発行しません。フォームAがフォームBをオープンする場合、両方のフォームが同じセッションを共有します。フォームBがCLEAR_FORM（これはROLLBACKを行うものです）を実行すると、Form BuiderはフォームAおよびフォームBで行ったすべての変更をロールバックします。

異なる複数の表にアクセスし、論理的に独立しているトランザクションを管理するフォームには、通常、独立したセッションを作成することが適しています。たとえば、注文入力フォームは、予定カレンダー・フォームを起動するメニュー・オプションを持っていることがよくあります。予定カレンダー・フォームを注文入力フォームと同じセッションで開く場合、エンド・ユーザーは、両方のフォームで行った変更を同時にコミットする必要があります。カレンダー・フォームを個別セッションでオープンする場合、エンド・ユーザーは新規予定を入力して、注文入力フォームをコミットすることなく、非同期に変更内容をコミットすることができます。

注意: session_modeパラメータを「SESSION」に設定してOPEN_FORMを実行する場合は、Forms Runtimeで「SESSION」オプションを「TRUE」に設定する必要があります。「SESSION」オプションが「FALSE」の場合、Form Builderはエラーを発行して、指示されたフォームをオープンしません。Forms Runtimeの「SESSION」オプションを「TRUE」に設定するには、FORMS50_SESSION環境変数をTRUEに設定します。FORMS50_SESSION変数を設定する場合、Forms Runtimeコマンド・ラインから「SESSION」オプションを設定して、環境変数を上書きしない限り、すべてのForms Runtime実行は、「SESSION」オプションが「TRUE」となります。


同一フォームの複数のインスタンスのオープン

  関連項目

マルチフォーム・アプリケーションでは、エンド・ユーザーが同じフォームのインスタンスを複数オープンできるようにするのが一般的です。エンド・ユーザーが異なるレコード・セットに対して同様な処理を行うアプリケーションでは、この手法が便利です。特に、各フォームを個別トランザクション・セッション内で管理する場合に役立ちます。

プログラムで同じフォームをn回オープンする場合は、そのフォームのn個のインスタンスを画面に表示し、メモリーに格納します。フォームの特定のインスタンスを参照するには、GO_FORMかCLOSE_FORMをコールするなどして、フォーム・インスタンスの内部IDを使用する必要があります。ただしフォームの名前は、同じフォームにあるすべてのインスタンスで共通なので、使用できません。

一度フォームがオープンすると、FIND_FORMビルトイン・ファンクションを使用して、その内部IDを獲得できます。

DECLARE
  form_id   FORMMODULE;
BEGIN
  OPEN_FORM('stocks', no_activate);
  form_id := FIND_FORM('stocks');
  :GLOBAL.formid := TO_CHAR(form_id.id);
END;

この例では、FormModule型の変数（Form Builder固有の型）が宣言されています。一度STOCKSフォームをオープンし、その内部IDを、FIND_FORMファンクションによって取得し、FormModule型の変数form_idに割り当てています。さらにそのインスタンス識別子をCHARに変換し、グローバル変数に割り当てています。

一度グローバル変数に格納すれば、特定のフォーム・インスタンスを操作するときに、いつでもインスタンス識別子を参照できます。次の例では、インスタンス識別子をGO_FORMビルトイン・プロシージャに渡して処理しています。

DECLARE
  form_id   FORMMODULE;
BEGIN
  form_id.id := TO_NUMBER(:GLOBAL.formid);
  GO_FORM(form_id);
END;

GO_FORMプロシージャは、FormModule型のパラメータを使用するので、最初のステップで、そのタイプの変数を宣言して、グローバル変数で現在保持されているインスタンス識別子を保持します。さらに、インスタンス識別子をNUMBER型にキャストして、有効なFormModule値にする必要があります。

次のようにいくつかの異なるフォームのインスタンス識別子を格納するには、グローバル変数と、COPYビルトイン・プロシージャを組み合わせます。

DECLARE
  form_id FORMMODULE;
  temp    CHAR(10);
BEGIN DEFAULT_VALUE('1', 'GLOBAL.counter');
  OPEN_FORM('stocks', NO_ACTIVATE);
  form_id := FIND_FORM('stocks'); :GLOBAL.temp_var := TO_CHAR(form_id.id);
 COPY(NAME_IN('GLOBAL.temp_var'),
               'GLOBAL.form' || :GLOBAL.counter);
  :GLOBAL.counter := TO_NUMBER(:GLOBAL.counter) +1;
END;

この例では、オープンしている各フォームのインスタンス識別子を格納するグローバル変数のセット（:GLOBAL.form1、:GLOBAL.form2など）を作成しています。これで、特定のインスタンスに対するプログラム操作のために、適切な変数を使用できます。


NEW_FORMによる現行フォームの置換

  関連項目

アプリケーションの現行フォームを置換するには、NEW_FORMビルトイン・プロシージャを実行します。

NEW_FORM(formmodule_name     CHAR,
         rollback_mode       NUMBER,
         query_mode          NUMBER,
         parameterlist_name  CHAR);

必須のパラメータはFormModule_Nameのみです。ほかはすべてオプションです。オプションのパラメータを指定してしないと、Form Builderは、そのパラメータのデフォルトを使用して新規フォームを実行します。したがって、

NEW_FORM('form_b');

という指定は、次の式と同じです。

NEW_FORM('form_b',
         to_savepoint,
         no_query_only);

コール側のフォーム自体がコール先フォームであった（つまりCALL_FORMプロシージャで起動された）場合は、新しいフォームがコール・スタックにおける親フォームの位置を占有します。さらに、Form Builderは、コール側フォームと同じCALL_FORMパラメータ（HIDEまたはNO_HIDE、DO_REPLACEまたはNO_REPLACE、QUERY_ONLYまたはNO_QUERY_ONLY）で新規フォームを実行します。


CALL_FORMによるモーダル・フォームのコール

  関連項目

プログラムで別のフォームを起動、つまりコールするには、CALL_FORMビルトイン・プロシージャを実行します。

CALL_FORM(formmodule_name     CHAR,
          display             NUMBER,
          switch_menu         NUMBER,
          query_mode          NUMBER,
          parameterlist_name  CHAR);

必須のパラメータはFormModule_Nameのみです。ほかはすべてオプションです。オプションのパラメータを指定しないと、Form Builderは、そのパラメータのデフォルト値を使用してコール先フォームを実行します。したがって、

CALL_FORM('form_b');

という指定は、次の式と同じです。

CALL_FORM('form_b',
          HIDE,
          NO_REPLACE,
          NO_QUERY_ONLY);

CALL_FORMは、コール側フォームをロードしたまま、指示されたフォームをロードします。たとえば、フォームAがフォームBをコールすると、フォームBはセッションのアクティブ・フォームになりますが、フォームAはメモリーに残留します。エンド・ユーザーがフォームBを終了すると、フォームAは再びアクティブ・フォームになります。今度はフォームBがCALL_FORMプロシージャを実行して、フォームCを起動できます。CALL_FORMプロシージャから連続してフォームがロードされる場合、結果として発生するモジュール階層をコール・フォーム・スタックと呼びます。

CALL_FORMによってフォームが別のフォームをコールする場合、コール先フォームはコール側フォームに対してモーダルとなります。コール側フォームに属するウィンドウはすべて、コール先フォームが終了し、制御がコール側フォームに戻されるまで使用できません。

NEW_FORMプロシージャと対照的に、CALL_FORMは現行のフォームを終了し、対応付けられたメモリーを解放してから、コール・フォーム・スタックの現行の位置で新規フォームを実行します。

CALL_FORMを実行するときに、表示パラメータに適切な定数を渡すことで、コール側フォームを表示したままにするかどうかを指定できます。有効な定数はHIDE（デフォルト）およびNO_HIDEです。次のプロシージャ・コールは、フォームA（コール側フォーム）を表示したままフォームBを起動します。

CALL_FORM('form_B',
          NO_HIDE);

コール先フォームのみがアクティブであり、エンド・ユーザーは、コール先フォームを終了しないとコール側フォームの項目にナビゲートできません。


コール先フォームの終了

デフォルトでは、Form Builderは次の操作のいずれかが行われると、フォームを終了します。

•	EXIT_FORMプロシージャ

•	NEW_FORMプロシージャ

•	デフォルトの「アクション」メニューの「終了」コマンド

•	[Exit/Cancel] キー

CALL_FORMプロシージャによりコール先フォームが終了すると、制御はコール側フォームに戻り、前にオフにしたところから、処理が再開します。これは、CALL_FORMを実行したトリガーまたはメニュー項目コマンド、ユーザー命名ルーチンが、CALL_FORMプロシージャ・コールのすぐ後の文で処理を再開することを意味しています。


エンド・ユーザーによりコール先フォームからの終了を許可する

コール・スタックでの各フォームの終了を明示的に要求するよりも、コール先フォームからアプリケーションを終了することをエンド・ユーザーに許可する方が望ましい場合があります。これを行うには、エンド・ユーザーがセッション全体を終了するか、またはコール側フォームに戻るかを示すグローバル変数を使用します。（グローバル変数は、コール先フォーム間で参照できます。

たとえば、コール先フォームにQUITというボタンがある場合、エンド・ユーザーはコール先フォームからアプリケーション全体を終了できます。各ボタンのWhen-Button-Pressedトリガーは、グローバル変数の値を設定して、エンド・ユーザーがセッションを終了するか、またはコール側フォームに戻るかを示します。

コール先フォームBのQUITボタンのWhen-Button-Pressedトリガー

:GLOBAL.quit_check := 'quit';
Exit_Form;

それから、コール側フォームで、CALL_FORMプロシージャ文の直後にあるグローバル変数の値を読み込みます。

コール側Aのトリガー・テキストを次に示します。

CALL_FORM('form_b');
/*
** 次のステートメントは、コール先フォームの実行が終了すると即座に実行される。
**

*/
IF :GLOBAL.quit_check = 'quit' THEN
  exit_form;
END IF;


問合せ専用モードでのフォームのコール

CALL_FORMかNEW_FORMでフォームをコールする場合、コール先フォームが標準モードまたは問合せ専用モードで実行するかどうかを指定します。問合せ専用モードのフォームは、データベースに問い合わせることができますが、挿入、更新および削除を実行できません。

呼出し先フォームに対して問合せモードを指定するには、CALL_FORMまたはNEW_FORMの引数リストのquery_modeパラメータに適切な定数を指定します。有効な定数は、NO_QUERY_ONLY（標準モード）およびQUERY_ONLYです。

次に例を示します。

CALL_FORM('form_b',
          no_hide,
          no_replace,
          query_only);

または

NEW_FORM('form_b',
         to_savepoint,
         no_query_only);

注意: コール先フォームがNO_QUERY_ONLY（標準）モードで実行されるように、CALL_FORMまたはNEW_FORM構文で指定している場合であっても、Form Builderでは、問合せ専用モードのフォームからコールされたすべてのフォームはQUERY_ONLYフォームとして実行されます。


同一アプリケーションでのOPEN_FORMとCALL_FORMの使用

例	  制限

CALL_FORMを実行してモーダル・フォームを起動すると、コール側フォームは、エンド・ユーザーがコール先フォームを終了してコール側フォームに戻るまで、使用不可となります。コール側フォームが使用不可のときは、ウィンドウはグレーになり、エンド・ユーザーはフォームの項目にフォーカス設定ができなくなります。

コール先フォームは、次に他のフォームをコールできます。その結果、3つのフォームがメモリーにロードされるので、エンド・ユーザーが使用できるのは、そのうちアクティブになっている1つです。CALL_FORMプロシージャでフォームがロードされる場合、結果として発生するモジュール階層をコール・フォーム・スタックと呼びます。


同一アプリケーションでOPEN_FORMとCALL_FORMを使用する場合の制限

OPEN_FORMかCALL_FORMビルトイン・プロシージャを使用して、同じアプリケーションで複数のフォームを起動するとき、次の制限事項に注意する必要があります。

•	ナビゲーション  コール・フォーム・スタック内の使用不可のフォームへプログラムでナビゲートすることはできません。

•	コール側のフォーム  あるオープン・フォームがコール・フォーム・スタック内にあるフォームを起動した場合は、別のオープン・フォームでCALL_FORMプロシージャを実行できません。


同一アプリケーションでOPEN_FORMとCALL_FORMを使用する例

•	次の例を考えます。（1） フォームAがフォームBをコールし、（2）フォームBがフォームCをオープンし、（3）フォームCがフォームDをオープンし、さらに（4）フォームBがフォームEをコールします。この時点で、3つのフォーム（C、D、E）はアクティブでナビゲート可能であり、2つのフォーム（AとB）は使用不可でナビゲート不可です。フォームAまたはBにプログラムによってナビゲートしようとすると、エラーが生じます。フォームA、BおよびEはともに、アプリケーションの現行のコール・フォーム・スタックを表します。フォームCからフォームをコールしようとすると、エラーが発生します。他のフォーム（ここではフォームA）から開始された、コール先フォームのスタックがすでに存在しているときは、オープンしているフォームからCALL_FORMは実行できません。フォームCがCALL_FORMを正常に実行するには、まずエンド・ユーザーかアプリケーションによってフォームEを終了してフォームBに戻り、それからフォームBを終了する、つまりコール・フォーム・スタックを終了する必要があります。フォームDが終了すると、フォーカスは、Dがオープンされたフォーム（この場合はフォームC）に戻ります。次にCが終了すると、フォームCをオープンしたのがフォームBであるにもかかわらず、フォームEにフォーカスが戻ります。これはCALL_FORMを発行してフォームEを起動したBが現在使用不可となっているためです。


CALL_FORMを使用する場合のコミット処理の管理

マルチフォーム・アプリケーションでは、コール先フォームとコール側フォームの両方で、DMLコマンドの発行、レコードのロック、およびコミットの変更、記録された変更のロールバックができます。このセクションでは、コール先の複数のフォーム間でコミット処理を管理するための、概念と手法について説明します。


転記とコミット

アプリケーションのコール先フォーム間で、データベース・トランザクションを橋渡しするためには、転記とコミットの違いを理解する必要があります

デフォルトのコミット操作中に、Form Builderは、フォームで変更済みまたは削除済み、挿入済みのマークが付いているレコードを更新または削除、挿入するために必要なSQL文を発行します。次に、Form BuilderはCOMMIT文を発行して、データベースでこれらのトランザクションをコミットします。

転記とは、更新および削除、フォームへの挿入をデータベースに書き込むことであり、これらのトランザクションをデータベースにコミットすることではありません。POSTビルトイン・プロシージャを実行することによって、Form Builderに、コミットせずに明示的に転記させるようにすることができます。

アプリケーションがPOSTプロシージャを実行するとき、Form Builderはデフォルトの妥当性チェックとコミットの処理をすべて実施しますが、COMMIT文を発行して、これらのトランザクションを完結させることはしません。

転記されたトランザクションはすでにデータベースに書き込まれているので、FormBuilderは、コール先の複数のフォーム間で、影響を受けたレコードの状態を保持する必要はありません。さらに重要なのは、これらのトランザクションはまだコミットされていないので、それらはプログラムでロールバックできるということです。この機能を利用して、コール先フォーム間で、トランザクションを管理できます。


転記専用モードとは

コール側のフォームに、明示的に転記されていない保留中の更新や削除がある場合は、Form Builderがコール先フォームを転記専用モードで実行します。さらに、転記専用モードで実行するフォームからコール先フォームもまた転記専用モードになります。

転記専用モードでは、コミットまたは完全なロールバックはできません。コミットしようとすると、メッセージが戻されます。

FRM-40403： コール側フォームに転記されていない変更があります。コミットは許可されていません。

エンド・ユーザーがコール先フォームでレコードを変更して、デフォルト「終了」コマンドを発行すると、Form Builderは次の警告を表示します。

行った変更を転記しますか?

この機能は、制御がコール側フォームに戻されるまで、事前に獲得したロックを保持します。


セーブポイントとロールバックについて

アプリケーションのすべてのフォームが「SAVEPOINT_MODE」を「オン」（デフォルト）にしているとき、フォーム起動時、またNEW_FORMやCALL_FORMを介してメモリーにロードされるたびに、Form Builderはセーブポイントを発行します（フォームをOPEN_FORMで起動すると、セーブポイントは発行されません）。アプリケーションで複数のフォームを起動する場合、これらのセーブポイントによりデータベース・トランザクションは特定のフォーム・モジュールに対応したセグメントに分割されます。

Form Builderはコール先の各フォームにセーブポイントを発行するので、アプリケーションは、セッション中にアクティブであった他のフォームの変更に影響を与えずに、個々のフォームの変更を転記およびロールバックできます。


変更のロールバック

EXIT_FORMとNEW_FORMビルトイン・プロシージャは、Form Builderが現行のフォームを終了するという点で類似しています。両者の違いは、EXIT_FORMは単に現行のフォームを終了し、NEW_FORMは現行のフォームを終了するのみでなく、かわりにロードするフォームを指定するという点です。どちらの場合も、Form Builderは、終了する前に現行のフォームで行われた変更を保持またはロールバックする必要があります。EXIT_FORMとNEW_FORMに加えて、CLEAR_FORMも変更の保持またはロールバックができます。

次の操作のときに、フォームの変更を保持するかロールバックするかを制御できます。

•	フォームがEXIT_FORMビルトイン・プロシージャを実行したとき

•	エンド・ユーザーが、デフォルトの「アクション」メニューで「終了」項目を選択したとき（これはデフォルトのパラメータを使用してEXIT_FORMをコールすることと同じです）

•	フォームがNEW_FORMビルトイン・プロシージャを実行したとき

•	フォームがCLEAR_FORMビルトイン・プロシージャを実行したとき

•	エンド・ユーザーが、デフォルトの「アクション」メニューから「すべて消去」を選択したとき（これはデフォルトのパラメータを使用してCLEAR_FORMをコールすることと同じです）

変更を保持またはロールバックするかどうかは、これらの操作で指定されたロールバック・モードによって決定されます。

EXIT_FORM、NEW_FORMまたはCLEAR_FORMプロシージャをコールする場合は、rollback_modeパラメータに、TO_SAVEPOINT、NO_ROLLBACKまたはFULL_ROLLBACKのどの定数を指定するかによってロールバック・モードが決まります。


ロールバック・モード・パラメータについて

TO_SAVEPOINTおよびNO_ROLLBACK、FULL_ROLLBACKパラメータは、定義済みの数値定数です。次の例で示されるように、一重引用符なしで入力する必要があります。

CLEAR_FORM(ask_commit, to_savepoint);
NEW_FORM('my_form', no_rollback);
EXIT_FORM(ask_commit, full_rollback);

ロールバック・パラメータ	説明
TO_SAVEPOINT	デフォルト。Form Builderは、コミットされていない変更（転記された変更を含みます）を最後のセーブポイントまでロールバックします。フォームがコール先フォームである場合、コール側フォームで転記された変更は保持されます。しかし、現行のフォームの変更または獲得したロックは失われます。
NO_ROLLBACK	Form Builderはロールバックを発行せず、転記された変更は保持されます。（転記されていない現行フォームの変更は失われます。）新規フォームをコールするかコール先フォームを終了するとき、現行フォームで獲得したロックは、すべて引き続き有効です。
FULL_ROLLBACK	Form Builderは、現行セッションでコミットされていない保留変更（転記された変更を含む）をすべてロールバックします。これには、現行フォームで行った変更、現行フォームをコールしたフォームで行った転記済み変更、現行フォームによってコール先フォームでの転記済み変更を含みます。

フォームが転記専用モードである場合、完全なロールバックはできません。

FRM-40739： パラメータFULL_ROLLBACKを持つClear_Formは、ポスト専用フォームでは完全にロールバックすることができません。


デフォルトのロールバック・モード

CLEAR_FORMおよびNEW_FORM、EXIT_FORMプロシージャのデフォルト・ロールバック・モードは、TO_SAVEPOINTです。したがって、次の文

CLEAR_FORM;
NEW_FORM('form_name');
EXIT_FORM;

は、次と同じです。

CLEAR_FORM(ask_commit, to_savepoint);
NEW_FORM('form_name', to_savepoint);
EXIT_FORM(ask_commit, to_savepoint);

注意: Form Builderでは、PL/SQLブロック内のROLLBACK文が、パラメータなしのCLEAR_FORMビルトイン・プロシージャとして解釈されます。


CLEAR_ALLおよびEXITコマンドの変更

  関連項目

Form Builderのデフォルトのフォーム・メニューには、「アクション」メニュー上に「すべて消去」コマンドが用意されています。これによりエンド・ユーザーは、フォームでの変更をロールバックできます。「すべて消去」項目は、デフォルト・パラメータでCLEAR_FORMプロシージャを実行するのと同じ機能を持ちます。

CLEAR_FORM(ask_commit, to_savepoint);

同様に、「アクション」メニューの「終了」項目は、デフォルト・パラメータでEXIT_FORMプロシージャをコールするのと同じ機能を持ちます。

EXIT_FORM(ask_commit, to_savepoint);

これらのメニュー項目は、キー・コマンドに直接マップされるので、メニュー項目の機能は適切なキー・トリガーを記述することで、変更できます。たとえば、「すべて消去」メニュー項目のデフォルト動作を、セッション中の全変更（コール側フォームに転記された変更も含む）をロールバックするように変更するとします。この場合、完全にロールバックするには、次の「KEY-CLRFRM」（"clear-form"）トリガーを記述します。

CLEAR_FORM(no_commit, full_rollback);

同様に、「終了」メニュー項目のロールバック・モードをNO_ROLLBACKに変更できるので、現行フォームに転記された変更を、終了時にロールバックしないようにすることができます。この場合、次の「KEY_EXIT」トリガーを記述します。

EXIT_FORM(do_commit, no_rollback);


転記およびロールバック・モードを使用したトランザクションの管理

例

アプリケーションには、複数のフォーム・モジュールを組み込むことができますが、一度に処理できるデータベース・トランザクションは1つのみです。1つのフォームでコミット操作を行うと、アプリケーションの個々のフォームではなく、アプリケーション・セッション全体について保留中の更新、挿入および削除がコミットされます。つまり、フォームBが発行するコミットで、フォームAが転記した変更をコミットできます。同様に、ロールバック・コマンドによって、現行フォーム以外のフォームで転記された変更をロールバックできます。

マルチフォームのアプリケーションを構築するとき、転記およびロールバック・モードを使用して、コール先フォームのコミット処理をすべて制御できます。

変更がコール側フォームで転記されると、コール先フォームは、転記専用モードでは実行されないので、エンド・ユーザーは、コール先フォームからコミットを発行できます。次のステップでは、その手順が説明されています。また、転記によって、コール先フォームで、コール側フォームの変更をどのようにコミットするかについて示しています。

1	フォームAのレコードを更新または削除します。

2	フォームAで転記します。

3	フォームBをコールします。

4	挿入、更新、または削除がフォームBに記録されます。

5	フォームBでコミットします（これにより、フォームBで行われた変更とフォームAで転記された変更をコミットします）。

6	フォームBを終了します。


転記およびロールバック・モードを使用したトランザクション管理の例

/* EXAMPLE 1:Committing from a Called Form

** Form Builder runs called forms in post-only mode when there
** are unposted changes in the calling form.Although post-only
** mode is useful in many applications, externalizing it to
** end-users can add complexity to your application's interface.
** For some applications, it may be better to prevent forms
** from running in post-only mode altogether.To do so, design
** the application so changes are explicitly posted before
** another form is called.To post changes in a form, execute
** the POST built-in procedure just prior to calling a form
** with the CALL_FORM or NEW_FORM procedure.For example, you
** can include the POST procedure in the menu item command or
** When-Button-Pressed trigger that calls the next form:
*/
POST;
IF (system.form_status <> 'QUERY') THEN
  CALL_FORM('form_b', no_hide);
END IF;

/* EXAMPLE 2:Committing Changes in the Calling Form
**            from the Called Form
**
** Use posting to allow a calling form to commit changes posted in
** a called form.The following steps illustrate this sequence:
**
** 1. Update or delete records in Form A.
** 2. Call Form B. (Form B is in post-only mode because changes
**    were made in Form A that were not explicitly posted.)
** 3. Insert, update, or delete records in Form B.
** 4. Post in Form B.
** 5. Exit Form B with NO_ROLLBACK parameter.
** 6. Commit in Form A. (This commits changes made in Form A and
**    changes posted in Form B.)
**
** When Form B exits and returns control to Form A (step 5),
** the rollback mode is set to NO_ROLLBACK to preserve changes
** that were posted in Form B.


変更されたレコードのチェック

転記する変更がないときにPOSTビルトインが実行されると、Form Builderはエラー・メッセージを表示します。

FRM-40405：転記する変更内容はありません。

このエラーを回避するには、転記を試みる前に、システム変数SYSTEM.FORM_STATUSをチェックして、フォームで少なくとも1つのレコードは、妥当性チェックでCHANGEDとして確認されたことを次のようにして検証します。

ENTER;
IF :system.form_status = 'CHANGED' THEN
  POST;
END IF;
CALL_FORM('form_b', no_hide);

フォームを終了するとき、デフォルト・ロールバック・モードはTO_SAVEPOINTなので、この機能を明示的に上書きして、ロールバックを回避することができます。たとえば、「アクション」メニューの「終了」項目のデフォルトの動作を変更するとします。エンド・ユーザーがデフォルト「アクション」メニューで「終了」メニュー項目を選択した場合、コール先フォームで行われる変更を失なうようにするためには、デフォルトの「終了」コマンドを上書きする次のトリガーを記述します。

KEY-EXITトリガー：

IF :system.form_status = 'CHANGED' THEN
  POST;
END IF;
EXIT_FORM(no_commit, no_rollback);

EXIT_FORMの代わりにNEW_FORMプロシージャを実行して現行フォームを終了する場合も、同じ手法でできます。

IF :system.form_status = 'CHANGED' THEN
  POST;
END IF;
NEW_FORM(no_commit, no_rollback);

この場合、コール先フォームで転記される変更は、置換される新規フォームによってコミットされます。


コール・フォーム・スタックに関する情報の取得

例	     関連項目

GET_APPLICATION_PROPERTYビルトイン・ファンクションを使用して、マルチフォーム・アプリケーションのコール・フォーム・スタックに関する次のような情報を取得できます。

•	現行フォームの名前（CURRENT_FORMパラメータ）

•	現行フォームをコールしたフォームの名前（CALLING_FORMパラメータ）

•	現行エンド・ユーザーのユーザー名およびパスワード（USERNAMEおよびPASSWORDパラメータ）


コール・フォーム・スタックに関する情報の取得例

/* Determine which form called the current form

** （CALL_FORMによって）
*/
DECLARE
  parent_form  CHAR(20);
BEGIN
  parent_form := GET_APPLICATION_PROPERTY(calling_form);
  IF parent_form = 'form_A' THEN
    POST;
    EXIT_FORM(no_commit, no_rollback);
  ELSE
    COMMIT_FORM;
    EXIT_FORM;
  END IF;
END;


転記およびコミット・トランザクション・メッセージの抑止

マルチフォーム・アプリケーションを構築するとき、トランザクション転記およびコミットに関するメッセージを抑止する場合があります。そのためには、転記またはコミットの直前にシステム変数SYSTEM.MESSAGE_LEVELを5に設定し、希望する値にリセットします。


フォーム間でのパラメータの受渡し

  関連項目

プロシージャ、OPEN_FORMまたはCALL_FORM、NEW_FORMでフォームを起動すると、フォーム・パラメータの値を、コール側フォームからコール先フォームに渡すことができます。

あるフォームから別のフォームへパラメータ値を渡すには、各パラメータとその値がパラメータ・リストに含まれている必要があります。パラメータ・リストは、内部的に使用される3つのメンバーを持つ構造体であり、各パラメータのキー（名前）、タイプ（Text_ParameterまたはData_Parameter）および値が含まれています。

パラメータの値を渡すには、設計時にそのパラメータを、コール先フォームに定義しておかなければなりません。つまり、コール先フォームは、コール側フォームから受け取るパラメータ・リストに含まれた各パラメータの値を想定する必要があります。

設計時にオブジェクト・ナビゲータで、または実行時にプログラムでフォームにパラメータを定義できます。パラメータのプロパティには、名前およびパラメータ・データ・タイプ、長さ、初期値が組み込まれています。パラメータ・リストは、CREATE_PARAMETER_LISTおよびADD_PARAMETERビルトイン・ルーチンを使用してプログラムで作成する必要があります。

パラメータ値は、複数のフォーム間で共有きません。したがって、p1というパラメータがフォームAとフォームBの両方で名前を定義されている場合でも、各フォームにローカルなものとなるため、フォームBでp1の値を設定してもフォームAのp1の値には反映されません。このため、マルチフォーム・アプリケーションでは、主にフォームが最初に起動されたときに、そのフォームに対する入力としてパラメータを利用します。

コール先フォームすべてで参照できる値を持つ変数が、アプリケーションで必要な場合は、グローバル変数を使用する必要があります。グローバル変数は、コール先フォームすべてで参照でき、ERASEビルトイン・プロシージャで明示的に削除されるまで、またはセッションが終了するまで、アクティブな状態を保ちます。


パラメータ・リストの受渡し

例	     関連項目

パラメータ・リストは、フォームからフォームにOPEN_FORMやCALL_FORM、NEW_FORMビルトイン・プロシージャの最後の引数として渡されます。


パラメータ・リストの受け渡し例

/* In this example, a parameter list named form_a_parms is

** created and its object ID is assigned to a variable named
** p_list.A text parameter named p1 then is added to the
** list with ADD_PARAMETER, and its value is set to "BICYCLE."
** Finally, the parameter list is passed to Form B as the last
** argument to the OPEN_FORM procedure.For this example to
** work, a form parameter named p1 must have been declared in
** Form B at design time, and its datatype and length must be
** compatible with the value being passed.
*/
DECLARE
  p_list  PARAMLIST;
BEGIN
  p_list := CREATE_PARAMETER_LIST('form_a_parms');
  ADD_PARAMETER(p_list, 'p1', text_parameter, 'BICYCLE');
  OPEN_FORM('form_b', activate, no_session, p_list);
END;


デフォルトのパラメータ・リスト

例

各フォームには、「デフォルト」というビルトイン・パラメータ・リストが含まれています。「デフォルト」パラメータ・リストには、設計時にフォームで定義したフォーム・パラメータがすべて含まれています。たとえば、設計時にフォームAで、p1、p2およびp3というパラメータを定義すると、これらのパラメータは、フォームAの「デフォルト」パラメータ・リストに自動的に組み込まれます。


デフォルトのパラメータ・リストの例

/* Like any other parameter list, the Default parameter

** list can be passed to a called form by including it in
** the argument list of the OPEN_FORM, CALL_FORM, or
** NEW_FORM built-in procedures.
*/
DECLARE
  p_list  PARAMLIST;
BEGIN
  p_list := GET_PARAMETER_LIST('default');
  OPEN_FORM('form_b', activate, no_session, 'default');
END;


コール先フォームのパラメータ初期値

次の表では、OPEN_FORMまたはCALL_FORM、NEW_FORMでコール先フォームに渡されたパラメータ・リストに含まれるパラメータの初期値が、どのように決定されるかを示しています。ここでは、フォームA（コール側フォーム）とフォームB（コール先フォーム）には対応するパラメータがあることを想定しています。

フォームAが渡すパラメータ・リスト	フォームBの対応するパラメータに設定される値
パラメータ・リストなし	設計時にフォームBで指定されるデフォルトのパラメータ値（デフォルト値が指定されていない場合、パラメータ値のデフォルトはNULL）。
「Default」パラメータ・リスト	フォームAで対応するパラメータの現在の設定値。
プログラムで作成されたパラメータ・リスト	ADD_PARAMETERでパラメータをパラメータ・リストに入れたときに、パラメータに指定した値。


パラメータの妥当性チェック

例	     関連項目

「Default」パラメータ・リストをフォームに渡すとき、Form Builderは、コール先フォームに定義されたパラメータに対し、次のように、個々のパラメータの妥当性をチェックします。

•	リストの各パラメータは、設計時に、コール先フォームにすでに定義されている必要があります。未定義のパラメータを渡すと、OPEN_FORM、NEW_FORMおよびCALL_FORMは失敗し、Form Builderが次のエラー・メッセージを発行します。FRM-47023：<パラメータ名>という名前のパラメータは<フォント・モジュール名>には存在しません。

•	呼出し先フォームに定義されたパラメータのデータタイプおよび長さは、渡されるパラメータの値と対応している必要があります。（パラメータ・リストの値はタイプの指定されていない文字列ですが、フォーム・パラメータは、CHAR型、NUMBER型またはDATE型として宣言されます。）  パラメータと値が互換性を持たない場合、OPEN_FORM、NEW_FORMまたはCALL_FORMは失敗し、Form Builderが次のエラー・メッセージを発行します。FRM-47024：パラメータ<パラメータ名>タイプは<コール先フォーム名>の定義と一致しません。

ADD_PARAMETERおよびDELETE_PARAMETERビルトイン・プロシージャを使用して、パラメータを追加および削除することによって、「Default」パラメータ・リストを変更できます。


パラメータの妥当性チェックの例

/* To avoid a validation error, you can remove unwanted

** parameters from the list before passing it to a form.
** For example, if Form B requires only parameters p1 and
** p2, you could remove p3 from the list before passing
** the list to Form B.
*/
DECLARE
  p_list  PARAMLIST;
BEGIN
  p_list := GET_PARAMETER_LIST('default');
  DELETE_PARAMETER(p_list, 'p3');
  OPEN_FORM('form_b', activate, no_session, 'default');
END;


フォームおよびメニュー・モジュールの統合

マルチフォーム・モジュールを組み合わせて1つのアプリケーションにできるように、必要に応じて、複数のメニュー・モジュールを使用することができます。アプリケーションの設計は、複数のフォーム・モジュールが同じメニュー・モジュールを共有するように、またはアプリケーションの各フォームが独自のメニューを実行するようにもできます。マルチフォーム・アプリケーションで、どのようにメニューがロードされるかは、OPEN_FORMまたはNEW_FORM、CALL_FORMのどれを使用するかによって決まります。


OPEN_FORMメニュー機能

OPEN_FORMを使用して、マルチフォーム・アプリケーションを作成すると、各フォーム・モジュールは、それぞれ独自のメニュー・モジュールを持ちます。エンド・ユーザーがフォーム間をナビゲートすると、現行フォームのメニューがアプリケーションの現行メニューになります。Microsoft Windowsでは、MDI表示形式に従って、現行フォームのメニューがMDIアプリケーション・ウィンドウに表示されるので、注意してください。つまり、エンド・ユーザーがフォーム間をナビゲートすると、現行フォームのメニューのみが表示されます。


NEW_FORMメニュー機能

NEW_FORMを使用してマルチフォーム・アプリケーションを作成すると、コール側のフォームが同じモジュールを使用する場合でも、Form Builderが常に新しいフォームのメニュー・モジュールをロードします。

この規則の唯一の例外は、NEW_FORMプロシージャを実行するフォーム自体が、NO_REPLACEパラメータを使用してコール先フォームである場合です。この場合は、新しいフォームがNO_REPLACE制限を引継ぎ、コール側フォームのメニュー下で実行されます。


CALL_FORMメニュー機能

CALL_FORMを使用してマルチフォーム・アプリケーションを作成する場合は、switch_menuパラメータによって、Form Builderが別のメニューをロードするのか、または現行メニューを保持するのかが決まります。switch_menuパラメータの有効定数には、DO_REPLACEとNO_REPLACEが含まれます。

NO_REPLACE（デフォルト）で、Form Builderは現行のメニュー・モジュールを維持します。DO_REPLACEで、Form Builderは、現行のメニュー・モジュールを、コールされるフォームに設計時に付加したメニュー（デフォルト「Form Builder」メニューまたはカスタム・メニュー・モジュール）に置換します。

次に例を示します。

CALL_FORM('form_b', hide, do_replace);

この例は、現行のメニューを維持しないで、フォームBに設計時に付加したメニューを使用してフォームBを実行します。


マスター・メニューの作成

マルチフォーム・アプリケーションでは、アプリケーションのメイン・メニューの表示のみを行うフロント・エンド・フォームを作成するのが一般的です。そうすると、メイン・メニューの項目から個々のフォーム・モジュールを起動して、アプリケーションの特定の機能を実行することができます。他のフォームを起動するマスター・メニューを作成するには、まず、ブロックまたは項目のないフォーム・モジュールを作成してから、そのフォームにマスター・メニュー・モジュールを付加します。

OPEN_FORMによるマスター・メニューからのフォームの起動  マスター・メニューの項目がOPEN_FORMで、フォームを起動する場合は、個々のフォームに専用のメニューが必要です。独立したフォームで現行のメニューを使用することはできません。

NEW_FORMによるマスター・メニューからのフォームの起動  マスター・メニューの項目がNEW_FORMビルトイン・プロシージャでフォームを起動する場合は、各フォームに連結されたメニュー・モジュールがそのフォームを起動するときにロードされます。アプリケーションのすべてのフォームが同じメニューを共有していると、同じメニューの再ロードが（または、そのたびにデータベースに問合せが）新規フォームの起動ごとにはできない場合があります。

この問題を回避するために起動フォームを作成します。これはNO_REPLACEパラメータでCALL_FORMを実行し、フロント・エンド・フォーム（およびそのマスター・メニュー）をコールするのみのものです。このように設計すると、Form Builderは、別のフォームがメイン・メニューから起動されるたびに、メニューを再ロードすることはありません。フロント・エンド・フォーム自体がコール先フォームである場合、NEW_FORMプロシージャで起動されたフォーム・モジュールは、すべて自動的にNO_REPLACEの制限を引継ぎ、マスター・メニューのもとで実行されます。

CALL_FORMによるマスター・メニューからのフォームの起動  マスター・メニューの項目がCALL_FORMビルトイン・プロシージャでフォームを起動する場合は、switch_menuパラメータ（DO_REPLACEまたはNO_REPLACE）で、コールされるフォームがマスター・メニューを継承するかどうかを指定できます。


REPLACE_MENUビルトイン・プロシージャの使用

  関連項目

REPLACE_MENUビルトイン・プロシージャを使用して、現行フォームのメニューを別のメニューへ動的に置き換えることができます。

たとえば、現行メニューをmy_new_menuというメニューで置き換えるには、次のプロシージャ・コールを記述します。

REPLACE_MENU('my_new_menu');


Forms Developerの各国語サポート

  関連項目

世界各国で使用できるアプリケーションを設計する場合、データの表示方法について各国語固有の表記法規約を使用することにより、世界中のユーザーがそれぞれの言語でアプリケーションと対話できるようにしたいものです。Oracleの各国語サポート（NLS）は、次の3つの主要な階層で構成されます。

•	各国語文字コード体系のサポート

•	言語および地域の表記法規約のサポート

•	アプリケーションの翻訳

このように、文字レベル、データ表示レベルおよびインタフェース・レベルでのサポートを組み合せることにより、作成したアプリケーションは、マルチバイト・キャラクタのコード体系および双方向性を含め、ヨーロッパ、中東およびアジアのほとんどの言語で使用できるようになります。


NLSアーキテクチャ

  関連項目

NLSアーキテクチャには、次の2つの主要な部分で構成されます。

•	言語に依存しない機能

•	言語依存のデータ

言語に依存しない機能では、実行時にオペレータが使用する言語および地域に応じて適切な方法でデータを処理し、その国での日付および時刻の表記法規約に従って、データを自動的に書式設定します。

言語依存のデータを特定することにより、作成したアプリケーションに固有な文字列の翻訳のみをアプリケーションで処理できるようになります。


各国語サポートの環境変数

  関連項目

次に示すパラメータを環境変数として使用することにより、Forms Developerの言語設定を指定できます。

パラメータ	指定する言語設定
NLS_CALENDAR	使用するカレンダー・システム
NLS_CREDIT	正の通貨値を示す文字列
NLS_CURRENCY	各国通貨記号
NLS_DATE_FORMAT	日付用のデフォルト書式
NLS_DATE_LANGUAGE	日付用のデフォルト言語
NLS_DEBIT	負の通貨値を示す文字列
NLS_ISO_CURRENCY	ISO通貨記号
NLS_LANG	Forms Developerの言語設定
DEVELOPER_NLS_LANG	Forms Developer Builderの言語
USER_NLS_LANG	Forms Developer Runtimeコンポーネントの言語
NLS_LIST_SEPARATOR	リスト内の項目を区切るための文字
NLS_MONETARY_CHARACTERS	通貨値用の小数点記号と3桁区切り
NLS_NUMERIC_CHARACTERS	数値用の小数点記号と桁グループ・セパレータ
NLS_SORT	文字データ用のソートのタイプ

これらのパラメータの詳細は、『Oracle8 Serverリファレンス・マニュアル』を参照してください。


NLS_LANG環境変数

  例	  関連項目

NLS_LANG環境変数によって、Forms Developerで使用される言語設定が決まります。

NLS_LANGによって指定される設定は次のとおりです。

•	'しばらくお待ちください...'メッセージなど、ユーザーに対して表示されるメッセージの言語

•	日付と数値用のデフォルトの書式マスク

•	ソート基準

•	キャラクタ・セットを構成する文字

NLS_LANGの構文を次に示します。

NLS_LANG=language_territory.charset

パラメータの内容は次のとおりです。

language	メッセージおよび日と月の名前を表示するための言語とその規約を指定します。 言語を指定しないと、その値はデフォルトで米語に設定されます。
territory	地域を指定し、デフォルトの日付書式や、数値、通貨記号および週番号と曜日番号の計算に使用される表記法規則も指定します。 地域を指定しないと、値はデフォルトでアメリカに設定されます。
charset	データを表すキャラクタ・セットを指定します。これは、使用している言語とプラットフォームに一致するキャラクタ・セットである必要があります。この引数は、メッセージの表示に使用するキャラクタ・セットも制御します。

NLS_LANGの詳細は、『Oracle8 Serverリファレンス・マニュアル』を参照してください。


DEVELOPER_NLS_LANG環境変数とUSER_NLS_LANG環境変数

  例	  関連項目

ほとんどの場合、NLS_LANGには1つの値を設定するのみで十分です。ただし、同一コンピュータ上で2か国語のリソース・ファイルとメッセージ・ファイルを同時に使用する必要がある場合、次の2つの環境変数が使用できます。

•	DEVELOPER_NLS_LANGは、製品のBuilder用の言語を指定します。

•	USER_NLS_LANGは、製品のRuntimeコンポーネント用の言語を指定します。

DEVELOPER_NLS_LANGとUSER_NLS_LANGの構文は、NLS_LANGと同じです。

次のような状況の場合は、NLS_LANGを1つ使用するかわりに、上記の2つの変数を使用します。

•	Builderは英語で使用する必要があるが、アプリケーションを他言語用に開発している場合。

•	双方向キャラクタ・セットを使用する言語で実行するアプリケーションを作成している場合。

•	Builderの各国語バージョンが使用できない言語で実行するアプリケーションを作成している場合。

注意  これらの環境変数を個別に指定しないと、それぞれがNLS_LANGのデフォルト値を取ります。

NLS_LANGの詳細は、『Oracle8 Serverリファレンス・マニュアル』を参照してください。


NLS_LANG環境変数の設定

  例	  関連項目

NLS_LANG環境変数を設定するには:

  NLS_LANG環境変数の値を定義する方法は、使用しているオペレーティング・システムについて他の環境変数を定義する場合と同じです。パスの長さなど、プラットフォームに固有の規則に注意してください。

たとえば、Microsoft Windows NTについてNLS_LANGを設定するには、次の手順を実行します。

1	「スタート」メニューの「ファイル名を指定して実行」を選択します。

2	'regedit'と入力し、「OK」をクリックして、レジストリ・エディタをオープンします。

注意  Windowsのレジストリを変更すると、システムの動作に大きく影響します。環境変数の変更は、必要な場合にのみ行います。操作を誤った場合は、「キャンセル」をクリックし、再度実行します。

1	「HKEY_LOCAL_MACHINE」ノードを拡張し、次に「SOFTWARE」ノードを拡張します。

2	「ORACLE」をクリックし、レジストリ・エディタの右側のパネルにOracle環境変数を表示します。

3	NLS_LANG環境変数をダブルクリックします。

4	「値のデータ」テキスト・ボックスにNLS_LANGの新しい値を入力し、「OK」をクリックします。

注意  NLSの機能を使用する場合は、製品がNLSコンポーネントを特定できるように、少なくともNLS_LANGを設定する必要があります。


Windowsプラットフォームでのフォントのエイリアシング

  関連項目

特定のフォントを使用してアプリケーションを作成しても、実行すると別のフォントが使用されている場合があります。この問題は、多くの場合、西ヨーロッパ圏以外の言語環境で英語フォント（MS Sans SerifやArialなど）を使用すると発生します。この問題が起こる理由は、フォントに関連付けられているキャラクタ・セットと、言語環境変数によって指定されたキャラクタ・セットが一致しているかどうかが、Forms Developerによってチェックされるためです。2つのキャラクタ・セットが一致しない場合、Forms Developerでは、言語環境変数によって指定されているキャラクタ・セットと一致するキャラクタ・セットに関連付けしているフォントに自動的に置換します。この自動置換によって、データベースから返されるデータがアプリケーション内で正しく表示されます。

注意  英語フォントを使用して各国語の文字を入力した場合、Windowsでは他のフォントに暗黙的な関連付けを行います。

ただし、このような自動置換を行いたくない場合もあります。自動置換が行われないようにするには、希望するすべてのフォントを、フォント・エイリアス・ファイル内のWE8ISO8859P1キャラクタ・セットにマッピングします。たとえば、アプリケーション内でArialフォントを使用できないときは、フォント・エイリアス・ファイルに次の行を追加します。

Arial.....=Arial...WE8ISO8859P1


サポートされているMicrosoft Windowsのキャラクタ・セット

キャラクタ・セット名	説明
AR8MSWIN1256	MS Windowsコード・ページ1256、8ビット、ラテン語/アラビア語
BG8MSWIN	MS Windows 8ビット、キリル語（ブルガリア）
CL8MSWIN1251	MS Windowsコード・ページ1251、8ビット、ラテン語/キリル語
EE8MSWIN1250	MS Windowsコード・ページ1250、8ビット、東ヨーロッパ言語
EL8MSWIN1253	MS Windowsコード・ページ1253、8ビット、ラテン語/ギリシア語
ET8MSWIN923	MS Windowsコード・ページ923、8ビット、エストニア語
IW8MSWIN1255	MS Windowsコード・ページ1255、8ビット、ラテン語/ヘブライ語
JA16SJIS	Shift-JIS、16ビット、日本語
KO16KSC5601	KSC5601、16ビット、韓国語
LT8MSWIN921	MS Windowsコード・ページ921、8ビット、リトアニア語
TH8TISASCII	タイ工業規格620-2533 - ASCII、8ビット
WE8ISO8859P1	ISO 8859-1、西ヨーロッパ言語
ZHS16CGB231280	CGB2312-80、16ビット、簡体字中国語
ZHT16BIG5	BIG5、16ビット、繁体字中国語


サポートされているアラビア語の表示キャラクタ・セット

Id	キャラクタ・セット名	説明
61	AR8ASMO708PLUS	ASMO 708 Plus Client、8ビット、ラテン語/アラビア語
72	AR8XBASIC	EBCDIC XBASIC Client、8ビット、ラテン語/アラビア語
504	AR8NAFITHA711T	Nafitha Enhanced 711 Client、8ビット、ラテン語/アラビア語
505	AR8SAKHR707T	SAKHR 707 Client、8ビット、ラテン語/アラビア語
506	AR8MUSSAD768T	Mussa'd Alarabi/2 768 Client 8-bit ラテン語/アラビア語
507	AR8ADOS710T	Arabic MS-DOS 710 Client、8ビット、ラテン語/アラビア語
508	AR8ADOS720T	Arabic MS-DOS 720 Client、8ビット、ラテン語/アラビア語
509	AR8APTEC715T	APTEC 715 Client、8ビット、ラテン語/アラビア語
511	AR8NAFITHA721T	Nafitha International 721 Client、8ビット、ラテン語/アラビア語
514	AR8HPARABIC8T	HP ARABIC8 Client、8ビット、ラテン語/アラビア語
567	AR8ARABICMACT	Mac Client、8ビット、ラテン語/アラビア語


言語および地域の表記法規約

  関連項目

文字コード体系によって各言語に必要な個々の文字が使用できる一方で、各国語の表記法規約のサポートにより、ローカライズされたデータ項目が正しく表示されます。

指定の言語によって、次の要素についてデフォルトの表記法規約が決まります。

•	サーバー・メッセージの言語

•	曜日名、月名およびそれらの省略形（SQL関数TO_CHARとTO_DATEによって指定）の言語

•	AM、PM、ADおよびBCを表す記号

•	ORDER BYを指定したときのデフォルトのソート基準（ORDER BYが指定されない限り、GROUP BYではバイナリ・ソートが使用されます）。

•	文字表記の方向

•	肯定応答または否定応答の文字列

たとえば、言語にフランス語を設定すると、次のメッセージ

ORA-00942：表またはビューが存在しません
FRM-10043:ファイルをオープンできません。

は、次のように表示されます。

ORA-00942：table ou vue inexistante
FRM-10043:Ouverture de fichier impossible.

指定された地域によって、次のような日付および数値に関するデフォルトの書式設定が決まります。

•	日付書式

•	小数点記号と桁グループ・セパレータ

•	各国通貨記号

•	ISO通貨記号

•	週の開始日

•	貸し方および借り方の記号

•	ISO週フラグ

•	リスト・セパレータ

たとえば、地域にフランスを設定すると、カンマを小数点記号として使用して数値が書式設定されます。


サポートされている言語

省略形	言語
us	米語
ar	アラビア語
bn	ベンガル語
ptb	ポルトガル語（ブラジル）
bg	ブルガリア語
frc	フランス語（カナダ）
ca	カタロニア語
hr	クロアチア語
cs	チェコ語
dk	デンマーク語
nl	オランダ語
eg	エジプト語
gb	英語
et	エストニア語
sf	フィンランド語
f	フランス語
d	ドイツ語
din	ドイツ工業規格
el	ギリシア語
iw	ヘブライ語
hu	ハンガリー語
is	アイスランド語
in	インドネシア語
i	イタリア語
ja	日本語
ko	韓国語
esa	スペイン語（ラテン・アメリカ）
lv	ラトビア語
lt	リトアニア語
ms	マレー語
esm	スペイン語（メキシコ）
n	ノルウェー語
pl	ポーランド語
pt	ポルトガル語
ro	ルーマニア語
ru	ロシア語
zhs	簡体字中国語
sk	スロバキア語
sl	スロベニア語
e	スペイン語
s	スウェーデン語
th	タイ語
zht	繁体字中国語
tr	トルコ語
uk	ウクライナ語
vn	ベトナム語

注意  特定の言語がサポートされていても、その言語の翻訳が使用できるとは限りません。


サポートされている地域

アルジェリア	ギリシア	ポルトガル
アメリカ	香港	カタール
オーストリア	ハンガリー	ルーマニア
バーレーン	アイスランド	サウジ・アラビア
バングラデシュ	イラク	スロバキア
ブラジル	イスラエル	スロベニア
ブルガリア	イタリア	ソマリア
カナダ	日本	スペイン
カタロニア	ヨルダン	スーダン
中国	韓国	スウェーデン
CIS	クウェート	スイス
クロアチア	ラトビア	シリア
キプロス	レバノン	台湾
チェコ共和国	リビア	タイ
チェコスロバキア	リトアニア	オランダ
デンマーク	マレーシア	チュニジア
ジブティ	モーリタニア	トルコ
エジプト	メキシコ	ウクライナ
エストニア	モロッコ	アラブ首長国連邦
フィンランド	ノルウェー	イギリス
フランス	オマーン	ベトナム
ドイツ	ポーランド	イエメン


Forms Developerの双方向サポート

  関連項目

中東圏の言語および北アフリカ圏の言語についてのNLSサポートには、通常の文字表記方向が右から左である言語の双方向サポートが含まれます。

双方向サポートによって、開発者は次の事項を制御できるようになります。

•	レイアウト方向。右側にラベルがあり、チェックボックスおよびラジオ・ボタンが正しい位置に配置されている項目の表示を含みます。

•	読み方向。右から左または左から右のテキスト方向を含みます。

•	整列。原点の左上から右上への切替えを含みます。

•	初期キーボード状態。エンド・ユーザーがフォームへの入力を開始したときに、各国語文字またはローマ字が自動的に生成されるかどうかを制御します（エンド・ユーザーはこの設定を上書きできます）。

NLS_LANG環境変数に加え、双方向アプリケーションでは次の2つの環境変数を使用する場合があります。

•	DEVELOPER_NLS_LANG

•	USER_NLS_LANG

たとえば、Windows環境でアラビア語のアプリケーションを開発しているときに、米語のインタフェースを使用する場合は、これらの環境変数を次のように設定します。

DEVELOPER_NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256
USER_NLS_LANG=ARABIC_territory.charset


Form Builderの双方向サポート

  関連項目

双方向アプリケーションでのオブジェクトの外観を指定するには、「方向」、「文字位置」、「読込み順序」、「キーボード状態」および「初期キーボード状態」の5つのプロパティが使用されます。

「方向」は包括的なプロパティで、各オブジェクトについてできる限り多くの機能を提供します。テキスト項目と表示項目を除くすべてのオブジェクトについて、「方向」プロパティが唯一の双方向プロパティで、その設定によって双方向機能の他の局面が制御されます。（ただし、リスト項目には、「初期キーボード状態」と「キーボード状態」の各プロパティが含まれます。）

テキスト項目と表示項目には「方向」プロパティはありませんが、「文字位置」、「読込み順序」、「初期キーボード状態」および「キーボード状態」の各プロパティに限り、これらの項目について設定できます。

キーボード状態は1つの言語に制限できます。たとえば、「キーボード状態」に「ローカル」を設定すると、エンド・ユーザーはキーボードを他の言語に切り替えることができなくなります。

双方向プロパティに「デフォルト」を設定すると、これらのプロパティは、言語環境変数で指定された通常の文字表記方向の値を継承します。ほとんどの場合、これによって希望する機能は提供されます。継承されたデフォルト値を上書きしたいときは、双方向プロパティを指定するのみです。

双方向プロパティの継承は次のとおりです。

	デフォルト設定の値が導出されるオブジェクト
フォーム	言語環境変数
警告、ブロック、値リスト、ウィンドウおよびキャンバスビューなど、すべてのオブジェクト	フォーム
テキスト項目、表示項目、チェックボックス、ボタン、ラジオ・グループおよびリスト項目などのすべての項目	キャンバスビュー

双方向機能に関連する大部分のプロパティは、プログラムによって取り出し、設定できます。詳細は、適切なビルトイン・サブプログラムの説明を参照してください。たとえば、ボタンの「方向」プロパティの値を取得する方法の詳細は、GET_ITEM_PROPERTYの説明を参照してください。


Report Builderの双方向サポート

  関連項目

双方向アプリケーションでのオブジェクトの外観を指定するには、「位置揃え」、「方向」（オブジェクト用）および「方向」（レポート用）の3つのプロパティが使用されます。双方向プロパティは、次に示す階層でオブジェクトに追加されます。

モジュール

ボイラープレート

フィールド

外部ボイラープレート

ボタン

パラメータ・フォーム・ボイラープレート

このリストにないオブジェクトは、双方向サポートを必要としないか（イメージなど）、上記のいずれかのオブジェクト・プロパティからデフォルト値を継承します。


Forms DeveloperのUnicodeサポート

  関連項目

Unicodeは、1つのアプリケーションで多言語テキストを表示できるようにするグローバルなキャラクタ・セットです。これによって多国籍企業では、次に説明するように、1つの多言語アプリケーションを開発し、それを世界各国で実行できます。

グローバルな市場では、次のようなキャラクタ・セットが必要です。

•	すべての言語について製品の1つのインプリメンテーションで済み、さらに世界各国で簡単にインプリメントできること。

•	主要スクリプトをすべて含むこと。

•	多言語ユーザーおよび多言語組織をサポートします。

•	インターネットを使用して世界各国間でのデータ交換が可能であること。

Forms DeveloperではUnicodeをサポートしています。Unicodeを使用すると、西ヨーロッパ、東ヨーロッパおよび中東（双方向）などのシングルバイト言語や、中国語、日本語および韓国語（CJK）などマルチバイトのアジア言語といった複数の言語を、同一アプリケーションで表示できるようになります。

すべての言語を網羅する1つのキャラクタ・セットを使用することにより、さまざまな言語についてさまざまなキャラクタ・セットを用意する必要がなくなります。

たとえば、日本語などのマルチバイト言語を表示するには、NLS_LANG環境変数を次のように設定する必要があります（Windowsプラットフォームの場合）。

Japan_Japanese.JA16SJIS

ドイツ語などのシングルバイト言語を表示するには、NLS_LANGを次のように設定する必要があります（Windowsプラットフォームの場合）。

German_Germany.WE8ISO8859P1

この方式の明らかな短所は、アプリケーションで一度に表示できる文字が1つのキャラクタ・セットに限られることです。複数のキャラクタ・セットを組み合せた言語データは生成できません。

Unicodeキャラクタ・セットでは、NLS_LANGのキャラクタ・セット部分に、特定言語のキャラクタ・セットのかわりにUTF8を設定できます。これによって、異なる言語およびキャラクタ・セットの文字を同時に表示できます。

たとえば、画面上に日本語とドイツ語を同時に表示するには、NLS_LANGの変数を次のように設定する必要があります。

Japanese_Japan.UTF8

または

German_Germany.UTF8

Forms DeveloperのUnicode機能によって、アプリケーション開発者とエンド・ユーザーは、多言語テキストをフォーム内で表示できるようになります。これには、Unicodeを含むデータベースのテキスト、多言語テキスト、GUIオブジェクト内のテキスト（ボタン・ラベルなど）、キーボード入力されたテキストおよびクリップボードのテキストなども含まれます。Forms Developerでは現在、Windows NT 4.0とWindows 95/98（限定サポート）上でUnicodeをサポートしています。

注意  Web用にアプリケーションを開発する場合は、Unicodeを使用できます。これは、JavaによってUnicodeがサポートされているためです。


構成に関する考慮点

  関連項目

UNIXサーバーでは複数のORACLE_HOME(ORACLE_HOMEはOracleソフトウェアについてそれ自体によって作成されるディレクトリ）をサポートできるため、複数のNLS設定をサポートできます。つまり、1台のUNIXサーバーで複数の言語をサポートできます。

ただし、Windows NTでは、サポートできるORACLE_HOMEは1つに限られるため、サポートできるNLS設定も1つのみです。つまり、Windows NTでサポートできる言語は1つのみです。


Unicodeフォントのサポート

  関連項目

Unicodeの多言語テキストを表示するには、絵文字または表示される言語の文字を含むフォントを使用する必要があります。Windows NT、Windows 95およびWindows 98の場合、Microsoft社によって提供されるTrueTypeの'Big Fonts'か、サード・パーティーのUnicodeフォントを使用する必要があります。多言語テキストを入力、表示または印刷して、予期しない文字が表示された場合は、Big Fontを使用していない可能性があります。Microsoft社がNT 4.0で提供しているBig Fontは次のとおりです。

•	Arial

•	Courier New

•	Lucida Console

•	Lucida Sans Unicode

•	Times New Roman

WindowsのBig Fontで表示要件が満たされない場合は、サード・パーティーのフォントを使用します。


Unicodeサポートの有効化

  関連項目

Forms DeveloperでUnicodeサポートを有効にするには、NLS_LANGを次のように設定します。

NLS_LANG=language_territory.UTF8


キャラクタ・セット間の変換

  関連項目

複数の言語で使用するアプリケーションの設計を始めるとき、アプリケーションのエンド・ユーザーによって使用されるキャラクタ・セットと、アプリケーション開発者によって使用されるキャラクタ・セットの両方を考慮する必要があります。実行時におけるキャラクタ・セット・レベルでの変換は自動ですが、この変換によってパフォーマンスは影響を受けます。

たとえば、1つのキャラクタ・セットでアプリケーションを構築し、別のキャラクタ・セットで実行すると、パフォーマンスの低下が見られる場合があります。また、特定の文字と同等の文字がキャラクタ・セットに含まれていない場合、クエスチョン・マーク（?）などの代替文字が表示されます。ただし、目に見える違いがわからない場合でも、パフォーマンスの問題があるため、言語の生成に使用するキャラクタ・セットには開発者として十分な注意を払う必要があります。

注意  Forms Developerでは、AR8MSWINとAR8ISOまたはIW8MSWINとIW8ISOなど、同一言語のキャラクタ・セット間の変換のみを行います。

複数の言語または同一言語でも異なるキャラクタ・セットで実行するアプリケーションを設計する場合、最適なパフォーマンスを実現するため、生成する環境を実行時環境に合せる必要があります。たとえば、次の作業を行います。

•	実行時に最も幅広く使用されるキャラクタ・セットを判断します。

•	言語環境変数をそのキャラクタ・セットに設定して環境を生成します。

注意  Form Builderの場合、生成時に使用されるキャラクタ・セットは、実行時環境でキャラクタ・セットを指定した場合でも、実行時に使用されます。


Forms Developerユーザー・インタフェース

  関連項目

Oracleではソフトウェアの多言語化で1つの実行可能なアプローチを使用します。つまり、シングルバイトのヨーロッパ言語やマルチバイトのアジア言語を処理するために、別の実行可能ファイル（f60des.exeなど）が不要になることを意味します。同一のツール・セットを使用して、英語および英語以外のアプリケーションを作成できます。

注意  Forms Developerでは、異なる言語のフォントおよび入力方式について、Microsoft社のWindowsオペレーティング・システムに依存しています。任意の言語でテキストを入力および表示するには、その言語をサポートするWindowsのバージョンを実行している必要があります（タイ語を表示するには、Thai語のWindowsを実行している必要があります）。

Forms Developerのインストール時に、インストールするメッセージ・ファイルの言語を選択します。Forms Developerのコンポーネント（Form Builderなど）を使用すると、言語環境変数に基づく適切なメッセージ・ファイルを使用してインタフェースが表示されます。たとえば、次のインタフェース要素が含まれます。

•	メッセージ

•	メニューとメニュー項目

•	ダイアログ・ボックス

•	プロンプトとヒント

•	警告

現行の言語設定に対応するメッセージ・ファイルがForms Developerによって検索されない場合、デフォルトで米語のメッセージ・ファイルが設定されます。

注意  メッセージ・ファイルのインストール時に指定できる言語は、米語の他に1つのみです。Forms Developerを別の言語で使用する必要が生じた場合は、適切なメッセージ・ファイルを使用してForms Developerを再インストールする必要があります。

メッセージ・ファイル名によって、Forms Developerコンポーネントと言語が指定されます。その場合、次のようなファイル命名規則が使用されます。

<product_id><language_id>.MSB

たとえば、Form Builderの場合を次に示します。

FMDUS.MSBには、デフォルト（米語）のBuilderメッセージが含まれます。

FMGUS.MSBには、デフォルト（米語）のGenerateメッセージが含まれます。

FMFUS.MSBには、デフォルト（米語）のRunformメッセージが含まれます。

FMFI.MSBには、イタリア語のRunformメッセージが含まれます。

FMFD.MSBには、ドイツ語のRunformメッセージが含まれます。

言語に依存するメッセージ・ファイルのインストールの詳細は、使用しているプラットフォーム用インストレーション・ガイドおよびユーザーズ・ガイドを参照してください。

注意  言語用の補足製品には上位互換性がありません。それらの製品は、共にリリースされたバージョンのForms Developerとのみ動作するように提供されています。以前のリリースの言語用の補足製品がすでにインストールされている場合は、システムから削除する必要があります。


CONVERTを使用したデータ変換

SQL関数CONVERTを使用すると、キャラクタ・セット間でデータを変換できます。この関数は、1つのキャラクタ・セットでの文字列のバイナリ表現を、別のキャラクタ・セットのバイナリ表現に変換します。変換の詳細は、「キャラクタ・セット間の変換」を参照してください。

CONVERTの詳細は、『Oracle8 Serverリファレンス・マニュアル』を参照してください。


デフォルトの書式マスク

  例	  関連項目

言語環境変数によって、Forms Developerインタフェース（BuilderとRuntime）で使用される言語のみでなく、データの表示に使用される一連のデフォルト書式マスクも定義されます。ただし、明示的な書式マスクによってデフォルトが上書きされない場合に限ります。アプリケーション開発者としてデフォルトの表示マスクを上書きする場合は、NLS関連の追加の書式マスクも使用できます。

Forms Developerまたはアプリケーションに入力されるすべてのデータでは、特定の地域に関連付けられたデフォルトの書式マスクが使用されます。そのため、アプリケーションの構築時および実行時に言語を変更でき、日付および数値の書式を変える必要はありません。

Forms Developerでは、次の場合に限りデフォルトの書式マスクを使用します。

•	Builderの使用時: Builderによって、項目、範囲またはパラメータのデフォルト値が表示される場合

•	実行時： ユーザーが、DATEやNUMBERなど、地域固有の型を持つテキスト項目に対してデータを入力する場合

多言語アプリケーションの日付フィールドおよび通貨フィールドについて作業するときは、次の点を考慮する必要があります。

•	表示されるすべての項目（ボイラープレート、テキスト項目、ボタンなどのインタフェース・オブジェクトおよび値リスト）の長さを増やして、テキストの翻訳、および各国語固有の表記法規約に基づく形式で数値を表示できるようにするかどうか。

•	特別な書式マスクを作成するために、NLS関連の書式マスク文字を使用する必要があるかどうか、またはNLS_LANGによって起動されるデフォルトの書式マスクで十分かどうか。


ヒント
暗黙的な型変換の場合、PL/SQLでは常にデフォルトの米語書式（DD-MON-YYなど）が使用されるため、地域固有の型を持つ項目をPL/SQLで使用する場合は、正しい書式マスクを指定する必要があります。PL/SQLで地域固有の項目を翻訳する場合、オラクル社では次に示すとおり、TO_DATEを使用することをお薦めします。

IF :emp.hiredate < TO_DATE('30-12-1996','DD-MM-YYYY') THEN
   ...


書式マスク文字

  例	  関連項目

次の書式マスク文字を使用すると、デフォルトの書式マスクを上書きできます。

日付の書式マスク文字

文字	戻り値
D	日の桁（1～7）
DY	曜日の名前（省略形）
DAY	曜日の名前（空白埋めによって9文字分の長さにされます）
WW	週の桁。アルゴリズムint((day-jan1)/7)によって計算されます。
IW	ISO週の桁
MON	月の名前（省略形）
MONTH	月の名前（空白埋めによって9文字分の長さにされます）
RM	ローマ数字による月の文字
I,IY,IYY,IYYYY	先頭から順に、ISO年の最後の1桁、2桁、3桁およびISO年
BC,AD,B.C.,A.D.	BCまたはADの記号（ピリオド付きとピリオドなし）
AM,PM,A.M.,P.M.	AMまたはPMの記号（ピリオド付きとピリオドなし）
ISOとその日付書式マスクの詳細は、『Oracle Server SQLリファレンス』を参照してください。

数値の書式マスク文字

文字	戻り値
C	国際通貨記号
L	各国通貨記号
D	小数点セパレータ
G	桁グループ（3桁）セパレータ


文字データのソート

  制約	  例	  関連項目

従来から文字データをソートするときは、文字コード体系によって定義される文字の数値に基づいてソート基準が決定されます。このようなソートはバイナリ・ソートと呼ばれ、英語アルファベットについて順序どおりの結果を生みます。これは、ASCII標準およびEBCDIC標準では、AからZまでの文字が昇順の数値で定義されるためです。注意

ただし、他の言語で使用される文字が含まれている場合、バイナリ・ソートでは順序どおりの結果は生まれません。たとえば、昇順のORDER BY問合せによって、文字列ABC、ABZ、BCDおよびﾄBCがこの順序で返されます。文字コード体系では、ﾄはBよりも高い数値を持ちます。

特定の言語について文字のアルファベット順に一致するソート基準を生成するには、文字コード体系の数値を考慮せずに文字をソートする、別のソート手法を使用する必要があります。このような手法は言語ソートと呼ばれます。言語ソートは、バイナリ・ソートで希望の結果が返されるように、文字本来の言語順序を反映する他のバイナリ値と文字を置き換えることによって動作します。

言語上の特殊ケース  言語上の特殊ケースとは、ソート時に1つの文字として扱う必要のある文字順序です。そのような特殊ケースは、言語ソートを使用すると自動的に処理されます。たとえば、スペイン語の言語ソート基準では、2文字のchとllは、cとdの間およびlとmの間にそれぞれ来るとき1つの文字としてソートされることが指定されます。

もう1つの例としてドイツ語のシャープs（ﾟ）があります。ドイツ語の言語ソート基準では、この順序が2文字のSSとしてソートされ、米語の言語ソート基準ではSZとしてソートされます。

このような特殊ケースは、大文字を小文字にまたは小文字を大文字に変換するときにも処理されます。たとえば、ドイツ語でシャープsの大文字は2文字のSSです。このような大/小文字変換の問題は、言語ソート基準によって定義された規則に従って、NLS_UPPER、NLS_LOWERおよびNLS_INITCAPの各関数によって処理されます。（標準関数のUPPER、LOWERおよびINITCAPではこれらの特殊ケースは処理されません。

NLSSORT関数  SQL関数NLSSORTを使用して、文字データをソートできます。この関数は、ソート機構で使用される同等のソート文字列によって文字列を置き換えます。バイナリ・ソートの場合、ソート文字列は入力文字列と同じです。言語ソートが使用されている場合、NLSSORTは元の文字列を置き換えるために使用されたバイナリ値を返します。


注意
ASCII標準では、すべての大文字は小文字の前に表示されます。EBCDIC標準ではそれとは反対に、すべての小文字は大文字の前に表示されます。


言語ソートの制約

  関連項目

言語ソートは、マルチバイト・キャラクタ・セットでサポートされていません。


WHERE句に含まれる文字列の比較

  例	  関連項目

WHERE句に含まれる文字列は、文字のバイナリ値を使用して比較されます。データベース・キャラクタ・セットにおいてより高いバイナリ値を持つ文字は、より低いバイナリ値を持つ文字より'大きい'と言えます。データベース・キャラクタ・セットにおいてより高いバイナリ値を持つ文字は、より低いバイナリ値を持つ文字より'大きい'と言えます。バイナリ値に基づく文字順序は、その言語のアルファベット順と一致しない場合があるため、アルファベット規則に従った比較はあまり行われません。バイナリ・ソートのかわりに言語ソートを実行するには、NLSSORT関数を使用します。


ORDER BY句の制御

  関連項目

言語ソートの順序が使用されている場合、NLSSORTはORDER BY句の各文字項目について暗黙的に使用されます。その結果、ORDER BYについて使用されるソート機構（言語またはバイナリ）は、アプリケーションにとって透明です。

ただし、ORDER BY項目の文字項目についてNLSSORT関数が明示的に指定された場合、暗黙的なNLSSORTは実行されません。つまり、NLSSORTの言語置換は1度のみ適用され、2度目からは適用されません。

デフォルトのソート機構が言語ソートの場合、NLSSORT関数は通常、ORDER BY句では必要ありません。ただし、デフォルトのソート機構がバイナリの場合、次のような問合せでバイナリ・ソートが使用されます。

SELECT ENAME FROM EMP

ORDER BY ENAME

は、バイナリ・ソートを使用します。言語ソートは（次の例に示すドイツ語の場合）、次の構文を使用して取得できます。

SELECT ENAME FROM EMP

ORDER BY NLSSORT(ENAME, 'NLS_SORT = GERMAN')


ALTER SESSIONの使用

  例	  関連項目

NLSデフォルトを上書きするには、ALTER SESSION SQLコマンドを使用できます。たとえば、一部のパラメータ（languageやterritoryなど）を作成し、ユーザーがその値を指定すると仮定します。すると、ユーザーが指定したとおりにセッションを変更できます。

注意  実行時に、サーバーは、NLS_LANGで指定された値に基づいてクライアントのためにALTER SESSIONコマンドを実行します。NLS_LANGが定義されていないと、ALTER SESSION文は実行されません。

Form Builderでは、ALTER SESSIONコマンドについて次のNLSパラメータを指定できます。ただし、Report BuilderとGraphics Builderの場合は、NLS_SORTパラメータしか指定できません。

パラメータ	説明
NLS_LANGUAGE	メッセージおよびエラーを返すためにサーバーによって使用される言語
NLS_TERRITORY	デフォルトの日付マスクおよび通貨マスク用の地域
NLS_DATE_FORMAT	日付用のデフォルト書式
NLS_DATE_LANGUAGE	日付用のデフォルト言語
NLS_NUMERIC_CHARACTERS	小数点記号および桁グループ・セパレータ
NLS_ISO_CURRENCY	ISO国際通貨記号
NLS_CURRENCY	各国通貨記号
NLS_SORT	文字ソート基準
NLS_CALENDAR	現行のカレンダー・システム

これらのパラメータの詳細は、『Oracle8 SQL リファレンス』マニュアルを参照してください。


SQL関数でのNLSパラメータの使用

  関連項目

SQLを使用する場合は常に、次のNLSパラメータを使用してデフォルトのNLS動作を上書きできます。

SQL関数	NLSパラメータ
TO_DATE	NLS_DATE_LANGUAGE NLS_CALENDAR
TO_NUMBER	NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY
TO_CHAR	NLS_DATE_LANGUAGE NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY NLS_CALENDAR
NLS_UPPER	NLS_SORT
NLS_LOWER	NLS_SORT
NLS_INITCAP	NLS_SORT
NLSSORT	NLS_SORT

これらのパラメータの詳細は、『Oracle8 SQLリファレンス』マニュアルを参照してください。


Form BuilderのNLSパラメータ

  関連項目

PL/SQLコードで使用されるNLS環境変数の現行値を取得するには、Form Builderのビルトイン関数を使用できます。

	DEVELOPER_NLS_LANG	USER_NLS_LANG
ビルトイン	GET_FORM_PROPERTY	GET_APPLICATION_PROPERTY
パラメータ	MODULE_NLS_LANG	USER_NLS_LANG

USER_NLS_LANGとDEVELOPER_NLS_LANGはどちらもNLS_LANGの値にデフォルトで設定されるため、どちらかの変数が設定されない場合、Form BuilderのNLSパラメータはNLS_LANGの値を持ちます。

Form BuilderのNLSパラメータはどちらも4つのバリエーションがあり、環境変数のすべてまたは特定部分のみを取り出せます。次の表に、USER_NLS_LANG環境変数を返すGET_APPLICATION_PROPERTYビルトインの4つのパラメータを示します。

パラメータ	戻り値
USER_NLS_LANG	すべてのUSER_NLS_LANG変数
USER_NLS_LANGUAGE	言語部分のみ
USER_NLS_TERRITORY	地域部分のみ
USER_NLS_CHARACTER_SET	キャラクタ・セット部分のみ

DEVELOPER_NLS_LANG環境変数を取り出すには、MODULE_NLS_LANGパラメータを使用してGET_FORM_PROPERTYをコールします。


プリンタ定義ファイルと各国語サポート

  関連項目

レポートを文字モードで使用する場合、レポートの物理ページ幅を、プリンタ定義ファイル（.PRTファイル)で定義されたページ幅より1文字分少なくして定義する必要があります。そのように定義しなかった場合、マルチバイト文字は行の最後の文字スペースから印刷され、すべてを印刷するために次の行に渡る場合があります。たとえば、物理ページ幅が80文字で、プリンタ定義の幅も80文字の場合、マルチバイト文字は80番目の文字から印刷される場合があります。マルチバイト文字は分割できないため、マルチバイト文字をすべて印刷するために81番目の文字を次の行に渡す必要があります。これを回避するため、物理ページ幅はレポートについて79に設定する必要があります。

次に示すアラビア語およびヘブライ語に固有のNLSパラメータは、プリンタ定義ファイルで設定できます。

使用するパラメータ	目的	パラメータの値
nls locale	印刷エンジンの地域を設定する。	hebrewまたはarabic
nls datastorageorder	論理データ格納または可視データ格納を設定する。	logicalまたはvisual
nls contextuallayout	アラビア語プリンタについて、事前の文脈依存レイアウトを実行する。	noまたはyes
nls contextualshaping	アラビア語プリンタについて、事前の文脈依存形状を実行する。	noまたはyes
nls pcharset	プリンタのキャラクタ・セットを指定する。	任意のキャラクタ・セット

プリンタ定義ファイルの詳細は、Report Builderのヘルプ・システムを参照してください。


アプリケーションの翻訳

  関連項目

すべてのエラー・メッセージとボイラープレート・テキストは、同じ言語で表記される必要があります。アプリケーションの実行時、エンド・ユーザーに対して表示されるメッセージまたはボイラープレート・テキストのソースには、次の3つがあります。

•	サーバーからのエラー・メッセージ

•	Forms Developerによって生成される実行時エラー・メッセージ

•	アプリケーションの一部として定義されるメッセージまたはボイラープレート・テキスト

OracleのNLSでは、最初の2つのソースの翻訳を処理します。アプリケーション開発者は、3つ目のソースであるメッセージおよびボイラープレート・テキストを翻訳する必要があります。

通常、翻訳する必要のあるアプリケーション固有のテキストには、次の2つのタイプがあります。

•	メニュー、ボイラープレート・テキスト、項目ラベル、メッセージおよびヒントなど、翻訳可能なテキスト

•	トリガー内で定義された警告およびメッセージを含む、トリガーおよびプロシージャ内の文字列

Translation Builderを使用することによって、ユーザー・インタフェース内の'翻訳可能テキスト'を、複数の言語に翻訳できます。Translation Builderを使用すると、各言語について個別のバイナリ・ファイルを生成することにより、ほとんどすべてのForms Developer多言語アプリケーションを翻訳できるようになります。

Translation Builderではユーザー・インタフェース内の文字列を検索および翻訳できますが、PL/SQLトリガーおよびプロシージャ内の文字列定数を取り出すことはできません。PL/SQLブロック内の定数テキストについては、手動で翻訳する必要があります。これは、テキストが明確に区切られておらず、多くの場合、変数や文字列から構築されているためです。

Translation Builderの詳細は、Translation Builderのヘルプ・システムを参照してください。


設計に関する考慮点

  関連項目

後で翻訳されるアプリケーションを設計する場合、ウィジェットおよびボイラープレート・ラベル用に、追加スペースを残しておくことに注意します。複数のキャラクタ・セットに対応し、翻訳によるスペースの拡張に対処するには、フィールド、境界線およびボイラープレート・テキストの周辺に、30パーセントの空白を残しておくことをお薦めします。

次に例を示します。

フィールド左側のプロンプト	拡張に備えてプロンプトの左側に30パーセントの余白を残す。
フィールドの上のプロンプト	拡張に備えてプロンプトの右側に30パーセントの余白を残す。
ボタン、チェックボックス、ラジオ・グループおよびポップリスト	30パーセントの拡張を考慮する。
タイトル	タイトルを右に30パーセント拡張できるように、バウンディング・ボックスをサイズ設定する。
表示のみのフィールド	基本言語で必要となるサイズより30パーセント広くサイズ設定する。
すべてのウィジェット	すべての翻訳が表示されるように、ウィジェットのサイズを十分に大きくする。たとえば、ボタンは翻訳されたラベルを表示できるだけの大きさが必要です。 使用する必要のある文字で最も高さのある文字が表示できるように、ボタンの長さだけでなく高さもチェックします。たとえば、漢字の表示に必要なピクセル数を計算します。


Translation Builderアプローチの使用

  関連項目

Translation Builderを使用すると、ほとんどすべてのForms Developer多言語アプリケーションを翻訳できます。アプリケーション側でエンド・ユーザーが実行時に言語を切り替える必要がない限り、Translation Builderを使用して、各言語について個別のバイナリ・ファイルを生成できます。

実行時に1つの言語から別の言語に変更する場合、ユーザーはアプリケーションを終了し、言語環境変数を変更します。次に、アプリケーションを再起動します。

Translation Builderアプローチでは、次の段階に従ってアプリケーションを開発します。

•	ソース言語で1つの基本的なアプリケーション定義を作成します（.FMBや.RDFなど）。

•	Translation Builderを使用して、翻訳する文字列を抽出します。次に、文字列を再度アプリケーション定義内に格納します。

•	PL/SQLライブラリの標準メッセージを手動で翻訳します。

•	Generatorを使用して、各ターゲット言語についてアプリケーションのバイナリ・バージョンを生成します。

メリット  上記の方法は、複数言語のアプリケーションを短時間でインプリメントする最も簡単な方法です。このアプローチを使用すると、最も効率よくTranslation Builderを使用できます。動作が安定しているアプリケーションであれば、このアプローチが最適です。

たとえば、4つの言語でアプリケーションを作成し、後でフィールド・ラベルのテキストを変更する必要が生じた場合は、Builder内で変更を行い、定義ファイルに変更を保存します。次に、Translation Builderを使用して新しいフィールド・ラベルを翻訳し、新しいメッセージを定義ファイルに挿入し、再生成して、新しいラベルを含んだバイナリ・ファイルを作成します。

デメリット  アプリケーションで複数の言語を同時にサポートする必要がある場合、かわりに実行時言語切替えアプローチを使用する必要があります。


実行時言語切替えアプローチの使用

  関連項目

アプリケーションの中には、複数の言語を同時にサポートする必要のあるものが少数ながらあります。たとえば、ウィンドウに英語を表示して起動するアプリケーションは終了するまでその状態である必要がありますが、エンド・ユーザーがそのウィンドウ内のボタンを押すことによってプロンプトをフランス語に切り替えたり、また英語に戻したりする場合があります。

アプリケーションで実行時の言語切替えが必要な場合、言語が同じキャラクタ・セットを共有する限り、複数の言語を組み込むことができますが、実行時にテキストを動的に生成している場合は、Translation Builderを使用して翻訳可能なテキストを特定することはできません。そのかわり、case構造（IF...THEN...ELSIF）を構築し、GET_FORM_PROPERTYを使用してNLS環境変数の値をチェックすることによって、アプリケーションの言語を別の言語に変更できます。

実行時言語切替えアプローチでは、次の段階に従ってアプリケーションを開発します。

•	ライブラリも含めて、アプリケーション全体を1つの言語について開発します。

•	各ライブラリを手動で翻訳します。

•	ボイラープレート・ラベルを、実行時に動的に生成される、適切にサイズ設定された表示項目として設計します。

Form Builderでは複数のライブラリを連結できるため、翻訳されるメッセージについて1つのライブラリを使用し、他のライブラリを他の用途に利用できます。

メリット  このアプローチの主なメリットは、フォームが高度に動的になる洗練されたアプリケーションをサポートできることです。フォームが高度に動的になるケースでは、フォームが変わるたびに各言語について個別のファイルを生成する必要がないため、このアプローチによってメンテナンスに関する一部の問題が回避されます。

デメリット  このアプローチは、他のアプローチより複雑です。言語に固有なメッセージの格納、生成およびそのためのメンテナンスを行ったり、手動で翻訳を実行したりするために非常に多くの作業が発生するためです。たとえば、各ボタンにラベルを設定するために、WHEN-NEW-FORM-INSTANCEトリガーを設定し、NLS環境変数の値に基づいて、連結ライブラリから正しいラベルを読み込みます。


コード内文字列についてのPL/SQLライブラリの使用

  例	  関連項目

Translation Builderでは標準のBuilderインタフェースの一部であるメッセージを翻訳できますが、プログラムによって表示されるメッセージでは特別な処理が必要です。PL/SQLライブラリを使用すると、メッセージについて柔軟なメッセージ構造をトリガーまたはプロシージャ内でインプリメントできます。

ビルトイン・ルーチンMESSAGEまたはCHANGE_ALERT_MESSAGEFを使用して画面にプログラムによって表示されるメッセージや、トリガーまたはプロシージャの表示項目にメッセージを割り当てることによって表示されるメッセージなど、アプリケーション固有のメッセージの場合、連結可能なPL/SQLライブラリを使用して、柔軟なメッセージ機能をインプリメントできます。ライブラリはホスト上に格納し、実行時に動的に連結できます。実行時には検索パスに基づいて、フォームに連結されたライブラリを読み込むことができます。（たとえば、ライブラリはイタリア語のメッセージのみを保有している場合があります。）


各国語サポートの例

  関連項目 	  すべての例

文字列比較の例

書式マスクの例

NLS_LANGの例

PL/SQLライブラリの例


ALTER SESSIONの例

  関連項目

次の文は、小数点記号をカンマに、桁グループ・セパレータをピリオドに変更します。

ALTER SESSION
   SET NLS_NUMERIC_CHARACTERS = ',.'

これらの新しい文字は、それらの数値書式要素DとGを使用すると返されます。

SELECT TO_CHAR(SUM(sal), 'L999G999D99') Total FROM emp

TOTAL
--------------
   FF29.025,00

次の文は、ISO通貨記号を、地域がアメリカの場合のISO通貨記号に変更します。

ALTER SESSION
   SET NLS_ISO_CURRENCY = America

アメリカについて定義されたISO通貨記号が使用されます。

SELECT TO_CHAR(SUM(sal), 'C999G999D99') Total FROM emp

TOTAL
---------------
   USD29.025,00

次の文は、各国通貨記号をDMに変更します。

ALTER SESSION
   NLS_CURRENCY = 'DM'

新しい各国通貨記号は、数値書式要素Lを使用すると返されます。

SELECT TO_CHAR(SUM(sal), 'L999G999D99') Total FROM emp

TOTAL
--------------
   DM29.025,00


文字列比較の例

  関連項目 	  すべての例

ISO 8859/1 8ビット・キャラクタ・セットでABC、ABZ、BCDおよびﾄBCの値を含む列（COL1）があると仮定します。また、次の問合せを作成したと仮定します。

SELECT COL1 FROM TAB1 WHERE COL1 > 'B'

ﾄはBよりも高い数値を持つため、この問合せではBCDとﾄBCが返されます。

次に示すとおり、WHERE句でNLSSORTを使用して、言語比較を実行できます。

WHERE NLSSORT(column) operator NLSSORT(string)

NLSSORTを比較演算子の両側で使用する必要があることに注意してください。

SELECT COL1 FROM TAB1 WHERE NLSSORT(COL1) > NLSSORT('B')

ドイツ語の言語ソートが使用されている場合、ドイツ語アルファベットでﾄはBの後に来るため、この問合せではﾄで始める文字列は返されません。スウェーデン語の言語ソートが使用されている場合、スウェーデン語アルファベットでﾄはZの後に来るため、ﾄで始める文字列が返されます。


書式マスクの例

  関連項目 	  すべての例

NLS準拠のアプリケーションの場合、月名を含む文字列はハードコードしないようにします。ただし、ハードコードされた月名が必要な場合は、COPYビルトインを使用しないようにします。COPYを使用すると、指定する言語によっては、月名が正しく設定されなくなる場合があります。（ライブラリで日付を指定するには、日付の変数を使用すると、COPYは正常に動作します。

言語に依存する例（お薦めできません）

:emp.hiredate := '30-DEC-96';

copy ('30-DEC-96','emp.hiredate');

上記の代わりに、次の例に示すTO_DATEを使用します。

言語に依存しない例（お薦めします）

:emp.hiredate := to_date('30-12-1996','DD-MM-YYYY');


NLS_LANGの例

  関連項目 	  すべての例

アプリケーションをフランス語で実行すると仮定します。アプリケーションはフランスで使用されますが、データはWE8ISO8895P1キャラクタ・セットを使用して表示されます。NLS_LANGを次のように設定する必要があります。

NLS_LANG=French_France.WE8ISO8895P1

ここで、アプリケーションはまだフランス語で実行するものの、今度はスイスで使用すると仮定します。NLS_LANGを次のように設定する必要があります。

NLS_LANG=French_Switzerland.WE8ISO8895P1

その他の例

NLS_LANG=Norwegian_Norway.NDK7DEC
NLS_LANG=Norwegian_Norway.WE8ISO8895P1
NLS_LANG=Japanese_Japan.JA16SJIS
NLS_LANG=Arabic_Egypt.AR8MSWIN1256
NLS_LANG=American_America.AR8MSWIN1256
NLS_LANG=American_America.WE8ISO8859P1


PL/SQLライブラリの例

  関連項目 	  すべての例

FUNCTION nls_appl_mesg(index_no NUMBER)

RETURN CHAR

IS

msg CHAR(80);

BEGIN

IF index_no = 1001 THEN

msg := 'L''impiegato che Voi cercate non esiste...';

ELSIF index_no = 1002 THEN

msg := 'Lo stipendio non puo essere minore di zero.';

ELSIF ...

   :

ELSE

msg := 'ERRORE:Indice messaggio inesistente.';

END IF;

RETURN msg;

END;

このようなルーチンは、一般的に文字式が有効な場所ではどこでも使用できます。たとえば、適切に翻訳されたアプリケーション・メッセージを使用して警告を表示するために、フォームに次のコードを組み込む場合があります。

Change_Alert_Message('My_Error_Alert', nls_appl_mesg(1001));

n := Show_Alert('My_Error_Alert');

アプリケーションを別の言語に変更するには、nls_appl_mesg関数を含むPL/SQLライブラリを、テキストの翻訳された、nls_appl_mesg関数を含む同名のライブラリに置き換えるのみです。

アプリケーションで複数の言語を同時にサポートする必要がある場合は、上記の関数で希望の言語を示す追加パラメータを受け入れることができ、コードにはさまざまな言語を処理するための追加レベルのIF...THEN...ELSIF...ELSE...ENDが組み込まれます。


ヘルプの項目がありません。オンライン･ヘルプのキーワードで関連項目を確認してください。


Oracle8オブジェクトの例

関連項目 	   すべての例

オブジェクト・タイプ

表タイプ

可変配列タイプ

列オブジェクト

オブジェクト表

オブジェクト・ビュー


Oracle8 Serverのサポート

  関連項目

Oracle8 Serverではさまざまな新機能を使用できます。一般に、機能は、次のようなカテゴリに分けられます。

•	拡張性の向上。たとえば、Oracle8データベースには数十TBのデータを格納できます。また、最大10000ユーザーの同時アクセスがサポートされています。表には、最大1000列を含めることができます。CHARデータ型とVARCHAR2データ型は、それぞれ最大2000バイトと4000バイトまで可能です。

•	パフォーマンスと効率の向上。これらのOracle8の機能を使用することによって必要となるユーザ操作はありません。Oracle8 Serverにデータを格納する速度と信頼性の利点が自動的に得られます。

•	ラージ・オブジェクト（LOB）

•	ユーザー定義オブジェクト

Oracle7の継続サポート

Oracle7 Serverの機能もサポートされています（リリース7.3.4以降）。


サポートされているOracle8データ型

  関連項目

このリリースでは、以下のOracle8データ型を引き続きサポートしています。

ラージ・オブジェクト（LOB）

Oracle8では、プログラマは、ラージ・オブジェクト（LOB）を定義できます。ラージ・オブジェクトには、テキスト、イメージ、サウンド、ビデオなどを格納できます。

このリリースでは、次のOracle8ラージ・オブジェクトのデータ型がサポートされています。

•	BLOB（バイナリ・ラージ・オブジェクト）

•	CLOB（シングルバイト・キャラクタ・ラージ・オブジェクト）

•	BFILE（バイナリ・ファイルまたは外部ファイル）

ユーザー定義のオブジェクト

Oracle8では、プログラマはオブジェクト・タイプ（ユーザー定義タイプとも呼ぶ）を定義できます。 オブジェクト・タイプは、Oracle8によってサポートされる既存の単一要素のデータ型に基づく複合要素です。これらのオブジェクト定義を使用して、プログラマは、さまざまな種類の表を作成できます。

現在サポートされているOracle8オブジェクトは、次のとおりです。

•	オブジェクト表。この場合、表全体が1つのオブジェクト・タイプに基づいています。

•	リレーショナル表内の列オブジェクト。この場合、列がオブジェクト・タイプに基づいています。

•	オブジェクト表またはリレーショナル表内のREF列。この場合、列の値が他のオブジェクト表内の行へのポインタとなっています。

新しいスカラー・データ型

このリリースでは、新しいOracle8 FLOATデータ型もサポートされています。このデータ型をそれ自身のNUMBERデータ型にマップします。


Oracle8ラージ・オブジェクト（LOB）について

バイナリ・ラージ・オブジェクト（BLOB）、キャラクタ・ラージ・オブジェクト（CLOBとNCLOB）およびバイナリ・ファイル（BFILE）などのOracle8ラージ・オブジェクト・データ型にアクセスできます。

Oracle8サーバーでは、これらのデータ型は、サイズが4GBまでのオブジェクトを格納できます。Oracle7のLONGデータ型およびLONG RAWデータ型の用途と似ていますが、さらにさまざまな利点が提供されます。

LOBとLONGの比較

LOB	LONG
4GBまで	2GBまで
1つの表につき複数のLOB列	1つの表につき1つのLONG列
レプリケーション可能	レプリケーションなし
ランダム・データ・アクセスが可能	シーケンシャル・アクセスのみ可能
優れた表領域管理（LOBロケータのみを格納）	LOBと比べて効率性に欠ける（表に直接データが格納される）
ユーザー定義のオブジェクト・タイプが使用可能	ユーザー定義のオブジェクト・タイプが使用不可能
プロシージャおよび外部コールに簡単に渡せる	プロシージャおよび外部コールに簡単に渡せない
LOBの詳細

BLOBは、ラージ・オブジェクトをバイナリ形式で格納するときに使用します。CLOBは、文字データを格納するときに使用します。これら2つのタイプは、データがサーバー内に格納されるため、内部LOBとも呼ばれます。データは、コミットとロールバックを含め、トランザクションおよび整合性制御で使用されます。

BFILEは対照的に、サーバーの外に格納されます。サーバーでは、ファイルのオペレーティング・システム・アドレスのみが格納されます。そのため、BFILEはデータベース・トランザクションでは使用できません。

互換性

LOBによってさまざまな利点が提供されるため（前述の表を参照）、任意の新しいアプリケーションでは、LONGではなくLOBを使用することをお薦めします。

ただし、下位互換性を保持するため、LONGも完全にサポートされています。

Forms型

Formでは、LOBは通常、その性質と使用法に基づいて、テキスト、イメージまたはサウンドのいずれかの制御タイプが指定されます。

制限

•	BFILEは読込み専用です。

•	FormsはBLOBの読取り時にBLOB全体をロードしようとしますが、実行時の使用可能仮想メモリ容量の制限を受けます。

•	CLOBの場合、Formsには65,534バイトの制限があります。


Oracle8のユーザー定義オブジェクトについて

  関連項目  [image]  例

Oracle8 Serverに対するサポートとして、このリリースではOracle8のユーザー定義オブジェクトにアクセスできます。ユーザー定義オブジェクトには、オブジェクト表、リレーショナル表の列オブジェクトおよびREF列と呼ばれる特殊な列オブジェクトが含まれます。

オブジェクト表

Oracle8では、オブジェクト表はユーザーのオブジェクト・タイプ定義に基づいています。この定義はそれ自体が複合要素であり、その属性またはコンポーネントがそれぞれ、一般的なOracle8ビルトイン・データ型に基づいています。（オブジェクト・タイプ定義は、他のオブジェクト・タイプ定義に基づかせることができますが、定義は最終的に一般的なOracle8ビルトイン・データ型に依存しています。）

このため、オブジェクト表内の各列は、リレーショナル表の列を扱う場合と同様に個々のデータ項目として扱われます。

リレーショナル表の列オブジェクト

データベース・プログラマは、リレーショナル表の列をオブジェクト・タイプ定義に基づかせることもできます。これには、複合オブジェクトをリレーショナル表に埋め込む効果があります。

埋め込まれた列オブジェクトは複合部分に拡張され、それぞれの部分自体は列として扱われます。

たとえば、Oracle8 Serverに3列のリレーショナル表があり、そのいずれかの列が列オブジェクトで、その列オブジェクトが、4つの部分または属性を持つオブジェクト定義に基づいている場合、その表が6列の表として扱われます（リレーショナル表の列が2つとオブジェクトを構成する列が4つ）。

列オブジェクト定義の個々の属性のいずれかが別のオブジェクト・タイプに基づいている場合は、その部分がさらに拡張され、一連の個別の列として扱われます。

REF列

オブジェクト表またはリレーショナル表のいずれかの列をREF型を持つように定義することができます。REF列はデータを直接保持するのではなく、実際のデータを保持する別のオブジェクト表へのポインタ（参照）を持ちます。

参照は実行時に解決されるため、ユーザーは参照される実際のデータを見ることができます。


Oracle8のユーザー定義オブジェクト: 例

  関連項目

Oracle8 Server内でオブジェクトを作成するには、データベース・プログラマはまずオブジェクト・タイプを定義し、次にそのタイプ定義に基づいて特定のオブジェクトを作成します。作成されるオブジェクトは、オブジェクト表またはリレーショナル表内の列オブジェクトになります。

例

次の定義について考えてみます。最初の定義ではオブジェクト・タイプが作成されます。2番目の定義ではそのタイプの表が作成されます。

CREATE TYPE  emp_type  AS OBJECT

(name     CHAR(30),

title    CHAR(20),

idnum    NUMBER);

CREATE TABLE  emp  OF emp_type;

前述の例では、empという名前のオブジェクト表を作成します。この表には3つの列があり、これらの列は、emp_typeオブジェクト・タイプ定義で確立された名前とデータ型を持ちます。

次は、リレーショナル表内の列オブジェクトの例です。

CREATE TYPE  address_type  AS OBJECT

(street    VARCHAR2(40),

city      VARCHAR2(25),

state     VARCHAR2(2)

zip       NUMBER);

CREATE TABLE  customers

(cust_id  NUMBER,

name     VARCHAR(40),

address  address_type);

この例では、customersという名前のリレーショナル表を作成します。表には3つの列があります。最初の2つの列（cust_idとname）は、通常の関係列です。3つ目の列（address）は、列オブジェクトです。これは、address_typeという名前のオブジェクト・タイプ定義に基づいて作成されます。このaddress列は、オブジェクト定義によって確立された構造とデータ型を持ちます。address列は、4つの部分またはコンポーネント（street、city、stateおよびzip）を持っていると考えることができます。これらの各コンポーネントは、address_typeオブジェクト・タイプ定義で確立されたデータ型を持ちます。（この場合、NUMBER型のzipを除くすべてのコンポーネントはVARCHAR2型です）。

次の例では、3つの列で構成されるリレーショナル表の3番目の列は、それ自体が3つの部分またはコンポーネントを持つオブジェクト・タイプに基づいています。

Oracle8オブジェクトは、部分またはコンポーネントによって作成される複合であることに注意してください。それぞれの部分は、名前および一般的なOracle8データ型を持ちます。オブジェクトが表の場合（実際はオブジェクト表の行）、オブジェクト・タイプ定義内の属性と同じ数の列または部分を持ちます。リレーショナル表の列がオブジェクトに基づいている場合、各オブジェクトの部分は、その表の追加列であると考えることができます。それぞれの部分がオブジェクト・タイプ定義内の属性に基づいているため、これらの部分は属性列と呼ばれることもあります。

Developerにおけるオブジェクトの扱い

オブジェクト表は、リレーショナル表と非常に似た方法で扱われます。それぞれの列は個別に選択できます。すべての列を選択できますが、それぞれの列はアプリケーション内で別々の項目として扱われます。表自体は、環境内のオブジェクトなどの特定の個別性は持ちません。

同様にリレーショナル表の列オブジェクトは、単一の、同類性を持つエンティティとして扱われません。その代わりに、列オブジェクトの各コンポーネントを、個別の、独立したデータ項目として扱います。列オブジェクトの各コンポーネントは選択できます。選択されると、それぞれが独立したデータ項目として扱われます。列オブジェクトのすべてのコンポーネントを選択した場合でも、列オブジェクト自体は、開発環境内のオブジェクトとしての特定の個別性は持ちません。

オブジェクトから選択されたデータ項目には、ColumnObjectName_ItemNameというデフォルト名が付けられます。したがって、前述の例で、addressという名前の列オブジェクトからzipという名前のコンポーネントを選択すると、そのデータ項目はアプリケーション内でaddress_zipという名前が付けられます。


Oracle8のREFについて

  関連項目

REFは、Oracle8の新しいデータ型です。REFによって、他のオブジェクト表にあるデータへのポインタとしての列オブジェクトが確立されます。REF列自体はデータを保有しません。

次に例を示します。

CREATE TYPE  dept_type  AS OBJECT

(deptname     VARCHAR2(24),

deptnumber   NUMBER);

CREATE TABLE  dept_table OF dept_type;

CREATE TABLE  emp

(empname    VARCHAR2(50),

empnumber  NUMBER,

empdept    REF  dept_type);

empという名前のリレーショナル表では、列empdeptはREF列です。これは、タイプdept_typeのオブジェクトを参照します。

タイプと表

REF列を定義すると、特定のオブジェクト表ではなく、オブジェクト・タイプが識別されます。データベースには、単一のオブジェクト・タイプ定義に基づくオブジェクト表が複数含まれる場合があります。このため、REF列の定義自体によって、ターゲット表は識別されません。

ポインタ変換

REF列を含む表を初期化すると、REF列に配置されている値は、希望のデータを持つ特定の表に含まれる行へのポインタになります。実行時には、REF列に参照先のデータ（ポインタではない）が表示されます。

Developerにおける設計時のREFの表示方法

設計時にREF列を含む表の表示を求めると、REF列が拡張された形態で表示されます。つまり、元のREF定義によって参照されるオブジェクト・タイプ内の属性が表示されます。

この例の場合、empdeptが2つのコンポーネントまたは属性列、deptnameとdeptnumberを保有するREF列として表示されます。これらは、REF定義内で識別されたオブジェクト・タイプ（dept_type）内の2つの属性でした。

通常の列オブジェクトと同じように、参照先となるコンポーネントまたは属性の一部またはすべてを選択して、アプリケーション内のデータ項目にすることができます。ただし、通常の列オブジェクトとは対照的に、REF名自体を選択して、アプリケーション内で操作可能な項目にすることもできます。つまり、PL/SQLコード作成でREFを使用することができます。デフォルトで、REFはNULLキャンバスの一部になります。

ユーザーに対するREFの表示方法

アプリケーション設計者は、実行時ユーザーに対する参照先データ（変換されたREF）の表示方法を選択できます。

•	REFがあるデータ・ブロック内のデータを表示（参照方式と呼ばれることもある）

•	REFによって参照されるデータ・ブロック内のデータを表示（マスター/ディテール方式）

最初の方法（REFがあるデータ・ブロックの一部としてデータを表示）は最も単純です。データ・ブロック内に含める項目として目的のREFコンポーネントを選択し、実行時にDeveloperおよびOracle8によって参照が変換され、参照先の実際のデータが表示項目内に配置されます。ユーザーは1つのブロックを見るだけで済みます。

もう1つの方法（参照先データ・ブロックのデータを表示）では、マスター/ディテール・リンクを設定する必要があります。これは、主キー/外部キー・リレーションを持つ2つのブロックについてマスター/ディテール・リンクを設定することと似ています。この場合は、REFによって2つのブロック間にリンクが作成されます。ユーザーには両方のブロックが表示されますが、REFデータは参照先ブロック内にしか表示されません。

Form Builderのデータ・ブロック・ウィザードを使用して、このマスター/ディテール・リレーションを設定できます。


Oracle8オブジェクトのアイコン

オブジェクト・ナビゲータとウィザードでは、アクセスしているOracle8データの型がアイコンによって表示されます。アイコンとその意味は次のとおりです。

             通常の表

             オブジェクト・タイプ

             オブジェクト・ビュー

             オブジェクト表

             ネストしたオブジェクト

             ネストした表

             参照オブジェクト

             可変配列

             メソッド

             不明の型

             サーバー側のスタック・モード

             サーバー側のプログラム単位

             ファイル

             DATEデータ型

             NUMBERデータ型

             CHARACTERデータ型

             RAWデータ型

            BLOBデータ型

             BFILEデータ型

             CLOBデータ型

             rowid

             MLSラベル


Oracle8の拡張性とパフォーマンス

Oracle8 Serverによって、さまざまな点で拡張性およびパフォーマンスの向上が実現します。これらの利点の多くは、自動的に提供されます。

たとえば、Oracle8の次の特性を利用できます。

•	より大きなサイズへの対応。データベース自体のサイズ、同時ユーザーの数および表列の制限数（現行では1000列まで）がすべて増加しました。

•	表と索引のパーティション化

•	クライアント側のオブジェクト・キャッシング

また、パフォーマンスを向上させるOracle8のその他のさまざまな機能を直接利用できます。

•	プリフェッチ。Formsでは、Oracle8のこの機能を使用して（既存の配列サイズ機能と併用）、データベースのラウンドトリップ回数およびメモリ使用量を削減します。プリフェッチ機能は、ユーザーが操作しなくても自動的に実行されます。

•	戻り値句。Formsでは、挿入および更新を行うときに、この新しいDML機能を使用します。戻り値句によって2回目のデータベース問合せ（データに対するサーバー側トリガーの変更を取得する）が不要になるため、処理時間が短縮されます。ユーザーは「DMLの戻り値」プロパティを使用して、この機能を制御できます。

•	ビュー更新用のINSTEAD-OFトリガー。このサーバー側トリガーによって、リレーション・ビューとオブジェクト・ビューを更新する機能が提供されます。 これらのビューは、これ以外の方法では更新できません。


PL/SQL 8のサポート

  関連項目

このリリースでは、クライアントとサーバーでPL/SQL 8を使用します。クライアント側のプログラム単位は、現在Oracle8のオブジェクト関連機能をサポートしていません。ただし、ストアド・プログラム単位は、新しいPL/SQL 8機能をすべて使用できます。

『PL/SQLユーザーズ・ガイドおよびリファレンス、リリース8』マニュアルの付録Aでは、PL/SQL 8の新機能について説明しています。このマニュアルはオンラインで利用できます。「ヘルプ」 -> 「マニュアル」を選択して、オンライン・マニュアルの下のリファレンス・マニュアルに移動します。


PL/SQLの以前のリリースとの互換性

PL/SQL 1またはPL/SQL 2を使用して書かれたクライアント側のプログラム単位は、コードを新しいレベルに変換する必要があります。アップグレードを自動化できるように、PL/SQL 1変換ユーティリティが提供されています。

以前のリリースを使用して作成されたストアド・プログラム単位は、データベース・サーバー上のPL/SQL 8エンジンに対して実行できますが、コンパイル・エラーが発生する場合があります。これらのエラーは、PL/SQL 8とPL/SQL 2との間で構文の互換性がない場合に発生します。 PL/SQL 8の互換性フラグを使用することによってPL/SQL 2との互換性モードを選択できるため、PL/SQL 8エンジンでは、サーバーでPL/SQL 2コードをコンパイルするときに、このようなエラーは発生しません。『Oracle8 Server移行ガイド』の第6章では、この互換性フラグによってサポートされる状況について説明しています。


サポートされていないOracle8機能

  関連項目

このリリース全体では、一部のOracle8機能がサポートされていません。サポートされていない主な機能は次のとおりです。

•	コレクション・タイプ（ネストした表と可変配列）

•	オブジェクト値を返すストアド・プロシージャ

•	スカラー・データ型のNCHARとNVARCHAR2

このリリースではPL/SQL 8をサポートしていますが、クライアント側のPL/SQL 8は一部のOracle8 Serverの機能をまだサポートしていないことに注意してください。（サーバー側のPL/SQL 8ではOracle8 Serverのすべての機能をサポートしています。）


オブジェクト・ナビゲータのOracle8オブジェクト・サポート

オブジェクト・ナビゲータのOracle8機能を利用すると、オブジェクトのデータ型にアクセスし、Oracle8データに対するプログラムをより簡単に行うことができます。追加されたOracle8オブジェクト・サポートを使用すると、ユーザー定義データ型を階層形式で表示したり、ユーザー定義データ型に関連付けられた表、ビュー、列、トリガー、属性、メソッドの検索や表示を行うことができます。

「データベース・オブジェクト」ノードには、現在接続中のデータベース内でアクセス可能なスキーマとそのオブジェクトが含まれます。Oracle8データベースに接続している場合は、使用可能なユーザー定義データ型が（その属性およびメソッドと一緒に）各スキーマ内の「タイプ」ノードに表示されます。ユーザー定義データ型に関連付けられた表、ビュー、列およびトリガーは、「表」ノードと「ビュー」ノードに表示されます。

特に、オブジェクト・ナビゲータのOracle8機能を使用すると、次の項目を表示および検索できます。

•	「表」ノードのオブジェクト表と列オブジェクト

•	「ビュー」ノードのオブジェクト・ビュー

•	「ビュー」ノードのビュー用のInstead Ofトリガー

•	「タイプ」ノードのオブジェクト・タイプ、表タイプおよび可変配列タイプ

•	「タイプ」ノードのオブジェクト・タイプの属性とメソッド

オブジェクト・ナビゲータでは、リレーション・オブジェクトとOracle8オブジェクトを区別するために、アイコンが使用されます。たとえば、通常のリレーショナル表とオブジェクト表、および通常のビューとオブジェクト・ビューは、別々のアイコンで表されます。

Oracle8ユーザー定義データ型の詳細は、Oracle8のマニュアルを参照してください。

関連項目

オブジェクト・タイプ・ノード

表タイプ・ノード

可変配列タイプ・ノード

列オブジェクト・ノード

オブジェクト表ノード

オブジェクト・ビュー・ノード

すべて拡張

Oracle8オブジェクトのアイコン


オブジェクト・タイプ・ノード

  例	  関連項目

オブジェクト・タイプは、オブジェクト・ナビゲータの「タイプ」ノード内に表示されます。オブジェクト・タイプ・ノードは、SQL文のCREATE TYPE AS OBJECTで作成されたタイプを表します。オブジェクト・タイプはオブジェクト・ナビゲータに次のように表示されます。

object-type-name ( Object Type [ * ] & Body [ * ] )

CREATE TYPE AS OBJECT文がデータベースに発行されると、「オブジェクト・タイプ」ラベルが表示されます。タイプ仕様が無効か、またはタイプが不完全な場合は、アスタリスク（ * ）が表示されます。不完全なタイプは、タイプを再帰的に定義するためのプレースホルダになります。

CREATE TYPE BODY文を使用してタイプ本体が作成されると、「オブジェクト本体」ラベルが表示されます。タイプ本体が無効な場合は、アスタリスク（ * ）が表示されます。

オブジェクト･タイプとオブジェクト本体の両方が正常に作成されると、ラベルは「オブジェクト・タイプおよび本体」と表示されます。

オブジェクト・タイプ・ノードは複合ノードで、「属性」と「メソッド」の2つのサブノードを持ちます。オブジェクト・タイプ・ノードを拡張できるのは、有効なタイプ仕様が存在する場合のみです。

オブジェクト・タイプの属性は、「属性」サブノードの下のノードとして表されます。

オブジェクト・タイプのメソッドは、「メソッド」サブノードの下のノードとして表されます。メソッドは、プロシージャとファンクションとして表示されます。メソッドのラベルはオブジェクト・ナビゲータに次のように表示されます。

method-name (Procedure)

および

method-name (Function)

オブジェクト・タイプにマップ・メソッドまたはオーダー・メソッドが指定されている場合、メソッドのラベルは次のように表示されます。

method-name (Map Function)

または

method-name (Order Function)

注意: メソッドの引数リストは表示されません。


オブジェクト・タイプ・ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・タイプemp_typを作成します。

CREATE TYPE emp_typ AS OBJECT
  (ename VARCHAR2(30), esalary NUMBER(5,2),
  MEMBER PROCEDURE raise(amount NUMBER),
  MEMBER FUNCTION get_salary RETURN NUMBER,
  MAP MEMBER FUNCTION compare RETURN NUMBER);

emp_typのサブツリーは次のとおりです。


表タイプ・ノード

  例	  関連項目

表タイプは、オブジェクト・ナビゲータの「タイプ」ノード内に表示されます。表タイプ・ノードは、SQL文のCREATE TYPE AS TABLEで作成されたタイプを表します。表タイプはオブジェクト・ナビゲータに次のように表示されます。

table-type-name (TABLE OF table-subtype-name)

サブタイプがビルトイン・タイプの場合、表タイプ・ノードは拡張できません。サブタイプがオブジェクト・タイプまたは参照オブジェクトの場合は、オブジェクトの属性がサブノードとして表示されます。


表タイプ・ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・タイプemp_typおよび表タイプemp_tblを作成します。

CREATE TYPE emp_typ AS OBJECT
  (ename VARCHAR2(30), esalary NUMBER(5,2),
  MEMBER PROCEDURE raise(amount NUMBER),
  MEMBER FUNCTION get_salary RETURN NUMBER,
  MAP MEMBER FUNCTION compare RETURN NUMBER);

CREATE TYPE emp_tbl AS TABLE OF emp_typ;

emp_tblのサブツリーは次のとおりです。


可変配列タイプ・ノード

  例	  関連項目

可変配列タイプは、オブジェクト・ナビゲータの「タイプ」ノード内に表示されます。可変配列タイプ・ノードは、SQL文のCREATE TYPE AS VARYING ARRAYで作成されたタイプを表します。可変配列タイプはオブジェクト・ナビゲータに次のように表示されます。

varying-array-type-name (VARRAY (size) varying-array-subtype-name)

サブタイプがビルトイン・タイプの場合、可変配列タイプ・ノードは拡張できません。サブタイプがオブジェクト・タイプまたは参照オブジェクトの場合は、オブジェクトの属性がサブノードとして表示されます。


可変配列タイプ・ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・タイプemp_typおよび可変配列タイプemp_aryを作成します。

CREATE TYPE emp_typ AS OBJECT
  (ename VARCHAR2(30), esalary NUMBER(5,2),
  MEMBER PROCEDURE raise(amount NUMBER),
  MEMBER FUNCTION get_salary RETURN NUMBER,
  MAP MEMBER FUNCTION compare RETURN NUMBER);

CREATE TYPE emp_ary AS VARRAY(7) OF emp_typ;

emp_aryのサブツリーは次のとおりです。


列オブジェクト・ノード

  例	  関連項目

列オブジェクトは、「列」ノード内のノードとして表示されます。各オブジェクトには、名前およびカッコで囲まれたタイプのラベルが付きます。列オブジェクト・ノードは複合ノードで、タイプの属性がサブノードとして表示されます。

列オブジェクトのサブタイプには、ネスト・オブジェクト・タイプ、表タイプ、可変配列タイプおよび参照オブジェクト・タイプの4種類があります。オブジェクト・ナビゲータでは、列オブジェクトに次のようなラベルが付きます。

column-name (nested-object-type)

column-name (table-type-name:TABLE OF table-subtype-name)

column-name (varying-array-type-name:VARRAY(size) OF varying-array-subtype-name)

column-name (REF reference-type-name)


列オブジェクト・ノードの例

  関連項目 	   すべての例

次の例では、表emp_tabのemp_col列が、タイプemp_typのネスト・オブジェクトになります。

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TABLE emp_tab (emp_col emp_typ, dept VARCHAR2(2));

emp_tabのサブツリーは次のとおりです。

次の例では、表dept_tabのemps列が、サブタイプemp_tblのネスト表になります。ネスト表には、タイプemp_typの行が含まれます。

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TYPE emp_tbl AS TABLE OF emp_typ;
CREATE TABLE dept_tab (dname VARCHAR2(20), emps emp_tbl)
  NESTED TABLE emps STORE AS emps_tab;

dept_tabのサブツリーは次のとおりです。

次の例では、表dept_tab_aryのemps列が、サブタイプemp_aryの可変配列になります。可変配列には、タイプemp_typの行が含まれます。

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TYPE emp_ary AS VARRAY(7) OF emp_typ;
CREATE TABLE dept_tab_ary (dname VARCHAR2(20), emps emp_ary);

dept_tab_aryのサブツリーは次のとおりです。

次の例では、表dept_refのmanager列が、タイプemp_typの参照オブジェクトになります。

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TABLE dept_ref (dname VARCHAR2(20), manager REF emp_typ);

dept_refのサブツリーは次のとおりです。


オブジェクト表ノード

  例	  関連項目

オブジェクト表は、オブジェクト・ナビゲータの「表」ノード内に表示されます。オブジェクト表ノードは、SQL文のCREATE TABLE OFで作成された表を表します。オブジェクト・ナビゲータでは、オブジェクト表ノードに次のようなラベルが付きます。

object-table-name (object-type-name)

各オブジェクト表ノードには、「トリガー」と「列」の2つのサブノードがあります。「トリガー」サブノードには、オブジェクト表に関連付けられたすべてのトリガーが含まれます。これらのトリガーは、通常のリレーショナル表に関連付けられたトリガーと同じように表示されます。「列」ノードには、オブジェクト表に関連付けられたすべての関係列と列オブジェクトが含まれます。各列には、名前およびカッコで囲まれたタイプのラベルが付きます。


オブジェクト表ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・タイプperson_typおよびオブジェクト表person_tabを作成します。

CREATE TYPE person_typ AS OBJECT
  (name VARCHAR2(30), address VARCHAR2(60));

CREATE TABLE person_tab OF person_typ;

person_tabのサブツリーは次のとおりです。


オブジェクト・ビュー・ノード

  例	  関連項目

オブジェクト・ビューは、オブジェクト・ナビゲータの「ビュー」ノード内に表示されます。オブジェクト・ビュー・ノードは、OF object_type句を使用して作成されたビューを表します。オブジェクト・ビュー・ノードには、名前およびカッコで囲まれたタイプのラベルが付きます。オブジェクトの属性は表示されません。

各オブジェクト・ビュー・ノードには、「トリガー」と「列」の2つのサブノードがあります。「トリガー」サブノードには、Instead Ofトリガーを含む、オブジェクト・ビューに関連付けられたすべてのトリガーが含まれます。Instead Ofトリガーがビューに関連付けられている場合、ラベルは次のように表示されます。

trigger-name (INSTEAD OF trigger-statements)


オブジェクト・ビュー・ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・ビューを作成します。

CREATE TYPE emps_typ AS OBJECT (ename VARCHAR2(30), esalary number(5,2), deptno NUMBER(2));
CREATE TABLE emps (ename VARCHAR2(30), esalary number(5,2), deptno NUMBER(2));
CREATE VIEW dev_emps OF emps_typ
  WITH OBJECT OID (ename)
  AS SELECT ename, esalary, deptno FROM emps WHERE deptno = 10;

オブジェクト・ビューdev_empsのサブツリーは次のとおりです。


すべてのOracle8オブジェクト・ノードの拡張

  関連項目

オブジェクト・ナビゲータで「すべて拡張」を実行しても、Oracle8データ型と属性の各ノードは再帰的に拡張されません。

たとえば、タイプemp_typのmanagerという属性が、別のタイプemp_typの派生項目として表示されている場合、「すべて拡張」を実行してもmanager属性は拡張されません。


項目を配置するためのレイアウト・ウィザードの使用

レイアウト・ウィザードを使用して項目配置を行うには:

1	オブジェクト・ナビゲータで、目的のブロックをクリックします。

2	「ツール」 [image] 「レイアウト・ウィザード」を選択し、項目を配置する過程を案内するウィザードを起動します。


オブジェクトの選択

オブジェクトを選択するには:

1	レイアウト・エディタで、ツール・パレットの「選択」ツールを選択します。

2	選択するオブジェクトをクリックします。


領域内のオブジェクトの選択

領域内のオブジェクトを選択するには:

1	レイアウト・エディタで、ツール・パレットの「選択」ツールを選択します。

2	クリックして、そのままドラッグしながら、選択用の四角い枠で選択するオブジェクトを囲みます。


現在の選択へのオブジェクトの追加

現在の選択にオブジェクトを追加するには:

1	レイアウト・エディタで、ツール・パレットの「選択」ツールを選択します。

2	[Ctrl]キーを押しながら、追加するオブジェクトをクリックします。


すべてのオブジェクトの選択

作業空間内のすべてのオブジェクトを選択するには:

1	「編集」 [image] 「すべて選択」を選択します。


オブジェクトの選択解除

オブジェクトを選択解除するには:

1	オブジェクトの境界ボックスの外の任意の場所をクリックします。

注意: 複数の選択内で1つのオブジェクトを選択解除するには、[Shift]を押しながらそのオブジェクトをクリックします。


オブジェクトの移動

  関連項目

オブジェクトを移動するには:

1	レイアウト・エディタで、ツール・パレットの「選択」ツールを選択します。

2	移動する場合はオブジェクトをクリックして、移動先の位置にドラッグします。

注意: 1度に複数のオブジェクトを移動するには、まず移動するオブジェクトをすべて選択し、次にそのうちの1つをクリックしドラッグすると、選択されたすべてのオブジェクトが移動します。


選択オブジェクトを少しずつ移動

  関連項目

選択を少しずつ移動するには:

1	レイアウト・エディタで、移動する場合はオブジェクトを選択します。

2	矢印キー（[↑]、[↓]、[←]、[→]）を押します。

注意: 格子指定がオフになっていると、矢印キーは現在の選択を1度に1ピクセルずつ、指定された方向に動かします。格子指定がオンになっていると、現在選択されているオブジェクトを矢印キーの方向に1スナップ・ポイント分のみを移動します。「定規設定」ダイアログでスナップ・ポイントの増分値を定義するには、「書式」 [image] 「レイアウト・オプション」 [image] 「定規」を選択します。


移動の制約

  関連項目

条件付の移動をするには:

1	レイアウト・エディタで、選択されたオブジェクトをドラッグしている間に、[Constrain]（ほとんどのプラットフォームでは、[Shift]）を押します。


オブジェクトのサイズ変更

  関連項目

オブジェクトのサイズを変更するには:

1	レイアウト・エディタで、対象となるオブジェクトをクリックします。

2	選択ハンドルの1つをドラッグし、オブジェクトのサイズを変更します。


オブジェクトのサイズの同一化

オブジェクトを同じサイズにするには:

1	レイアウト・エディタで、グループ化する場合はオブジェクトを選択します。

2	「配置」 [image] 「オブジェクト・サイズ設定」を選択します。

3	ダイアログで、選択したオブジェクトの高さまたは幅（あるいはその両方）を、その中の最小サイズ、最大サイズ、または全選択オブジェクトの平均サイズのいずれと同じにするかを指定します。特定の幅または高さの値を入力する場合は、「カスタム」を選択します。

4	サイズ・パラメータを確定するには、「OK」をクリックします。


オブジェクトの整列

オブジェクトを整列させるには:

1	レイアウト・エディタで、対象となるオブジェクトをクリックします。

2	「配置」 [image] 「オブジェクト整列」を選択します。

3	ダイアログで、選択したオブジェクトの整列のしかたを指定します。単ーオブジェクトは、格子に沿って整列できます。複数選択されたオブジェクトは、格子に沿って、あるいはオブジェクト同士を基準にして整列できます。水平または垂直（あるいはその両方）の整列オプションを指定することもできます。

4	設定を確定するには「OK」をクリックします。

注意: 一度「オブジェクト整列」ダイアログ内で整列の設定を定義すると、これらの設定を2つまたはそれ以上のオブジェクトに適用できます。その場合、最初に整列させるオブジェクトを選択し、次に「配置」 [image] 「整列繰返し」を選択します。


オブジェクトの中央揃え

オブジェクトを中央揃えするには:

「表示」 [image] 「キャンバス表示」メニュー・オプションが有効のときは、キャンバス自体が選択可能なオブジェクトです。次の手順で、オブジェクトをキャンバスの中央に揃えることができます。

1	レイアウト・エディタで、対象となるオブジェクトをクリックします。

2	「配置」 [image] 「オブジェクト整列」を選択します。

3	「水平」と「垂直」の両方を「中央」に設定します。


オブジェクトのグループ化について

  関連項目

複数のオブジェクトを選択し、グループを作成できます。グループは、単ーオブジェクトとして操作できます。たとえば、いくつかのオブジェクトをグループ化して、グループ内のオブジェクトの相対的な位置を変えずに、グループ全体を1つの単位として移動できます。


オブジェクトのグループ化

  関連項目

オブジェクトをグループ化するには:

1	レイアウト・エディタで、グループ化する場合はオブジェクトを選択します。

2	「配置」 [image] 「グループ化」を選択します。

新しいグループが自動的に選択され、そのグループを1つのオブジェクトと同じように操作できるようになります。グループを解除するには、グループを選択し、「配置」 [image] 「グループ解除」を選択します。

グループまたはグループ内の個々のオブジェクトを選択して操作できます。たとえば、グループを移動するには、「選択」ツールをグループ内のいずれかのオブジェクトの上に置き、クリックして移動先にドラッグします。グループのサイズを変更するには、「選択」ツールを使用してグループの選択ハンドルの1つをドラッグします。


オブジェクトの再グループ化

オブジェクトを再グループ化するには:

1	レイアウト・エディタで、対象となるオブジェクトを選択します。

2	「配置」 [image] 「グループ設定」 [image] 「グループに追加」を選択します。

新しいグループが自動的に選択され、そのグループを1つのオブジェクトと同じように操作できるようになります。グループを解除するには、グループを選択し、「配置」 [image] 「グループ解除」を選択します。


オブジェクトのオーバーラップについて

  関連項目

オブジェクトの四角い枠が部分的に重なるように、オブジェクトを配置できます。別のオブジェクトの前面にあるオブジェクトは、部分的にまたは完全に背面のオブジェクトを隠します。

Form Builderでは、項目と図形オブジェクトの積上げ順序を個別に管理します。項目と図形オブジェクトが重なった場合、作成順序に関係なく、項目は図形オブジェクトの前面に配置されます。2つの図形オブジェクトが重なった場合、作成順序の新しい方が、もうー方のオブジェクトの前面に配置されます。


オーバーラップしたオブジェクトの配列

  関連項目

オーバーラップするグラフィック・オブジェクトの配列を変更するには:

1	レイアウト・エディタで、配列を変えたいオブジェクトをクリックします。

2	ツールバーの「最前面へ移動」または「最背面へ移動」ボタンをクリックします。


枠について

  関連項目

枠は、キャンバスに表示される図形オブジェクトです。枠は、項目をブロック内で配置するために使用します。

枠内で項目を配置すると、フォーム・スタイルの配置の作成や、項目とプロンプト間の間隔の定義、マージンとオフセットの指定などが行えます。

枠の使用には、次のような利点があります。

•	枠は、プロパティをもつオブジェクトです。

枠をブロックに対応付けると、ブロック内の項目は自動的に枠内に配置されます。

•	各枠を、1つのブロックに対応付けることができます。

•	視覚的な基準を設定するために、枠をサブクラス化またはオブジェクト・ライブラリに組み込むことができます。

枠をオブジェクト・ライブラリに格納することで、基準をプロジェクトまたは組織内で設定するメソッドを提供します。異なるタイプのブロックに対して、一連の「スタイル・シート」を作成できます（たとえば、シングル・レコード、多重レコード、マスター・ディテール）。オブジェクト・ライブラリに格納されている枠を再利用するには、再利用する枠をキャンバスにドラッグし、レイアウト・ウィザードを実行して既存のブロックをその枠内に配置します。

•	枠は、オブジェクト・ナビゲータ、レイアウト・エディタおよびプロパティ・パレットで操作できます。

•	枠は、可視属性または不可視属性のいずれにも設定できます。

枠が可視属性の場合、凹凸の四角形として表示されます。枠の内容は、フレームの境界線の中に現れます。

•	レイアウト・ウィザードでは、枠を使用して項目を配置します。


枠内部での項目の配置について

  関連項目

フォーム内で項目を配置するには、同じ作業を繰り返す必要があります。

最初は、レイアウト・ウィザードを使用してブロック内に項目を配置します。その後で、個々の枠プロパティを設定して、配置を微調整します。最終的には、レイアウト・エディタ内でレイアウトを手動で変更することもできます。

使用上の注意

•	ブロックが枠内で配置されるように指定すると、Form Builderでは、NULLキャンバスに表示される項目以外の各項目は枠内で配置されます。

•	デフォルトでは、枠の位置の指定やサイズ変更など、枠プロパティが変更されるたびに、枠レイアウトは更新されます。

枠をサイズ変更または再配置すると、Form Builderでは、枠内のオブジェクトを自動的に新しい位置に、あるいは新しいサイズに基づいて配置します。枠は、コンテナ・オブジェクトではなく、レイアウトが実行される領域を定義するものなので、注意してください。

•	レイアウト・エディタでオブジェクトをドラッグすることによって、枠内のオブジェクトを手動で配置するには、枠の「レイアウトを更新」プロパティを「ロック」に設定しなければなりません。手動による変更（ドラッグ）は失われることがあるので、レイアウトが比較的安定するまで行わないでください。

•	枠のサイズを変更する場合、枠のシュリンクラップ・プロパティを「NO」に設定する必要があります。デフォルトでは、Form Builderが枠内部のスペースを削除します。

•	枠内にすでに配置されているブロックに項目を追加する場合、その枠内に新しい項目を配置するためにレイアウトを更新する必要があります。

•	枠から（レイアウト・ウィザードを介して）項目を削除する場合、Form Builderは、その項目のキャンバス・プロパティを「NULL」に設定します。

制限

•	1つの枠は、1つのブロックのみ対応付けできます。枠には、その枠に対応付けられているブロックの項目のみを含めることができます。1つの枠に複数のブロックの項目を含めることはできません。


枠の作成

  次へ  [image]  関連項目

枠を作成するには:

順を追って枠を作成する過程をガイドするウィザードを表示するには、「ツール」 [image] 「レイアウト・ウィザード」を選択します。

または

1	レイアウト・エディタで、ツール・パレットの「枠」ボタンを選択します。

2	クリックして、ドラッグしながら枠を作ります。


枠内部での項目の配置

  関連項目

枠内部で項目を配置するには:

順を追って枠内部の項目を配置する過程をガイドするウィザードを起動するには、オブジェクト・ナビゲータの中で希望するブロックをクリックし、次に「ツール」 [image] 「レイアウト・ウィザード」を選択します。

または

1	レイアウト・エディタで、枠オブジェクトをダブルクリックして「プロパティ・パレット」を表示します。

2	「レイアウト枠」ノードの下で、「レイアウト・データ・ブロック」プロパティを希望するブロックの名前に設定します。このブロックが枠内に配置されます。


枠内部の表配置の作成

 「ヒント」  [image]  関連項目

枠内部で表配置を作成するには:

順を追って過程をガイドするウィザードを表示するには、「ツール」 [image] 「レイアウト・ウィザード」を選択します。

または

1	レイアウト・エディタで、希望する枠をダブルクリックして「プロパティ・パレット」を表示します。

2	「レイアウト枠」ノードの下で、「レイアウト・スタイル」プロパティを「単表」に設定します。


枠内部のフォーム・スタイル配置の作成

 「ヒント」	    関連項目

枠内部で表配置を作成するには:

順を追って過程をガイドするウィザードを表示するには、「ツール」 [image] 「レイアウト・ウィザード」を選択します。

または

1	レイアウト・エディタで、希望する枠をダブルクリックして「プロパティ・パレット」を表示します。

2	「レイアウト枠」ノードの下で、「レイアウト・スタイル」プロパティを「フォーム」に設定します。


項目の枠への追加

  関連項目

枠へオブジェクトを追加するには:

枠へ項目を追加する過程を順を追ってガイドするウィザードを表示するには、「ツール」 [image] 「レイアウト・ウィザード」を選択します。

または

1	レイアウト・エディタで、項目を作成します。

2	「ブロック」フィールドからブロックを選択することで、新規作成項目がどのブロックに所属するのかを指定します。「ブロック」フィールドは、レイアウト・エディタの上部にあります。ドロップダウン・リスト・ボックスをクリックすると、すべてのブロックのリストが表示されます。

3	項目をダブルクリックして「プロパティ・パレット」を表示します。

4	「表示」ノードの下で、「キャンバス」プロパティを適切なキャンバスに設定します。

ヒント： 指定するキャンバスは、ブロックの他の項目が表示されるキャンバスである必要があります。たとえば、ブロック1の項目がCANVAS1上に表示される場合、新規に作成される項目の「キャンバス」プロパティを「CANVAS1」に設定する必要があります。

5	レイアウト・エディタで、枠をクリックします。

6	ツールバーの「レイアウト更新」ボタンをクリックします。


項目の枠からの削除

  関連項目

枠から項目を削除するには:

枠から項目を削除する過程をガイドするウィザードを表示するには、「ツール」 [image] 「レイアウト・ウィザード」を選択します。

または

1	レイアウト・エディタで、希望する項目をダブルクリックして「プロパティ・パレット」を表示します。

2	「表示」ノードの下で、「キャンバス」プロパティを「NULL」に設定します。


枠レイアウトの更新

  関連項目

枠のレイアウトを更新するには:

1	レイアウト・エディタで、枠をクリックします。

2	ツールバーの「レイアウト更新」ボタンをクリックします。


枠の移動

  関連項目

枠を移動するには:

レイアウト・エディタで、枠をクリックして移動先の位置へドラッグします。

注意: 枠を移動するとき、枠の「レイアウト更新」プロパティが「自動」（デフォルト）に設定されている場合には、Form Builderが枠のレイアウトを新しい位置に自動的に再作成します。


枠のサイズ変更

  関連項目

枠のサイズを変更するには:

1	レイアウト・エディタで、希望する枠をダブルクリックして「プロパティ・パレット」を表示します。

2	レイアウト枠で、シュリンクラップ・プロパティを「NO」に設定します。

3	レイアウト・エディタで、枠の選択ハンドルの1つをドラッグして、枠のサイズを変更します。

枠のサイズを変更するとき、枠の「レイアウト更新」プロパティが「自動」（デフォルト）に設定されている場合には、Form Builderが新しいサイズに基づいた枠のレイアウトを自動的に再作成します。


枠の削除

  関連項目

枠を削除するには:

1	レイアウト・エディタで、枠を選択します。

2	「編集」 [image] 「消去」を選択します。


枠内部での項目の移動

  関連項目

枠内部で項目を移動するには

1	レイアウト・エディタで、項目をクリックして移動先の位置へドラッグします。

ヒント： 枠内部でのレイアウトを項目を新しい位置にドラッグすることできれいにしている場合、枠の「レイアウト更新」プロパティを「ロック」に設定する必要があります。そうしない場合、今回行った変更は、枠のレイアウトが次回更新される際に失われます。


枠内部の項目のサイズ変更

枠の内部で、項目のサイズを変更するには

枠内部で項目のサイズを変更する過程をガイドするウィザードを表示するためには、「ツール」 [image] 「レイアウト・ウィザード」を選択します。

または

1	レイアウト・エディタで、希望する項目をクリックします。

2	選択ハンドルの1つをドラッグし、オブジェクトのサイズを変更します。


枠内部の項目の整列

 表示する	    関連項目

枠内部で項目を整列させるには

1	レイアウト・エディタで、希望する枠をダブルクリックして「プロパティ・パレット」を表示します。

2	「レイアウト枠」ノードにおいて、

•	「レイアウト・スタイル」プロパティを「フォーム」に設定します。

•	「枠整列」プロパティを、「始点」、「終点」、「中央揃え」、「塗り」または「列」のいずれかに設定します。


枠内部のシングル項目の整列

  関連項目

枠内部でシングル項目を整列させるには:

1	レイアウト・エディタで、希望する枠をダブルクリックして「プロパティ・パレット」を表示します。

2	「レイアウト枠」ノードの下で、「単一オブジェクト整列」プロパティを「始点」、「終点」または「中央揃え」に設定します。


枠とその項目との距離の定義

 「ヒント」

枠とその項目との間の距離を定義するには:

1	レイアウト・エディタで、希望する枠をダブルクリックして「プロパティ・パレット」を表示します。

2	「レイアウト枠」ノードにおいて、

•	「水平マージン」プロパティを、希望する間隔に設定します。

•	「垂直方向のマージン」プロパティを、希望する間隔に設定します。


水平マージンと垂直方向のマージンのヒント


枠内部の項目間の距離の定義

 ヒント

枠内部での項目間の距離を定義するには:

1	レイアウト・エディタで、希望する枠をダブルクリックして「プロパティ・パレット」を表示します。

2	「レイアウト枠」ノードにおいて、

•	「水平オブジェクト・オフセット」プロパティを希望する間隔に設定します。

•	「垂直方向のオブジェクト・オフセット」プロパティを希望する間隔に設定します。


水平オブジェクト・オフセットと垂直方向のオブジェクト・オフセットのヒント


枠内部のプロンプトの整列

 「ヒント」

プロンプトをその項目と整列させるには:

1	レイアウト・エディタで、希望する枠をダブルクリックして「プロパティ・パレット」を表示します。

2	「レイアウト枠」ノードにおいて、

•	「開始プロンプト整列」プロパティを「始点」、「終点」または「中央揃え」のいずれかに設定します。

または

•	「上プロンプト整列」プロパティを「始点」、「終点」または「中央揃え」のいずれかに設定します。


「開始プロンプト文字揃え」と「上プロンプト文字揃え」のヒント

「開始プロンプト整列」プロパティ

「開始プロンプト整列」プロパティ


枠内部のプロンプト・オフセットの定義

 「ヒント」

枠内部でのプロンプト・オフセットを定義するには :

1	レイアウト・エディタで、希望する枠をダブルクリックして「プロパティ・パレット」を表示します。

2	「レイアウト枠」ノードにおいて、

•	プロンプトが項目の開始位置に付いている場合、「開始プロンプトのオフセット」プロパティを希望する間隔に設定します。

または

•	プロンプトが項目の一番上に付加されている場合、「上プロンプトのオフセット」プロパティを希望する間隔に設定します。


「開始プロンプト･オフセット」と「上プロンプト・オフセット」のヒント

「開始プロンプトのオフセット」プロパティ

「開始プロンプトのオフセット」プロパティ


プロンプトについて

  関連項目

プロンプトは、項目とともに表示され、項目に関連するテキスト・ラベルです。各インタフェース制御に、プロンプトを1つ対応付けることができます。たとえば、チェックボックスの横には、テキスト・ラベルつまりプロンプトが表示されます。

プロンプトが、そのプロンプトの図形テキスト（テキスト・ボックス項目など）と異なる場合、プロンプトは項目に直接リンクされます。たとえば、レイアウト・エディタで項目を移動すると、Form Builderでは、その項目とプロンプトがともに新しい位置に再配置されます。

Form Builderでは、プロンプトの配置と管理や、プロンプトの表示形状の指定を行うためのプロパティがいくつか提供されています。


項目とプロンプトの対応付け

  関連項目

項目とプロンプトを対応付けるには:

1	レイアウト・エディタで、1つの項目と1つのテキスト・オブジェクトを選択します。

2	レイアウト・エディタ・ツールバーで、[プロンプト関連付け]ボタンをクリックします。

「プロパティ・パレット」で、「プロンプト」ノードの下にある「プロンプト」プロパティ・フィールドに、対応付けられたテキスト・ラベルが表示されます。


プロンプトの作成

  関連項目

プロンプトを作成するには:

1	レイアウト・エディタで、希望する項目をダブルクリックして「プロパティ・パレット」を表示します。

2	「プロンプト」ノードの下で、「プロンプト」プロパティに、希望するテキスト・ラベルをタイプします。


プロンプトの表示スタイルの定義

  関連項目

プロンプトの表示スタイルを定義するには:

1	レイアウト・エディタで、希望するプロンプトをダブルクリックして「プロパティ・パレット」を表示します。

2	「プロンプト」ノードの下で、「プロンプト表示スタイル」プロパティを「隠し」、「最初のレコード」または「全レコード」に設定します。


プロンプトの両端揃え

  関連項目

プロンプトの両端を揃えるには:

1	レイアウト・エディタで、希望するプロンプトをダブルクリックして「プロパティ・パレット」を表示します。

2	「プロンプト」ノードの下で、「プロンプトの文字位置」プロパティを「左揃え」、「右揃え」、「中央揃え」、「始点」または「終点」に設定します。


プロンプト・アタッチメントの境界線の定義

  関連項目

プロンプト・アタッチメントの境界を定義するには:

1	レイアウト・エディタで、希望するプロンプトをダブルクリックして「プロパティ・パレット」を表示します。

2	「プロンプト」ノードの下で、「プロンプト連結枠」プロパティを「始点」、「終点」、「上」または「下」に設定します。


プロンプトとその項目との整列

  関連項目

プロンプトと、その項目との文字揃えを定義するには:

1	レイアウト・エディタで、希望するプロンプトをダブルクリックして「プロパティ・パレット」を表示します。

2	「プロンプト」ノードの下で、「プロンプト整列」プロパティを「始点」、「終点」または「中央揃え」に設定します。


プロンプトとその項目との距離の定義

  関連項目

プロンプトとその項目との距離を定義するには:

1	レイアウト・エディタで、希望するプロンプトをダブルクリックして「プロパティ・パレット」を表示します。

2	「プロンプト」ノードの下で、「プロンプト連結オフセット」を希望する距離に設定します。


プロンプトの文字揃えオフセットの定義

  関連項目

プロンプトの文字揃えオフセットを定義するには:

1	レイアウト・エディタで、希望するプロンプトをダブルクリックして「プロパティ・パレット」を表示します。

2	「プロンプト」ノードの下で、「プロンプト整列オフセット」プロパティを希望する距離に設定します。


レイアウト・エディタ内の項目のフォーマットについて

レイアウト・エディタで、項目のフォント、カラーおよびパターン属性を設定すると、Form Builderでは「プロパティ・パレット」の適切な項目プロパティが更新されます。

項目は、ランタイム・プラットフォームに適するスタイルになるので、項目属性によっては事前定義されレイアウト・エディタで設定できないものもあります。次に例をあげます。

•	項目を透明にできません。塗りカラー・パレットの「塗りなし」オプションは、図形オブジェクトまたはテキストに対してのみ有効です。テキスト項目または表示項目に、テキストのみを表示させたい場合、「凹凸」プロパティを「なし」に設定して、その項目の「塗りカラー」をキャンバスと同じにします。

•	項目に対して線幅は指定できません。「書式」 [image] 「線幅」メニュー・コマンドは、グラフィック・オブジェクト/テキストに対してのみ有効です。項目の境界線を制御するために、「凹凸」プロパティを設定します。

•	「線カラー」カラー・パレットは、図形オブジェクトまたはテキストに対してのみ有効です。

•	項目に対して凹凸設定を指定できません。「書式」 [image] 「凹凸」メニュー・コマンドはグラフィック・オブジェクト/テキストに対してのみ有効です。

レイアウト・エディタ内で項目をフォーマットするときは、Form Builderが項目の「可視属性グループ」プロパティを明示的にカスタム可視属性グループに設定します。項目が、名前付き可視属性から可視属性を継承している場合、レイアウト・エディタでプロパティを設定すると、項目の名前付き可視属性との対応付けが壊れます。項目がプロパティ・クラスから可視属性を継承している場合は、レイアウト・エディタで属性を設定すると、継承された設定はオーバーライドされます。


カラー・パレットについて

レイアウト・エディタでは、デフォルトのカラー選択が使用可能です。「プロパティ・パレット」は、現行のカラー・パレットから導出されます。カラー・パレットは、編集したり、ファイル・システムまたはデータベースに保存したり、インポートできます。

デフォルト・カラー・パレットには、次の特性があります。

1	パレットの左上側の領域には、共通して使用される16カラーがあります。そのカラー名は、black（黒）、white（白）、green（緑）、darkgreen（濃い緑）、gray（グレー）、darkgray（濃いグレー）、cyan（シアン）、darkcyan（濃いシアン）、red（赤）、darkred（濃い赤）、blue（青）、darkblue（濃い青）、yellow（イエロー）、darkyellow（濃いイエロー）、magenta（マゼンタ）、dark magenta（濃いマゼンタ）です。

2	パレットの左下側には、カスタム定義のを設定できる8つの空のセルがあります。

3	隣の4つの列は、さまざまな階調から構成されます。各カラーは、パーセント・グレー値に応じて、「グレー<value>」と名付けられています。値は、4から96の範囲で「4の倍数」を持ちます。たとえば、「グレー96」、「グレー92」または「グレー4」などが有効なカラー名に含まれます。

4	パレットの残りの部分には、さまざまな割合の赤、緑、青（RGB）のコンポーネントによって指定されたカラーが含まれます。

•	赤または緑の各コンポーネントの割合値は、0、25、50、75、88または100です。

•	各ブルー・コンポーネントの割合値は、0、50、75、88または100です。

•	各カラーは、そのRGB値に従って、「r<value>g<value>b<value>」と言う名前を付けられます。（たとえば、100%の赤、88%の青、そして0%の緑から構成されるカラーは、「r100b88g0」という名前になります。

•	前述のカラー・セル以外に、パレットは5つの主な領域で構成されます。各領域には、6x6の配列で36色が含まれます。これらの色は、次の規則によって定義されます。

•	赤の値は、色がそれぞれの主要領域内で左から右にいくにしたがって大きくなっていきます。

•	緑の値は、それぞれの主要領域内でカラーが上から下にいくにしたがって、大きくなります。

•	青の値は、主要領域の左から右へいくにしたがって、大きくなり、単ー領域内のすべてのカラーで同じ青の値が使用されます。


オブジェクトのカラー属性の設定

  関連項目

オブジェクトのカラー属性を設定するには:

1	レイアウト・エディタで、対象となるオブジェクトをクリックします。

2	レイアウト・エディタ・ツールバーで、 [image] （塗りカラー・ツール）、 [image] （線カラー・ツール）または [image] （文字色ツール）をクリックして、「カラー」ダイアログ・ボックスを表示します。

3	パレットの色をクリックします。

4	「OK」をクリックします。

注意: Microsoft Windows上で、ボタン・テキストのカラーは常に、「パネル･カラー制御」設定ダイアログで指定された設定によって決定され、レイアウト・エディタ内で指定することはできません。


オブジェクトのパターン属性の設定

  関連項目

オブジェクトのパターン属性を設定するには:

1	レイアウト・エディタで、希望するオブジェクトをダブルクリックして、「プロパティ・パレット」を表示します。

2	「カラー」ノードの下で、「塗りパターン」プロパティをダブルクリックして、塗りパターン・パレットを表示します。

3	パレットからパターンを選択します。


オブジェクトのフォント属性の設定

  関連項目

オブジェクトのフォント属性を設定するには:

1	オブジェクト・ナビゲータで、希望するオブジェクトのアイコンをダブルクリックして、「プロパティ・パレット」を表示します。

2	「フォント」ノードの下で、次のプロパティを設定します。

•	フォント名

•	フォント・サイズ

•	フォントの太さ

•	フォント・スタイル

•	フォント間隔


階層ツリーについて

  関連項目

階層ツリーによって、Forms Developerで使用されるナビゲータに似た、標準ナビゲータの形式でデータが表示されます。

階層ツリーには、レコード・グループや問合せテキストに含まれる値を移入できます。実行時には、プログラムを使用して、階層ツリー内の要素を追加、削除、変更または評価できます。

一度に表示できるデータの量は、ビルトインを使用する場合も、ユーザーがノードをクリックする場合も、個々のデータ・ノードの拡張数によって異なります。通常、データ・セットは最初にFrom Builderによって指定され、実行時に変更または置換される場合があります。


階層ツリーの作成

 例	  関連項目

階層ツリーを作成するには:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しい項目の横にあるオブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

5	「一般」ノードの下で、「項目タイプ」プロパティを「階層ツリー」に設定します。

6	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、その項目をキャンバスに割り当てる必要があります。


階層ツリーへのデータの追加

 例	  関連項目

ツリーにデータを追加するには:

•	Populate_Treeビルトインを使用して、レコード・グループや問合せに含まれている値をツリーに移入します。

•	Add_Tree_Dataビルトインを使用して、特定のノードの下のツリーにデータを追加します。

•	ビルトイン・サブプログラムを使用して、実行時にツリーの要素を変更します。

•	ノードの下で、ノードとデータ要素を追加または削除します。

注意: すべてのビルトインは、FTREEビルトイン・パッケージにあります。


階層ツリーへのノードの追加

 例	  関連項目

階層ツリーには、ノードを一度に1つ、またはレコード・グループや問合せに含まれている値をツリーに移入することにより、ノードを追加できます。

次のビルトイン・サブプログラムを使用すると、ツリーに値を追加できます。

•	Add_Tree_Node

•	Delete_Tree_Node

•	Find_Tree_Node

•	Get_Tree_Node_Parent

•	Get_Tree_Node_Property

•	Get_Tree_Property

•	Get_Tree_Selection

•	Set_Tree_Node_Property

•	Set_Tree _Property

•	Set_Tree_Selection

注意: ツリーの偽のルートを参照する必要がある場合は、定数FTREE.ROOT_NODEを使用します。すべてのビルトインは、FTREEビルトイン・パッケージにあります。


階層ツリーの初期値の指定

  関連項目

階層ツリーの初期値を指定するには:

1	オブジェクト・ナビゲータで、希望する階層ツリー・オブジェクトの横にあるオブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

2	「機能」ノードの下で、初期値を含むレコード・グループまたは問合せテキストを指定します。

注意: これらは初期値の標識ですが、Populate_Treeビルトインを使用してツリーに値を移入しない限り、何も表示されません。


 階層ツリーに移入するために使用するデータの書式

  関連項目

階層ツリーに移入するために使用するレコード・グループまたは問合せの列は次のとおりです。

•	初期状態

•	ノード・ツリーの深度

•	ノードのラベル

•	ノードのアイコン

•	データ

たとえば、下の表のデータによって、次の階層ツリーが作成されます。

+  - Car

-  - Airplane

| - Boeing

| - Boeing

初期状態	深度	ラベル	アイコン	データ
-1	1	'Car'	''	'car'
0	2	'Honda'	''	'civic'
1	1	'Airplane'	''	'plane'
0	2	'Boeing'	''	'747'
0	2	'Boeing'	''	'757'


実行時における階層ツリーの操作

  関連項目

Form Builderでは、イベントに応答する際に使用できる、次のトリガーが提供されています。このイベントは、エンド・ユーザーが実行時に階層ツリーを対話操作するときに発生します。

•	When-Tree-Node-Activated

•	When-Tree-Node-Expanded

•	When-Tree-Node-Selected

次のビルトイン・サブプログラムを使用すると、実行時にプログラムによって階層ツリー内の要素を追加、削除、変更または評価できます。

•	Add_Tree_Data

•	Add_Tree_Node

•	Delete_Tree_Node

•	Find_Tree_Node

•	Get_Tree_Node_Parent

•	Get_Tree_Selection

•	Populate_Group From_Tree

•	Populate_Tree

•	Set_Tree_Selection

注意: すべてのビルトインは、FTREEビルトイン・パッケージにあります。


階層ツリー項目プロパティの設定

  関連項目

Form Builderで階層ツリー項目のプロパティを設定するには:

1	オブジェクト・ナビゲータで、希望する階層ツリーの横にあるオブジェクト・アイコンをダブルクリックします。

2	「プロパティ・パレット」で、設定する場合はプロパティを選択します。

3	選択したプロパティに必要な値を設定します。

次のビルトインを使用すると、実行時にプロパティを設定できます。

•	Get_Tree_Node_Property

•	Get_Tree_Property

•	Set_Tree_Node_Property

•	Set_Tree _Property

注意: すべてのビルトインは、FTREEビルトイン・パッケージにあります。


階層ツリーへのデータの移入

  関連項目

次のビルトイン・サブプログラムを使用することにより、レコード・グループまたは問合せテキストに含まれる値を、階層ツリーに移入できます。

•	Populate_Tree

•	Add_Tree_Data

注意: すべてのビルトインは、FTREEビルトイン・パッケージにあります。


階層ツリーの作成例

-- 階層ツリーの例

--

-- 通常、最初のアクションにより階層ツリー（htree）にデータが移入される。

DECLARE

htree         ITEM;

BEGIN

-- ツリー自体を見つける。

htree := Find_Item('tree_block.htree3');

-- レコード・グループを設定し、データが表示されるようにする。

Ftree.Set_Tree_Property(htree, Ftree.RECORD_GROUP, 'record_group5');

END;

-- ツリー・ノード拡張の例

--

-- 次のコードにより、ツリーのすべてのノードが拡張される。

DECLARE

htree         ITEM;

BEGIN

-- ツリー自体を見つける。

htree := Find_Item('tree_block.htree3');

-- ツリーのルート・ノードを見つける。

node  := Ftree.Find_Tree_Node(htree, '');

-- すべてのノードをループし、拡張されていないノードを拡張する。

WHILE NOT Ftree.ID_NULL(node) LOOP

state := Ftree.Get_Tree_Node_Property(htree, node, Ftree.NODE_STATE);

IF state = Ftree.COLLAPSED_NODE THEN

Ftree.Set_Tree_Node_Property(htree, node, Ftree.NODE_STATE, Ftree.EXPANDED_NODE);

END IF;

node := Ftree.Find_Tree_Node(htree, '', search_root => node);

END LOOP;

END;

-- ツリー・ノード削除の例

--

-- 次のコードにより、選択されているすべてのツリー・ノードが削除される。See the

-- Ftree.Set_Tree_Selection built-in for a definition of "selected".

DECLARE

htree         ITEM;

num_selected  NUMBER;

BEGIN

-- ツリー自体を見つける。

htree := Find_Item('tree_block.htree3');

-- 選択されているノードの数を取得する。

num_selected := Ftree.Get_Tree_Property(htree, Ftree.SELECTION_COUNT);

-- ノードをループし、削除する。ノードは削除されると最初に番号が付け直されるため

-- 後ろから始めへという逆の順番でループすることを確認する。

FOR j IN num_selected..1 LOOP

Ftree.Delete_Tree_Node(htree, Ftree.Get_Tree_Selection(htree, j));

END LOOP;

END;


ActiveXおよびOLE

  関連項目

オブジェクトのリンク&埋込み（OLE）は、個々のアプリケーションが結びついて一つの複合ドキュメントを形成できるように導入されたものです。複合ドキュメントは、単一のドキュメントで異なるオブジェクト型を統合するするために1つ以上のドキュメントをリンクまたは埋め込んでいます。たとえば、複合ドキュメントは、他のアプリケーションからのオブジェクトを含んでいるフォーム・モジュール・ドキュメントたとえばワード・プロセッサ・ドキュメントまたはスプレッドシート・ドキュメントとすることができます。

複合ドキュメントの解決策を拡大適用して、より広い範囲の共用サービスを扱うために､コンポーネント・オブジェクト・モデル（COM）がOLE2として導入されました｡OLE2ではOLEオートメーションが可能になり、標準プログラム・インタフェースを含むCOMベースの技術が使用できます。たとえば、Microsoft Excelはエンドユーザーのアプリケーションのみではなくツールボックスとすることもできます。OLEはCOMに基づく大部分の技術において同じ意味になりました。

今日、ActiveXはCOMべースの技術の用語としてOLEのかわりに使用されています。繰り返しますが、OLEは複合ドキュメントにおけるオブジェクトのリンクと埋込みを意味します。

元はOLEコントロールまたはOCXと呼ばれたActiveXコントロールでは、ActiveXおよびOLEの両技術が利用されます。ActiveXコントロールはユーザー・インタフェースを提供し、イベントをクライアントに送信するスタンドアロンのソフトウェア・コンポーネントです。すべては、COMによって定義されている規格に従っています。ActiveXコントロールはOLEクライアント機能を備えているアプリケーションに完全に埋め込まれているOLEサーバー・アプリケーションです。


Form BuilderのActiveXおよびOLE

  関連項目

ユーザーが希望するほとんどすべての機能を提供する 1つのモノリシック・アプリケーションのかわりに、コンポーネント・オブジェクトおよび優れた統合は、ユーザーのすべてのニーズを満たす軽やかなカスタム・アプリケーションを提供します。

ユーザーによる形式を持つ機能を高めることのできるコンポーネント・オブジェクトの例として、ワード・プロセッサ・ドキュメント、スプレッドシート・ドキュメント、ノブ・コントロールおよびビデオ・クリップが挙げられます。すでに存在する機能性を作り直すかわりに、Form BuilderのActiveXおよびOLEのサポートを活用すればそれらの機能にアクセスできます。コンポーネント・オブジェクトは､Form Builderで使用できない特殊なサービスを提供します。コンポーネント・オブジェクトは、クライアントのアプリケーションを強化し、独立した追加機能を提供するのに使用されます。


Form BuilderでのActiveXサポート

  関連項目

Form BuilderはActiveXコントロールをサポートします。ActiveXコントロールは、ユーザーのForm Builderアプリケーションに埋め込むことのできる再使用可能なコンポーネントです。Form Builderは、ActiveXコントロール・コンテナとして機能します。

ActiveXコントロールの項目タイプは、ユーザーのActiveXコントロール用のコンテナを作成します。ActiveXコントロールは個別のアプリケーションではありません。それはActiveXコンテナにプラグインされるサーバーです。

ActiveXコントロールは、「単一レコード」ブロック・プロパティを「はい」に設定した状態でブロックで使用することをお薦めします（単一レコード・プロパティは複数のレコード・ブロックには適用できません）。なぜなら、単一レコードはFormsランタイムが起動されるとすぐに初期化されるからです。複数のレコードの場合、各レコードはユーザーがそのレコードにナビゲートするまで初期化されません。初期化されていない場合、ActiveXコントロールの項目は空であり、ActiveXコントロールはいっさい使用できないという印象を与えます。

各ActiveXコントロールは、プロパティ、方式およびイベントのセットを表示します。プロパティはActiveXコントロールの物理的な属性と論理的な属性を定義し、方式はActiveXコントロールが実行できるアクションを定義し、イベントはActiveXコントロールのステータスの変化を示します。クライアントのアプリケーションは、ActiveXのプロパティに値を書き込んだり、ActiveXプロパティから値を読み出したり、またプロパティを得たり設定したりするのに使用する方式をコールしたり､さらにはイベントに基づいて中断したり動作したりする等の操作をActiveXコントロールに施します。

ActiveXコントロールは、特殊なタイプの動的ライブラリです。拡張子.OCXで配布される単一ActiveXファイルは2クラス以上のActiveXオブジェクトを含むことができます。

ActiveXコントロールは多様なVBXではありません。VBXコントロールは16ビットのアプリケーションにおいてのみ機能します。つまり、32ビットの環境下では機能しません｡　ActiveXコントロールは32ビットの環境におけるVBXコントロールに類似している機能性を提供します。

ユーザーが自分自身のActiveXコントロールまたはOLEサーバーを開発するには多大の努力を必要とします。したがって、サード・パーティのベンダーが開発し、配布しているActiveXコントロールおよびOLEサーバーを使用することをお薦めします。ActiveXコントロールおよびOLEサーバーに添付されているドキュメンテーションには、プロパティ、方式およびイベントに関する情報が含まれています。


フォームへのActiveXコントロールの追加について

  関連項目

ActiveXコントロールは、単一レコード・ブロックにのみ追加することをお薦めします。ActiveXコントロールが単一レコード・ブロック内にあるときには、Form BuilderによってActiveXコントロールが自動的に初期化されます。複数レコード・ブロックにActiveXコントロールを追加すると、起動時にはActiveXコントロールの最初のインスタンスのみが初期化され、その他のインスタンスは、ユーザーがそれらのインスタンスにアクセスするまで初期化されないまま残ります。初期化されていないコントロールは空白で表示されるため、それらの項目インスタンスに対しては使用可能なコントロールがないように見えます。単一レコード・ブロックを作成するには、「表示レコード数」ブロック・プロパティを1に設定するか、（ActiveXコントロール・コンテナに対する）「表示項目数」プロパティを1に設定します。

ActiveXコントロールは、メソッドとイベントを開示するインタフェースをエクスポートします。Form BuilderはそのメソッドとイベントをPL/SQLにインポートし、ユーザーがネイティブのForm Builder環境でActiveXコントロールと対話することを可能にします。

Form Builderは、インポートされたメソッドをオブジェクト・ナビゲータの「プログラム・ユニット」ノードの下に表示します。STANDARDおよびOLE2の各ビルトイン・パッケージを使用することにより、アプリケーションからこれらのOLEメソッドにアクセスできます。


ユーザーのアプリケーションにActiveXコントロールを追加

  関連項目

ユーザーのアプリケーションにActiveXコントロールを追加:

1	ActiveXコントロール・コンテナの作成

2	ActiveXコントロールを挿入

3	希望するActiveXコントロールの方式とイベントをインポート

4	ActiveXコントロールと対話するために該当するPL/SQLコードを書き込みます。

•	プロパティ・アクセッサをコール

•	メソッドをコール

•	イベントに応答


ActiveXコントロール・コンテナを作成

  次のステップ	  関連項目

ActiveXコントロール・コンテナを作成するには:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

4	新しく作成された項目の横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

5	「一般」ノードの下で、「項目タイプ」プロパティを「ActiveXコントロール」に設定します。

6	「物理」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、その項目をキャンバスに割り当てる必要があります。


フォームにActiveXコントロールを挿入

  次のステップ	  関連項目

フォームにActiveXコントロールを挿入するには:

1	レイアウト・エディタで、「ActiveXコントロール・コンテナ」を選択します。

2	ポップアップ・メニュー（Windowsでは、右クリックで表示）から「オブジェクト挿入」を選択して､「オブジェクト挿入」ダイアログ・ボックスを表示します。

3	希望するコントロールをクリックして､「OK」をクリックします。

4	レイアウト・エディタで、「ActiveXコントロール・コンテナ」を選択して､「プロパティ・パレット」を表示します。

5	「機能」ノードの下で、次のようにします。

•	「OLEクラス」プロパティを設定する。各「OLEクラス」にはいくつかのコントロールが含まれています。

•	希望するコントロールおよびコンテナの各プロパティを設定します。


ActiveXコントロールのメソッドおよびイベントの各パッケージをインポート

  関連項目

ActiveXコントロールのメソッドおよびイベントをインポートするには:

1	「プログラム」 [image] 「OLEインポータ」を選択して､「OLEインポータ」ダイアログ・ボックスを表示します。

2	希望する「OLEクラス」を選択し、次に、希望する「メソッド」および「イベント」を選択します。

3	「OK」をクリックします。


ActiveXコントロールとの対話

  関連項目

多くの方法でActiveXコントロールと対話できます。

•	ActiveXコントロール・プロパティを設定し、取得

•	ActiveXコントロールのメソッドをコール

•	ActiveXコントロールのイベントに応答


ActiveXコントロール・プロパティの設定と取得

 制限事項	  関連項目

ActiveXプロパティ値の設定と取得にはいくつかの方法があります。

•	バインド変数構文

•	プロパティ・アクセッサ（PL/SQLプロシージャ）

•	「プロパティ・パレット」の「コントロール・プロパティ」ダイアログ


ActiveXコントロール・プロパティの設定および取得に関する制限事項

•	:item（'ActXitm').OCX.server_name.property_nameは、server_nameがユーザーのマシンにない場合にはコンパイルされません。

•	非Microsoft Windowsのプラットフォーム上で、コンパイラはユーザーに警告を出すことがあります。なぜなら、ActiveXコントロールのプロパティ・タイプはUNIXプラットフォーム上で決めることができないからです。

•	ActiveXコントロールが異なる言語に関して別個のプロパティをエクスポートする場合には、ユーザーのフォームはコンパイルされません。


バインド変数構文を使用したActiveXコントロール・プロパティ

 例

バインド変数構文を使用してActiveXコントロール・プロパティを設定し、取得するには:

 バインド変数構文を使用してプロパティ値を割り当てるか、検索します。

たとえば、:item('block_name.item_name').ocx.server_name.propertyのような構文で、各パラメータが表すものは次のとおりです。

block_name	 データ・ブロックの名前

item_name	 ActiveXコントロールの名前

server_name	 ActiveXサーバーの名前

property	 アクセス対象のActiveXプロパティの名前


バインド変数構文を使用したActiveXコントロール・プロパティの例

 制限事項

/* Setting an ActiveX control property using bind variable syntax */

:item('ActXitem').OCX.Spindial.spindialctrl.1.Needleposition:=
:item('ActXitem').OCX.Spindial.spindialctrl.1.Needleposition + 1;

ActXitemは項目の名前、Spindial.spindialctrl.1はActiveXコントロール･サーバーの名前、そしてNeedlepositionはプロパティの名前です｡

次のコードは、ユーザーのsystem.cursor_itemがActiveXコントロールである場合も機能します。
:form.cursor_item.OCX.spindial.spindialctrl.1.Needlposition :=
:form.cursor_item.OCX.spindial.spindialctrl.1.Needlposition + 1;


プロパティ・アクセッサを使用したActiveXコントロール・プロパティ

 例

プロパティ・アクセッサを使用してActiveXコントロール・プロパティを設定し、取得するには:

プロパティ値を取得するにはプロパティ・アクセッサ・ファンクションを、プロパティ値を設定するにはプロパティ･アクセッサ・プロシージャをそれぞれ使用します。


プロパティ・アクセッサを使用したActiveXコントロール・プロパティの例

 制限事項

/* Getting an ActiveX control property using get accessor */

tblname varchar2;
tblname := table_pkg.TableName(:item('Oblk.Oitm').interface);

table_pkg は、OLEインポータから作成したプログラム単位の名前です。Oblkはブロックの名前、Oitmは項目の名前です。Oblkはブロックの名前、Oitmは項目の名前です。


ActiveXプロパティの設定

 制限事項

プロパティ・パレットでActiveXプロパティを設定するには:

1	オブジェクト・ナビゲータで、ActiveXコントロール項目の隣りにあるオブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

2	「コントロール・プロパティ」プロパティに表示されるを「詳細」ボタンをクリックします。

「コントロール・プロパティ」ダイアログが表示されます。

3	必要に応じて「コントロール・プロパティ」を設定します。

4	「OK」をクリックします。


ActiveXコントロールのメソッドをコール

 例	     関連項目

ユーザーは、OLEインポータから作成されたプログラム単位でActiveXコントロールが表示する方式にアクセスできます。「プログラム単位」ノード下で使用できる、パッケージに入っているメソッドのうちの任意のものをコールします。

注意: Microsoft Excelなどの一部のOLEサーバーはVariantを使用します。これら特定のサーバーの方式のうち多くのものは、Variantを使用する必要があるので、STANDARDビルトインパッケージはVariantへのおよびそのタイプからの必要な変換を行うためのプロシージャや機能を提供します。Variantの有効期間と有効範囲はトリガーに限定されます。つまり、トリガーが終了すると、可変メモリー空間が解放されます。しかし、To_Variant()のpersistentパラメータをTRUEに設定し、その結果をグローバル変数の割り当てると、Variant型変数の有効期間を延長し、その有効範囲を拡大できます。グローバル変数は、Destroy_Variant()を使用して明示的に破棄する必要があります。同様に、Create_OleObj()で作成したOLEオブジェクトは有効範囲はグローバルです（persistentパラメータのデフォルトはTRUEです）。グローバル・オブジェクトを解放する場合はRelease_Obj()を明示的にコールする必要があります。


ActiveXコントロールのメソッドのコールの例

例1

/* Getting a cell value from a Spread Table ActiveX control using the GetCellByColRow method provided in the SpreadTable package */

DECLARE
Cur_Row number;
Cur_Col number;
OLEObj OleObj;

BEGIN
Cur_Row:=SpreadTable.CurrentRow(:ITEM('BLK.ITM').interface);
Cur_Col:=SpreadTable.CurrentCol(:ITEM('BLK.ITM').interface);
OLEObj:=SpreadTable.GetCellByColRow(:ITEM('BLK.ITM').interface,
                                        Cur_Col,
                                        Cur_Row);
END;


ActiveXコントロール・イベントへの応答

 例	     関連項目

ActiveXコントロールはイベントを生成します。Form Builderはそれらのイベントを、OLEインポータから作成されたイベント・パッケージで表示します。イベントはActiveXコントロールによって定義されます。各イベントは、イベント・パッケージで定義されるPL/SQLプロシージャに関連しています。プロシージャは、コントロールで定義される内部数値表現に従って命名されます。コントロールがイベントを起動すると、プロシージャのコードが自動的に実行されます。ユーザーはイベントに応答する場合はそのコードを入力する必要があります。イベント・パッケージ本体に直接入力し、パッケージをコンパイルしてください。

イベント・プロシージャはすべて制限されています。つまり、Go_Itemはプロシージャ・コード内からコールできません。しかし、同じイベントが複数の項目に適用され、Go_Itemが必要になる（これが制限を受けないケース）例がいくつかあります。制限を受けないケースの場合、ユーザーは次のことを行う必要があります。On-Dispatch-Trigger（ブロックまたはフォーム・レベル）で、DISPATCH_EVENT(RESTRICTED_ALLOWED)をコールします。イベント・プロシージャを明示的にコールする必要はありません。なぜなら、それはOn-Dispatch-Triggeコードに続いて自動的にコールされるからです。

注意: ActiveXコントロールの初期化イベントはForms Runtimeで起動されることはありません。それらの初期化イベントは内部で使用不可になっています。その場合、ユーザーはコントロールの固有の初期化イベントのかわりにwhen-new-item-instanceまたはwhen-new-record-instanceを使用できます。

ActiveXコントロールがイベントを起動したとき、Forms Runtimeがそのイベントを扱う方法が2通りあります。つまり、「プログラム単位」ノードの下で使用できるイベント・パッケージが提供する、適切な制限付きプロシージャを直接コールする方法とON-DISPATCH-EVENTトリガーをコールする方法です。

プロシージャ名は、対応するイベントを示す内部数値で決まります。イベントが生成する制限付きプロシージャは、たとえば、次のようなアプリケーション・プログラミング・インタフェースとなります。

PROCEDURE /*Click*/ event4294966696(interface OleObj);

プロシージャが生成されると、ユーザーはプロシージャ内で実行すべきアクションのコースを指定する必要があります。プロシージャは制限モードで実行されることに注意してください。

ON-DISPATCH-EVENTトリガーによってイベント・プロシージャをコールしたとき、FORMS4W.DISPATCH_EVENTコールを使用すると、プロシージャを制限モードで実行するかあるいは無制限モードで実行するかを明示的に定義することができます。制限付きプロシージャを定義すると、OUTパラメータは確認されません。


ActiveXコントロール・イベントに応答する例

例1

/*

The event procedure will be called directly to increase the value of a field when a mouse click event is detected.
*/
PROCEDURE /*Click*/ event4294966696(ocxitem)
BEGIN
:SYSTEM.TRIGGER_ITEM := ocxitem;
:block.value := :block.value + 1;
END;

例2

/*

ON-DISPATCH-EVENT trigger
*/
BEGIN
IF SYSTEM.CUSTOM_ITEM_EVENT = 4294966696 THEN
/*when event occurs, allow it to apply to different items */.
FORMS4W.DISPATCH_EVENT(RESTRICTED_ALLOWED);
ELSE
/*run the default, that does not allow applying any other

item */
FORMS4W.DISPATCH_EVENT(RESTRICTED_UNALLOWED);
ENDIF;
END;


FORMS_OLE_FAILURE例外処理

 例	     関連項目

ActiveXコントロールのメソッドを扱っているときに障害が検出されると、FRMメッセージが表示され、FORMS_OLE_FAILURE例外が発生します。FORMS_OLE_FAILURE例外が生じたとき、LAST_OLE_EXCEPTIONビルトインをコールすると、その例外の原因に関する詳細情報を得ることができます。


FORMS_OLE_FAILURE例外処理の例

例

/*

Handling the exception raised as a result of calling:Var_To_Number(To_Variant('Jane'));
An exception is raised because Jane is not a number.
*/
DECLARE
ExceptNum number;

BEGIN
ExceptNum := LAST_OLE_EXCEPTION('Excel',
'Range Method Fail',
'Excel.hlp',
110);
END;


ActiveXコントロールを登録

  関連項目

すべてのActiveXコントロールを登録する必要があります。ActiveXコントロールとともに供給されるインストール・プログラムを使用してActiveXコントロールをインストールした場合、登録がインストール・プログラムによって管理される可能性が最も高くなります。

ActiveXコントロールを手動で登録する場合、regActiveX32.exeまたはregsvr32.exeを使用します。両方ともMicrosoft開発ツールとともに使用でき、ActiveXコントロールのベンダーから入手できます。

ファイルのサポート

大部分のActiveXコントロールでは、サポートDLLたとえばマイクロソフト・ファンデーション・クラス・ランタイム・ライブラリmfc40.dllが必要になります。DLLは\WINDOWS\SYSTEMディレクトリまたは検索パスにする必要があります。DLLのバージョンが古かったり、あるいは紛失している場合、ユーザーのActiveXコントロールは正しく登録されません。評判のよい大部分のActiveXコントロール供給業者は、必要なDLLのバージョンや名前に関する文書を提供しています。それらの文書をActiveXコントロールと一緒に供給し、インストールする供給業者さえあります。

ActiveXコントロール・ファイルの移動

インストール時、ActiveXコントロールがインストールされるディレクトリはWindows95とWindowsNTのウィンドウズ登録データベースに登録されます。このため､ActiveXコントロールはユーザーの開発環境に見えるようになります。ActiveXコントロールを異なるディレクトリに移動するか､あるいはそのディレクトリを改名する場合、レジストリに入っている情報はもはや有効ではありません。ActiveXコントロールを移動したり､あるいはそのディレクトリを改名する必要が生じたら、大部分のMicrosoft開発製品とともに提供されるregsrv32.exeまたはregActiveX.exeユーティリティを使用して、ActiveXを新しい場所に再登録します。


ユーザーのアプリケーションとともにActiveXコントロールを準備

  関連項目

実行時にActiveXコントロールを使用するアプリケーションを配備する場合、ActiveXコントロールも準備する必要があります。ランタイム・マシンにActiveXコントロールを正しく登録する必要があります。サポートDLLは、該当する場所ｾWINDOWS\SYSTEMフォルダー、WINDOWSフォルダーまたはDLL検索パスのフォルダーにコピーすべきです。

ActiveXコントロールの場合、サード・パーティのActiveXコントロール・ベンダーによって配布されるものであれ、アプリケーション開発ツールでバンドルされるものであれ、ActiveXコントロールを配布するに先だって追加の料金を支払うか、あるいは追加のライセンスを取得することが必要な場合があります。


Form BuilderでOLEをサポート

  関連項目

Form BuilderはOLEをサポートしています。Form BuilderはOLEコンテナとして機能し、複合ドキュメントとOLEオートメーションをサポートしています。OLEコンテナの項目タイプでユーザーのOLEオブジェクトのコンテナが作成されます。

OLEコンテナ・アプリケーションとしてのForm Builderは、次のような機能を提供します。

•	Form BuilderのOLEコンテナにOLEサーバー・オブジェクトを埋め込み、リンクします。

•	Form Builder OLEコンテナ内で埋込みコンテントをアクティブにします。

•	PL/SQLからOLEオートメーションサポートにより、OLEオブジェクト、プロパティおよびメソッドへのプログラムによるアクセスをします。

•	OLEオブジェクトをONG RAW列でデータベースに透過的に格納します。

OLEコンテナはForm Builder内の項目です。OLEオブジェクトはOLEコンテナにリンクしているか、あるいはそのコンテナに埋め込まれています。OLEオブジェクトはデータソース項目またはコントロール項目とすることができます。

Form BuilderはOLE埋め込み先でのアクティブ化をサポートしています。これにより、ユーザーはForm Builderを使用している間にOLEサーバー・アプリケーションからメニューやツールバーにアクセスして埋込みOLEオブジェクトを編集できます。

Form BuilderはOLEオートメーションもサポートしています。PL/SQLを使用すれば、OLEオートメーションをサポートしているOLEサーバーによって表示されるコマンドや機能をコールすることができます。

Form BuilderからOLEオブジェクトをデータベースに保存したり、データベースからOLEオブジェクトを問い合わせたりすることができます。OLEオブジェクトはLONG RAW列としてデータベースに保存されます。リンク・オブジェクトが保存されるとき、イメージとリンク情報のみがデータベースに保持されます。リンク・オブジェクトの内容は、リン・ソース・ファイルに入っています。埋込みオブジェクトを保存すると、埋込みオブジェクトの内容がすべてデータベースに保持されます。

Form BuilderでOLEを使用する例として、Microsoft Wordドキュメントをフォーム・モジュールに統合するアプリケーションが挙げられます。フォーム・モジュールとMicrosoft Wordの統合により、Form BuilderとMicrosoft Wordの双方から機能にアクセスできます。Microsoft Wordから任意のテキスト処理機能でMicrosoft Wordドキュメントをフォーマットでき、またデータベースからデータを表示､操作するためのForm Builder機能のすべてを使用できます。

Form BuilderのOLEオブジェクトの特性はOLEコンテナのプロパティによって異なります。OLEコンテナ・プロパティによって、OLEオブジェクトをアクティブ化する方法、表示する方法および操作する方法が決まります。


埋込みリンク・オブジェクト

  関連項目

OLEサーバー・アプリケーションは、OLEコンテナ・アプリケーションで埋め込まれるあるいはリンクされるOLEオブジェクトを作成します。OLEコンテナはOLEオブジェクトを格納し、表示します。アプリケーションは、OLEサーバー・アプリケーション、OLEコンテナ・アプリケーションあるいはその両方とすることができます。Form BuilderはOLEサーバー・アプリケーションであり、Microsoft WordはOLEサーバー・アプリケーションの例です。

埋込みOLEオブジェクトはOLEサーバー・アプリケーションで作成され、Form Builderのフォーム・モジュールで埋め込まれます。埋込みオブジェクトは、フォーム・モジュールの一部としてまたはLONG RAW列としてデータベースに格納されます。埋込みオブジェクトは、OLEコンテナ項目として問い合わせることができます。

オブジェクトの埋込みの例として、フォーム・モジュールのOLEコンテナへのスプレッドシートの挿入が挙げられます。スプレッドシートは、フォーム・モジュールの一部としてまたはLONG RAW列としてデータベースに格納されます。スプレッドシートを含んでいる個別のソース・ファイルはありません。

リンクOLEはOLEサーバー・アプリケーションによって作成されます。リンク・オブジェクトは、OLEサーバー・アプリケーションから作成された個別のソース・ファイルに格納されます。リンク・オブジェクトのイメージ表現およびリンク・オブジェクトのソース・ファイルの場所に関する情報は、フォーム・モジュールに、あるいはLONG RAW列としてデータベースに格納されています。リンク・オブジェクトの内容は、フォーム・モジュールの一部としてまたはLONG RAW列としてデータベースに格納されません。その内容は、リンク・ソース・ファイルと言う個別のファイルに保持されます。

オブジェクト・リンクの例として、フォーム・モジュールでのワード・プロセッサ・ドキュメントのリンクが挙げられます。ドキュメントのイメージはフォーム・モジュールのOLEコンテナに表示され、ドキュメントの場所はフォーム・モジュールの一部としてまたはLONG RAW列としてデータベースに格納されます。


OLEサーバーおよびOLEコンテナ

  関連項目

OLEをサポートするアプリケーションは、OLEサーバー、OLEコンテナあるいはその両方とすることができます。OLEサーバー・アプリケーションは、OLEコンテナで埋め込まれるまたはリンクされるOLEオブジェクトを作成します。OLEサーバーの例として、Microsoft WordとMicrosoft Excelが挙げられます。

OLEサーバー・アプリケーションとは異なり、OLEコンテナ・アプリケーションは埋込み用およびリンク用のドキュメントを作成しません。かわりに、OLEコンテナ・アプリケーションはOLEサーバー・アプリケーションによって作成されるオブジェクトを格納、表示および操作するための場所を提供します。OLEコンテナ・アプリケーションの例として、Form Builderが挙げられます。

OLEコンテナ・アプリケーションでOLEオブジェクトを操作するのに使用できるオプションの多くのものはOLEサーバー・アプリケーションで決められます。たとえば、OLE Verbとも言われる、OLEポップアップ・メニューからのオプションはOLEサーバー・アプリケーションによって表示されます。登録データベースに含まれている情報たとえばリンクおよび埋込みに使用できるオブジェクト・クラスはOLEサーバー・アプリケーションによっても異なります。


登録データベース

  関連項目

OLEサーバー・アプリケーションは多くのオブジェクト・クラスを作成します。OLEサーバーが作成できるオブジェクト・クラスは登録データベースにインストールされます。

登録データベースには､OLEオブジェクトを分類するクラスのセットが格納されています。登録データベースに入っている情報で、OLEコンテナの、埋込みおよびリンクに使用できるオブジェクト・クラスが決まります。OLEサーバー・アプリケーションは、登録データベースのメンバーになるクラスのセットをエクスポートします。各コンピュータには単一の登録データベースがあります。OLEサーバー・アプリケーションがインストールされたときに登録データベースがまだ存在しない場合には、そのデータベースが1つ作成されます。

単一のOLEサーバー・アプリケーションは多くのOLEクラスを登録データベースに追加できます。クラスを登録データベースに追加するプロセスは透過的であり、OLEサーバー・アプリケーションのインストール時に生成します。たとえば、Microsoft Excelがインストールされるとき、いくつかのクラスが登録データベースに追加されます。登録データベースにインストールされているそれらのクラスの一部には、Excel Application、Excel Application 5、Excel Chart、Excel Sheet、ExcelMacrosheetおよびExcelWorkSheetが含まれます。


OLEアクティブ化スタイル

  関連項目

OLEオブジェクトは、埋め込み先でのアクティブ化または外部からのアクティブ化でForm Builder OLEコンテナからアクティブ化されます。OLEオブジェクトをアクティブ化すると、OLEオブジェクトを生成したOLEサーバー・アプリケーションから機能にアクセスできます。埋め込み先でのアクティブ化または外部からのアクティブ化は、OLEオブジェクトを生成したOLEサーバー・アプリケーションにアクセスできる場合のみ可能になります。

埋め込み先でのアクティブ化および外部からのアクティブ化はどちらも、OLEコンテナのOLEアクティブ化プロパティの設定によって決まります。OLEアクティブ化プロパティの設定はForm Builderで指定します。OLEサーバー・アプリケーションにアクセスできる場合、OLEコンテナの「OLE同一ウィンドウ・アクティブ」プロパティの設定によって、埋込みOLEオブジェクトがアクティブ化されるときに埋め込み先でのアクティブ化が行われるのかあるいは外部からのアクティブ化が行われるのかが決まります。リンク・オブジェクトは外部からのアクティブ化でのみアクティブにされます。埋め込み先でのアクティブ化は、たとえ「OLE同一ウィンドウ・アクティブ」プロパティが「はい」に設定されていてもリンク・オブジェクトには適用されません｡OLEオブジェクトのアクティブ化はForm Builderにおいて、Formsランタイムの間に可能です｡


埋め込み先でのアクティブ化

  関連項目

埋め込み先でのアクティブ化は、アクティブ化の際、OLEコンテナとその埋込みオブジェクトが所定の場所にあるときに行われます。Form BuilderはOLEコンテナを取り込んだままです。埋め込み先でのアクティブ化は埋込みオブジェクトの場合に行うことができますが、リンク・オブジェクトの場合には行うことはできません｡

オブジェクトは、アクティブになると、線影付き枠の内部に表示されます。埋め込み先でのアクティブ化を非アクティブにするには、線影付き枠外の任意の箇所をクリックします。

埋め込み先でのアクティブ化の間、OLEサーバー・アプリケーションのメニュー･オプションの一部がForm Builderのメニュー･オプションに取って代わります。OLEコンテナを含んでいるウィンドウにツールバーがある場合、現場でのアクティブ化でもForm BuilderのツールバーがOLEサーバー・アプリケーションのツールバーに置き換わります。メニュー･オプションとツールバーを置き換えると、OLEサーバー・アプリケーションから使用できる機能にアクセスできます。Form Builderのメニュー･オプションとツールバーは、ユーザーが現場でのアクティブ化を非アクティブにしたときに再表示されます。


外部からのアクティブ化

  関連項目

外部からのアクティブ化は、OLEオブジェクトがオブジェクトの親OLEサーバー・アプリケーションによってオープンされた個別のウィンドウに表示されたときに行われます。OLEサーバー・アプリケーションが固有ウィンドウで起動されるので、Form Builderのメニュー･オプションとツールバーは外部からのアクティブ化の間はそのままです。外部からのアクティブ化は埋込みオブジェクトとリンク・オブジェクトとの場合に可能です。

OLEオブジェクトがアクティブ化されると、オブジェクトの親OLEサーバー・アプリケーションが起動され、OLEオブジェクトが個別のOLEサーバー・アプリケーション･ウィンドウに表示されます。個別のウィンドウにはOLEサーバー・アプリケーションのメニュー･オプションとツールバーがあります。外部からのアクティブ化を非アクティブにするには、OLEサーバー・アプリケーションを明示的に終了する必要があります。

リンク・ソース・ファイルの内容が外部からのアクティブ化で変更された場合、リンク・オブジェクトは手動または自動で更新できます。手動での更新の場合、オブジェクトがリンク・ソース・ファイルからの変更をあらわすための明示的な命令が必要になります。自動による更新はユーザーがリンク・ソース・ファイルを変更するとすぐに行われます。


OLEオートメーション

 例	     関連項目

OLEオートメーションにより、OLEサーバー・アプリケーションは、OLEコンテナ・アプリケーションからコールすることができるコマンドと機能のセットを表示できます。OLEオートメーションにより、OLEコンテナ・アプリケーションがOLEコンテナ環境からOLEオブジェクトを操作するためにOLEサーバー・アプリケーションの機能を使用する方法が得られます。

Form Builderでは、OLEサーバー・アプリケーションによって表示される任意のコマンドまたは機能にアクセスするためにPL/SQLを使用できます。SpreadTableパッケージでは、コマンドと機能を作成、操作およびそれらにアクセスするためのPL/SQLアプリケーション・プログラミング・インタフェースが得られます。


OLEオートメーションの例

例1

/*

Set the value of a single cell in Microsoft Excel using the automatically generated PL/SQL methods.
*/

DECLARE
/* Create a variable of variant type.*/
Variant OleVar;

BEGIN
/* Find the range of the cells you want to interact with */
Variant := EXCEL_WORKSHEET.ole_Range(
                              :CTRL.interface,
                               To_Variant('A1'));

/* Set cell A1 to contain 20 */
EXCEL_RANGE.Value(
           Var_to_Obj(Variant),
           To_Variant('20'));
END;

例2

/*

Get the value of a range of cells in Microsoft Excel for populating a PL/SQL table.The PL/SQL table can be used as a block data source.
*/

DECLARE
TYPE myrec IS RECORD (
    x varchar2(10),
    y varchar2(10),
    z varchar2(10));

TYPE mytable is TABLE OF myrec
    INDEX BY BINARY_INTEGER;

TableXYZ mytable;
Range OleVar;
Value OleVar;

BEGIN
/* Find the range of cells you want to interact with */
Range := EXCEL_WORKSHEET.ole_Range(
                            :CTRL.interface,
                            To_Variant('A1:C3'));

/* Get the value of cells in the range from A1 to C3 */
Value := EXCEL_RANGE.Value(Var_to_Obj(Range));

/* Populate PL/SQL Table; can access cell values using PL/SQL Syntax such as TableXYZ(1).x, TableXYZ(1).y, TableXYZ(2).x, TableXYZ(2).y, etc. */
Var_to_Table(Value,TableXYZ);
END;

例3:

/*

Populate a Microsoft Excel worksheet by obtaining values from a PL/SQL table.
*/

DECLARE
TYPE myrec IS RECORD (
    x varchar2(10),
    y varchar2(10),
    z varchar2(10));

TYPE mytable is TABLE OF myrec
    INDEX BY BINARY_INTEGER;

TableXYZ mytable;
TableVals OleVar;

BEGIN
/* Converts PL/SQL table to variant type */
TableVals := To_Variant(TableXYZ);

/* Set Microsoft Excel Worksheet to contain values from PL/SQL table */
Excel_Range.Value(Var_to_Obj(TableVals),TableVals);
END;

例4:

/*

Populate a block with a Microsoft Excel Worksheet.Base the block on the following stored procedure.
*/

/* This example assumes the range of cells specified is valid */

PROCEDURE Excel_to_Block(tablename mytable,
                         excel_range_spec varchar)
DECLARE
Range OleVar;
Value OleVar;

BEGIN
/* Find the range of cells you want to interact with */
Range := Excel_Worksheet.Ole_Range(
                    :excel.interface,
                    To_Variant(excel_range_spec));

/* Get the value of cells in the range excel_range_spec */
Value := Excel_Range.Value(Var_to_Obj(Range));

/* Populate PL/SQL table with values from Microsoft Excel Worksheet */
Var_to_Table(Value,tablename);
END;


いつOLEオブジェクトの埋込みまたはリンクを行うか

  関連項目

OLEが埋め込められるかあるいはリンクされるかは、どれだけの回数OLEオブジェクトが更新されるか、どのようにOLEオブジェクトが共用されるか、どのようにソース・ドキュメントにアクセスするか、かつ格納上の制約があるかどうかに依存します。

次のようなときに、オブジェクトの埋込みを使用します。

•	埋込み中のオブジェクトは最新のバージョンのデータである必要はありません。なぜなら、更新はスタンドアロンのドキュメントではなくフォーム・モジュール内から実施されるからです。

•	オブジェクトは、1つ以上のドキュメントに含める必要はありません。したがって、変更はフォーム・モジュールに埋め込まれているオブジェクトでのみ必要です。

•	ソース・ドキュメントへは､オブジェクトがリンクされている場合にアクセスできません。この場合、シングル・フォーム・モジュールのみを保守する必要があります。ソース・ドキュメントの他にフォーム・モジュールを保守する必要はありません。

•	フォーム・モジュールは関係がありません。なぜなら、埋込みの場合、フォーム・モジュールのサイズはほぼ埋込みオブジェクトのサイズの分のみ大きくなるからです。

次のようなときに、オブジェクト・リンクを使用します。

•	リンク中のオブジェクトは最新バージョンのデータにする必要があります。なぜなら、更新はスタンドアロンのドキュメント上でフォーム・モジュール外から実施されるからです。

•	オブジェクトを1つ以上のドキュメントに含める必要があります。したがって、変更は複数のフォーム・モジュールおよび他のドキュメントに影響を与えます。

•	ソース・ドキュメントには、オブジェクトがリンクされている場合に常にアクセスできます。

•	フォーム・モジュールは関係があります。埋込みとは異なり、リンクはオブジェクトのサイズの分のみフォーム・モジュールのサイズを大きくすることはありません。


Form BuilderのOLE

  関連項目

OLEオブジェクトはForm BuilderとFormsランタイムとでアクティブになっていますが、OLEコンテナ・プロパティ値によって、設計時と実行時とにおけるOLE機能性が決まります。

Form Builderの場合、OLEコンテナ・プロパティを設定することによってOLEオブジェクトのアクティブ化、表現および操作の規準を決めることができます。たとえば、「OLEポップアップ・メニュー表示」プロパティが「はい」に設定されていると、OLEポップアップ・メニューはForm BuilderおよびFormsランタイムで使用可能です。マウス・カーソルがOLEコンテナにあるときにマウスの右ボタンを押すと、OLEポップアップ・メニューが表示されます。「OLEポップアップ・メニュー表示」プロパティが「いいえ」に設定されているときには、OLEポップアップ・メニューはFormsランタイムでオプションではありません。OLEポップアップ・メニューからは、ユーザーがOLEオブジェクトに関して使用できる操作のリストを得ることができます。

Form Builderの場合、実行時に、OLEコンテナの埋込み用およびリンク用オブジェクト・クラスを限定できます。たとえば、OLEコンテナのオブジェクト・クラスがExcelWorkSheetクラスに限定されるものと指定した場合、Microsoft ExcelワークシートのみをOLEコンテナのOLEオブジェクトとすることができます。オブジェクト・クラスを一切制約していない場合、登録データベースでオブジェクト・クラスとして分類されるOLEオブジェクトは、OLEコンテナに含められるかもしれないOLEオブジェクトです。

OLEコンテナが作成されるとき、OLEコンテナに関連するプロパティは最初、デフォルト値に設定されます。OLEコンテナ・プロパティは次の3つのグループのプロパティに分類されます。

•	「アクティブ化」プロパティ

OLEアクティブ・スタイル

OLE同一ウィンドウ・アクティブ

OLEの詳細サポート

•	「OLEポップアップ・メニュー」プロパティ

OLEポップアップ・メニュー項目

OLEポップアップ・メニュー表示

•	「OLEテナント」プロパティ

OLEクラス

OLEサイズ変更スタイル

OLEテナント形態

OLEテナント・タイプ

OLEテナント・タイプ表示

アクティブ化プロパティにより、OLEオブジェクトが埋め込み先でのアクティブ化で起動されるのかあるいは外部からのアクティブ化で起動されるのかが指定されます。OLEポップアップ・メニュー・プロパティにより、OLEポップアップ・メニューが使用できるのかどうか、またどのオプションがOLEポップアップ・メニューに表示されるのかが決まります。OLEテナント・プロパティにより、OLEコンテナのOLEオブジェクトに必要な条件が指定されます。

Form Builderから手動でOLEコンテナにOLEオブジェクトを挿入できます。OLEコンテナに挿入するOLEオブジェクトはOLEコンテナの設定に従っています。Form BuilderからOLEコンテナにOLEオブジェクトを挿入すると、OLEコンテナが初期化されます。OLEコンテナの初期化により、Formsランタイム時のOLEコンテナの初期の内容が決まります。フォームのライタイム時、OLEコンテナを移入するための、データベースのLONG RAW列からのフォーム問合せはすべて、初期化のために使用される内容に上書きされます。


FormsランタイムでのOLE

  関連項目

Formsランタイムのオブジェクトを表示、操作する能力は、Form Builderで定義されるOLEコンテナ・プロパティで決まります。Formsランタイムの属性には、アクティブ化スタイル、OLEポップアップ・メニュー・オプションおよびOLEテナント・プロパティが含まれます。

「OLEテナント形態」プロパティにより、OLEオブジェクトがどのように表示されるかが決まります。たとえば、「OLEテナント形態」プロパティが「アイコン」に設定されている場合、OLEコンテナに挿入するOLEオブジェクトはすべてアイコンとして表示されます。

Formsランタイムでは、手動でOLEコンテナにOLEオブジェクトを挿入したり（項目のプロパティによりその挿入が許可されている場合）、OLEコンテナを移入するためにOLEオブジェクトについてデータベースに問い合わせたりすることができます。Formsランタイムに手動でOLEオブジェクトを挿入すると、OLEオブジェクトはレコードが消去されるまでOLEコンテナに表示されます。OLEコンテナに挿入するOLEオブジェクトはOLEコンテナの設定に従っています。後のレコード問合せの場合、OLEコンテナはForm Builderで定義されている状態でまたはデータベースからOLEオブジェクトとともに移入された状態で表示されます。

OLEコンテナを移入するためにOLEオブジェクトについてデータベースに問い合わせることもできます。各レコードの問合せで、データベースからOLEオブジェクトとともにOLEコンテナが移入されます。OLEイベントについてのデータベースへの問合せはOLEコンテナ項目についてのみ行うことができます。データベース内のOLEオブジェクトのデータ型はLONG RAWです。問合せが行われると、OLEオブジェクトはOLEコンテナのプロパティ設定に従って表示されます。同様に、OLEオブジェクトについて許可されている操作は、OLEコンテナのプロパティ設定に基づいています。OLEコンテナのプロパティはOLEオブジェクトの一部として保存されることはありません。


OLEバリアント型

下記の表は、OLEバリアント型の一覧です。同時に、それらと同じ働きをするForms DeveloperのVT-TYPE識別子を示します。

OLE定義のバリアント型	Forms Developerにおける解釈
VT_BLOB	VT_UNKNOWN
VT_BLOB_OBJECT	VT_UNKNOWN
VT_BOOL	ブール
VT_BSTR	文字列
VT_BYREF	16384.  これは"へのポインタ"を示すために任意のタイプに追加されることがある
VT_CARRAY	- 未サポート
VT_CF	- 未サポート
VT_CLSID	- 未サポート
VT_CY	- 未サポート
VT_DATE	Date
VT_DISPATCH	OLEオートメーション・コールが可能なOLEオブジェクト・ポインタ
VT_EMPTY	初期化されていないメンバー
VT_ERROR	エラー・フィールド
VT_FILETIME	VT_DATE
VT_HRESULT	VT_ERROR
VT_INT	整数
VT_I1	符号つき1バイト整数
VT_I2	符号つき2バイト整数
VT_I4	符号つき4バイト整数
VT_I8	- 未サポート
VT_LPSTR	VT_BSTR
VT_LPWSTR	VT_BSTR
VT_NULL	NULL
VT_PTR	タイプ分けされていないポインタ
VT_R4	4バイト浮動小数点数
VT_R8	８バイト浮動小数点数
VT_STORAGE	VT_UNKNOWN
VT_STORED_OBJECT	VT_UNKNOWN
VT_STREAM	VT_UNKNOWN
VT_STREAMED_OBJECT	VT_UNKNOWN
VT_UINT	符号なし4バイト整数
VT_UI1	符号なし1バイト整数
VT_UI2	符号なし2バイト整数
VT_UI4	符号なし4バイト整数
VT_UNKNOWN	OLEオブジェクト・ポインタ
VT_USERDEFINED	型付けされたデータ
VT_VARIANT	任意の型


OLEの配列型サポート

  関連項目

配列の型またはサブタイプ	定義
VT_TYPE	PLS_INTEGER型のフォームにおけるサブタイプ。 詳細はOLEバリアント型を参照。
OLE_SAFEARRAYBOUND	次の2つのフィールドを含むレコード。 • count PLS_INTEGER Countは配列内の項目の数 • lbound PLS_INTEGER lboundのデフォルト値は1
OLE_SAFEARRAYBOUNDS	OLE_SAFEARRAYBOUND型のレコードを含む表。 表走査はINDEX BY BINARY_INTEGER。 この配列型は、CREATE_VARファンクションおよびGET_VAR_BOUNDSファンクションで使用される。
ITEMS_IN_BLOCK	VARCHAR2（30）型のフォームを持つ表。 表走査はINDEX BY BINARY_INTEGER。


OLE配列の指定子

  例	  関連項目

OLE配列とともに機能するビルトインのいくつかは、配列のどの部分が使用されているかを示すためのパラメータを提供します。そのようなビルトインの説明において、それらのパラメータはarrspecのように記されます。

arrspecパラメータを取り込まない場合、配列全体が処理されます。

構文:

パラメータの中に、OLE配列のディメンションに対応した複数のサブパラメータを含めることができます。

'<n番目のディメンション>,...<第3ディメンション>, <第2ディメンション>, <第1ディメンション>'

arrspecパラメータは、VARCHAR2型の文字列としてコード化されます。文字列は一重引用符で囲む必要があります。サブパラメータはカンマとスペースで区切ります（サブパラメータは正しい順番で並べる必要があるので注意してください）。

これらのサブパラメータを、選択状態にする場合は配列部分の識別に必要な数のみ指定します。

ディメンションの特定のインスタンスを識別するサブパラメータは、整定数である必要があります。

第2ディメンションおよび第1ディメンションに対するサブパラメータには、それぞれキーワードROWおよびCOLUMNを指定できます。ROWは第2ディメンションの位置で使用し、すべての行の選択を指定します。COLUMNは第1ディメンションの位置で使用し、すべての列の選択を指定します。

arrspec値が'7, 3'の場合、7行目の3番目のインスタンス・ディメンションが選択されます。

arrspec値が'7, COLUMN'の場合、7行目全体（7行目のすべての列）が選択されます。

arrspec値が'2, 6, 9'の場合、6行目の9列目の2番目のサブ要素が選択されます。

arrspec値が'5'の場合、一次元配列の5番目の要素が選択されます。

塗りパターンの制御

ファンクションがOLE配列とPL/SQL表との間でデータを移動するとき、その処理は通常行から行へという方法で行われます。しかし、この方法を使用せずに別のマッピングを指定することもできます。これは、サブパラメータ・キーワードのCOLUMNとROWを特殊な方法で使用することにより実現されます。

これまでに説明したように、サブパラメータ・リストの通常の位置で使用されると、これらのパラメータはそのディメンションのすべてのインスタンスが選択されることを示します。しかし、パラメータを通常と異なる位置で使用して、その位置のディメンションに対して別の塗りパターンを指示することもできます。

通常以外の位置で使用されると、サブパラメータ・リストでのCOLUMNキーワードの相対位置は配列のディメンションを識別し、そのディメンションが受け手側の表の列ディメンションに配置されるように指示します。同様にROWキーワードは、そのキーワードの相対サブパラメータ位置によって示されるすべての配列ディメンションを、受け手側の表の行ディメンションに配置するように指示します。

たとえば、'COLUMN, ROW'という値のarrspecでは、COLUMNキーワードは第2ディメンションの位置（行位置）にあり、ROWキーワードは第1ディメンションの位置（列位置）にあります。このようにarrspecの値を指定すると、配列の第2ディメンション（配列の行）が受け手側の表の列に移動されます。また、配列の第1ディメンション（配列の列）が受け手側の表の行に移動されます。

表のサイズ

受け手側のPL/SQL表は、選択された配列データを十分に収容できるサイズを持っている必要があります。これは、列が回転されて行になるような場合に特に重要です。


OLE配列の指定子のその他の例

より複雑な選択や操作を行うこともできます。

たとえば、5行目のすべての列の4番目のサブ要素を選択するには、arrspecの値を'4, 5, COLUMN'または'4, 5, ROW'のように指定します。4は配列の第3ディメンションの4番目のインスタンスを指します（このディメンションをここではサブ要素と呼びます）。5は第2ディメンションの5番目のインスタンス（すなわち5行目）を指します。COLUMNキーワードまたはROWキーワードは、2つのことがらを指示します。最初に、配列の第1ディメンション（配列の列）の全内容が選択されることを示します。次にその列が、表中で受け取られるときの位置または原点を指します。

'4, 5, COLUMN'と指定した場合、通常のマッピングに従います。この場合、配列内の5行目の各列の4番目のサブ要素が、受け手側の表の5行目の各列の4番目のサブ要素位置に移動されます。方向の転換はありません。

'4, 5, ROW'と指定した場合、やはり配列内の5行目の各列の4番目のサブ要素が選択されます。ただし、サブパラメータ・リストの列位置にキーワードROWを指定したため、データは受け手側の表の各行の最初の位置に（さらに細かくいえば、配列内の元の列数を受け取るために必要なだけの数の行における、それぞれの第1列位置の4番目のサブ要素位置に）移動されます。


ユーザーのアプリケーションにOLEオブジェクトを追加

  関連項目

ユーザーのアプリケーションにOLEオブジェクトを追加するには:

1	OLEコンテナを作成します。

2	OLEオブジェクトの埋込みまたはリンクを行います。

3	OLEの方式とプロパティをインポートします。

4	OLEオートメーションを行うPL/SQLコードを記述します。


OLEコンテナを作成

次のステップ 	  関連項目

OLEコンテナを作成するには:

1	オブジェクト・ナビゲータで、希望するブロック・ノードの横にあるプラスのアイコン [image] をクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しく作成された項目の横にあるオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

5	「一般」ノードの下で、「項目タイプ」プロパティを「OLEコンテナ」に設定します。

6	「物理」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、その項目をキャンバスに割り当てる必要があります。


OLEオブジェクトの埋込み

次のステップ 	  関連項目

ユーザーがForm BuilderからOLEコンテナに手動で挿入するOLEオブジェクトにより、FormsランタイムのOLEコンテナが初期化されます。Formsランタイム時にOLEオブジェクトを手動で挿入した場合、そのOLEオブジェクトはレコードが消去されるまでOLEコンテナに表示されます。後のレコード問合せの場合、OLEコンテナはForm Builderで定義されている状態でまたはデータベースからOLEオブジェクトとともに移入された状態で表示されます。

手動でOLEオブジェクトをOLEコンテナに挿入する場合は、OLEポップアップ・メニューの「オブジェクト挿入」を選択する必要があります。OLEコンテナに挿入するOLEオブジェクトを新たに作成したり、OLEコンテナに既存のファイルからOLEオブジェクトを埋め込むことができます。


新しいOLEオブジェクトの埋込み

  関連項目

新しいOLEオブジェクトを埋め込むには:

1	「OLEテナント・タイプ」プロパティを「Any」または「埋込み」に設定してOLEコンテナを作成します。

「OLEポップアップ・メニュー表示」プロパティが「はい」に設定され、「OLEポップアップ・メニュー項目」の「オブジェクト挿入」項目が「表示」および「使用可能」に設定されていることを確認します。

2	レイアウト・エディタで、マウス・カーソルをOLEコンテナ上で移動します。（Microsoft Windowsプラットフォームの場合、マウスの右ボタンをクリックして）OLEポップアップ・メニューを表示し、「オブジェクト挿入」を選択します。

「オブジェクト挿入」ダイアログ・ボックスが表示されます。

3	「オブジェクト挿入」ダイアログ・ボックスで、「新規作成」をクリックします。

4	「オブジェクト・タイプ」からオブジェクト・タイプを選択します。

5	「OK」をクリックします。

OLEサーバー・アプリケーションが起動されます。

6	OLEサーバー・アプリケーションでオブジェクトを作成します。

7	OLEサーバー・アプリケーションを終了します。


既存のファイルからのOLEオブジェクトの埋込み

  関連項目

既存のファイルからオブジェクトを埋め込むには:

1	「OLEテナント・タイプ」プロパティを「Any」または「埋込み」に設定してOLEコンテナを作成します。

「OLEポップアップ・メニュー表示」プロパティが「はい」に設定され、「OLEポップアップ・メニュー項目」の「オブジェクト挿入」項目が「表示」および「使用可能」に設定されていることを確認します。

2	レイアウト・エディタで、マウス・カーソルをOLEコンテナ上で移動します。（Microsoft Windowsプラットフォームの場合、マウスの右ボタンをクリックして）OLEポップアップ・メニューを表示し、「オブジェクト挿入」を選択します。

「オブジェクト挿入」ダイアログ・ボックスが表示されます。

3	「オブジェクト挿入」ダイアログ・ボックスで、「ファイル」から「作成」をクリックします。

4	埋め込むオブジェクトのファイル名を指定します。

「参照」オプションを使用すると､ファイルを検索するのが簡単になります。「参照」オプションを使用する場合、ファイルを選択した後で「参照」ダイアログで「OK」をクリックします。

5	ファイル名を決めた後で、「オブジェクト挿入」ダイアログで「OK」をクリックします。


OLEオブジェクトのリンク

  次のステップ	  制限事項 	  関連項目

オブジェクトをリンクするには:

1	「OLEテナント・タイプ」を「任意」または「リンク」に設定して、OLEコンテナを作成します。

「OLEポップアップ・メニュー表示」プロパティが「はい」に設定され、「OLEポップアップ・メニュー項目」の「オブジェクト挿入」項目が「表示」および「使用可能」に設定されていることを確認します。

2	レイアウト・エディタで、マウス・カーソルをOLEコンテナ上で移動します。（Microsoft Windowsプラットフォームの場合、マウスの右ボタンをクリックして）OLEポップアップ・メニューを表示し、「オブジェクト挿入」を選択します。

「オブジェクト挿入」ダイアログ・ボックスが表示されます。

3	「オブジェクト挿入」ダイアログ・ボックスで、「ファイル」から「作成」をクリックします。

4	リンクするオブジェクトのファイル名を指定します。

「参照」オプションを使用すると､ファイルを検索するのが簡単になります。「参照」オプションを使用する場合、ファイルを選択した後で「参照」ダイアログ・ボックスで「OK」をクリックします。

5	「オブジェクト挿入」ダイアログで、「リンク」チェックボックスをクリックします。

6	「OK」をクリックします。


OLEオブジェクトのリンクに関する制限事項

リンクされるオブジェクトにはOLEオブジェクトの位置についての情報が含まれるため、OLEオブジェクトは既存のファイルからのみリンクできます。リンクを試みているときにオブジェクトを作成することはできません。これは、新しいオブジェクトの位置がまだ確立されていないからです。


OLEオブジェクトの表示

  関連項目

OLEオブジェクトを下記の任意のものとして表示できます。

•	OLEサーバーで表示されるままのOLEオブジェクトの内容

•	OLEオブジェクトを生成したOLEサーバー・アプリケーションのアイコン

•	縮小ビューに表示されているOLEオブジェクトの縮小プレビュー

「OLEテナント形態」プロパティで表示オプションを指定します。または、OLEポップアップ・メニューの「オブジェクト挿入」ダイアログで「アイコンで表示」を選択します。「アイコンで表示」を選択すると、埋込みオブジェクトまたはリンク・オブジェクトを表すアイコンがOLEコンテナに表示されます。「アイコンで表示」で「OLEテナント形態」プロパティの値が無効になります。


「アイコンで表示」を使用してオブジェクトをアイコンとして表示

  関連項目

「アイコンで表示」を使用してアイコンとしてのオブジェクトを表示するには:

1	OLEコンテナを作成します。

2	「オブジェクト挿入」ダイアログ・ボックスで、埋め込むまたはリンクするオブジェクトを決定します。

3	「アイコンで表示」チェックボックスをチェックします。

「アイコンで表示」を選択すると、挿入のためのOLEオブジェクトを作成したOLEサーバー・アプリケーションを表す現行アイコンが「オブジェクト挿入」ダイアログ・ボックスに表示されます。現行のアイコン選択とデフォルトのアイコン選択とを変更する場合は、希望するアイコンを選択します。

「アイコンの変更」ダイアログには、現行のアイコン選択とデフォルトのアイコン選択が表示されます。現行のアイコン選択とデフォルトのアイコン選択を変更する場合は、希望するアイコンを選択します。異なるアイコンは別個のファイルに保存されています。アイコンを選択した後、「アイコンの変更」ダイアログ・ボックスで「OK」をクリックします。

4	「OK」をクリックします。


OLEオブジェクトの編集

  関連項目

OLEオブジェクトをアクティブにすることにより、埋込みオブジェクトまたはリンク・オブジェクトを編集します。これにより、OLEオブジェクトを作成したOLEサーバー・アプリケーションが起動されます。

ユーザーのコンピュータでOLEサーバー・アプリケーションが使用できないとき、編集はOLEオブジェクトを永久的にまたは一時的に別のフォーマットに変換することによって行われます。

埋込みオブジェクトがForm Builderで変更されると、その変更はすぐにフォーム・モジュールで反映されます。なぜなら埋込みオブジェクトはフォーム・モジュールの一部として格納されるからです。

リンク・オブジェクトのソース・ファイルが変更されると、リンクオブジェクトは自動的にまたは手動で更新されます。自動更新では、すぐにOLEオブジェクトの変更が示されます。手動更新では、ドキュメントの変更の後で「リンク」ダイアログから「更新」を選択する必要があります。

自動または手動更新は、「リンク」ダイアログで設定されます。「リンク」ダイアログにより、編集のためのリンク・ソース・ファイルをオープンしたり、他のソースにリンクするOLEオブジェクトのリンクを変更したり、あるいはリンクを完全に解除したりすることができます。解除リンクはOLEコンテナに入っているOLEオブジェクトの固定イメージのままです｡リンク・ソース・ファイルの場所に関する情報は何も保持されません。


リンク・オブジェクトの自動更新

  関連項目

リンク・オブジェクトを自動的に更新するには:

1	レイアウト・エディタで、OLEコンテナをクリックします。

「OLEポップアップ・メニュー表示」プロパティが「はい」に設定され、「OLEポップアップ・メニュー項目」の「リンク」項目が「表示」および「使用可能」に設定されていることを確認します。

2	マウス・カーソルをOLEコンテナ上に移動します。（Microsoft Windowsプラットフォームの場合、マウスの右ボタンをクリックして）OLEポップアップ・メニューを表示し、「リンク」を選択します。

「リンク」ダイアログ・ボックスが表示されます。「リンク」ダイアログ・ボックスでは、選択したリンク・ソース・ファイルの現行更新オプションが表示されます。

3	「更新」ラベルの隣りに表示されている「自動」ラジオ・ボタンを選択します。

4	「Close」をクリックします。


OLEがリンクされたソース・ファイルのオープン

  関連項目

「リンク」ダイアログからリンク・ソース・ファイルをオープンするには:

1	レイアウト・エディタで、OLEコンテナをクリックします。

「OLEポップアップ・メニュー表示」プロパティが「はい」に設定され、「OLEポップアップ・メニュー項目」の「リンク」項目が「表示」および「使用可能」に設定されていることを確認します。

2	マウス・カーソルをOLEコンテナ上に移動します。（Microsoft Windowsプラットフォームの場合、マウスの右ボタンをクリックして）OLEポップアップ・メニューを表示し、「リンク」を選択します。

「リンク」ダイアログ・ボックスが表示されます。「リンク」ダイアログ・ボックスには、ソース・ファイルへのその時点でのリンクが表示されます。

3	ソース・ファイルへのリンクを選択します。

4	「リンク元を開く」をクリックします。

リンク・ソース・ファイルを作成したOLEサーバー・アプリケーションが起動されます。

5	リンク・ソース・ファイルを編集します。

6	変更情報を保存し、OLEサーバー・アプリケーションを終了し、Form Builderに戻ります。


既存のOLEリンクの変更

  関連項目

別のリンク・ソース・ファイルへ、既存のリンクを変更するには:

1	レイアウト・エディタで、OLEコンテナをクリックします。

「OLEポップアップ・メニュー表示」プロパティが「はい」に設定され、「OLEポップアップ・メニュー項目」の「リンク」項目が「表示」および「使用可能」に設定されていることを確認します。

2	マウス・カーソルをOLEコンテナ上に移動します。（Microsoft Windowsプラットフォームの場合、マウスの右ボタンをクリックして）OLEポップアップ・メニューを表示し、「リンク」を選択します。

「リンク」ダイアログ・ボックスが表示されます。「リンク」ダイアログには、その時点でのソース・ファイルへのリンクが表示されます。

3	ソース・ファイルへのリンクを選択し、次に、「リンク元の変更」をクリックします。

「リンク元の変更」ダイアログ・ボックスが表示されます。

4	別のリンク・ソース・ファイルを選択します。

5	「OK」をクリックして、新規リンクを確立します。

6	「Close」をクリックします。


リンクされたソース・ファイルへのリンクの解除

  関連項目

リンク・ソース・ファイルへのリンクを解除するには:

1	レイアウト・エディタで、OLEコンテナをクリックします。

「OLEポップアップ・メニュー表示」プロパティが「はい」に設定され、「OLEポップアップ・メニュー項目」の「リンク」項目が「表示」および「使用可能」に設定されていることを確認します。

2	マウス・カーソルをOLEコンテナ上に移動します。（Microsoft Windowsプラットフォームの場合、マウスの右ボタンをクリックして）OLEポップアップ・メニューを表示し、「リンク」を選択します。

「リンク」ダイアログ・ボックスが表示されます。「リンク」ダイアログには、その時点でのソース・ファイルへのリンクが表示されます。

3	ソース・ファイルへのリンクを選択し、次に「リンクの解除」をクリックします。リンクが「リンク」ダイアログ・ボックスから削除されることに注意してください。

4	「Close」をクリックします。


OLEオブジェクトの変換

  関連項目

あるフォーマットから別のフォーマットにOLEオブジェクトを変換すると、OLEオブジェクトを作成したOLEサーバー・アプリケーションが使用できないときにOLEオブジェクトを編集できます。

変換オプションは、OLEポップアップ・メニューの「オブジェクト」サブメニューで使用できます。永久的にオブジェクトを新しいフォーマットに変換するか、あるいは編集のためにオブジェクトを一時的に新しいフォーマットに変換します。

リンク・オブジェクト・ソース・ファイルはフォーム・モジュールの一部ではないので、Form Builderではリンク・オブジェクトをあるフォーマットから別のフォーマットに変換できません。リンク・オブジェクトの変換はソース・レベルからのみ行えます。


埋込みOLEオブジェクトの変換

埋込みOLEオブジェクトを変換するには:

1	レイアウト・エディタで、OLEコンテナをクリックします。

「OLEポップアップ・メニュー表示」プロパティが「はい」に設定され、「OLEポップアップ・メニュー項目」の「リンク」項目が「表示」および「使用可能」に設定されていることを確認します。

2	マウス・カーソルをOLEコンテナ上移動します。（Windowsの場合、マウスの右ボタンをクリックして）OLEポップアップ・メニューを表示し、「オブジェクト」 [image] 「変換」を選択します。

「変換」ダイアログ・ボックスが表示されます。このダイアログには、現行オブジェクト・タイプと変換の可能性が表示されます。

3	変換オブジェクト・タイプを選択します。

4	「変換形式」または「再生方法」のいずれかを選択します。「変換形式」を選択すると、オブジェクトのフォーマットが、選択したオブジェクト・タイプに永久的に変更されます。「再生方法」は、OLEサーバー・アプリケーションが検索できないときにオブジェクトを編集または表示するための方式を提供する一時的な変換です。

5	「OK」をクリックします。


OLEライブラリ・インタフェースのインポート

  関連項目

OLEメソッドをインポートするには:

1	「プログラム」 [image] 「OLEライブラリ・インタフェースのインポート...」を選択します。

「OLEライブラリ・インタフェースのインポート」ダイアログ・ボックスが表示されます。

2	OLEクラスを選択します。

「メソッド・パッケージ」と「イベント・パッケージ」は、選択したOLEクラスの場合に表示されます。

3	希望する「メソッド・パッケージ」を「Ctrl」キーを押しながらクリックします。

4	「メソッド」チェックボックスを選択して、メソッドをインポートします。

5	「プロパティ」チェックボックスを選択して、プロパティを取得し、プロパティのアクセッサを設定します。

6	「OK」をクリックします。

オブジェクト・ナビゲータでは、「プログラム単位」ノードの下で新たに作成したパッケージに注意してください。

注意: OLEオブジェクトは、メソッドを開示するインタフェースをエクスポートします。Form BuilderはPL/SQLにメソッドをインポートします。これにより、ネイティブのForm Builder環境でOLEオブジェクトと対話できます。


OLEオブジェクトとの対話

  関連項目

次の2通りの方法でOLEオブジェクトと対話できます。

•	OLEプロパティの設定と取得

•	OLEメソッドのコール


OLEプロパティの設定と取得

制限事項	例	     関連項目

OLEプロパティを設定し、取得する方法が2通りあります。

•	バインド変数構文

•	プロパティ・アクセッサ（PL/SQLプロシージャ）

バインド変数構文を使用してOLEプロパティを設定し、取得するには:

:item('block_name.item_name').ocx.server_name.propertyバインド変数構文を使用して、プロパティ値を割り当てるか、あるいは検索します。ここで、block_nameはデータ・ブロックの名前、item_nameはActiveXコントロール項目の名前、server_nameはActiveXサーバー・オブジェクトの名前、プロパティはアクセス中のActiveXコントロール・プロパティの名前です。

プロパティ・アクセッサを使用して、OLEプロパティを設定し、取得するには:

プロパティ・アクセッサ機能を使用してプロパティ値を取得し、次に、プロパティ・アクセッサ・プロシージャを使用してプロパティ値を設定します。


OLEプロパティの設定と取得の例

制限事項

例1

/* Setting an OLE property using bind variable syntax */

:item('OLEitem').OCX.SpreadSheet.CellForeGroundColor:=
:item('OLEitem').OCX.SpreadSheet.CellForeGroundColor + 1;

OLEitemは項目の名前、SpreadSheetはOLEコントロール・サーバーの名前、CellForeGroundColorはプロパティの名前です。

例2

/* Setting an OLE property using set accessor */

Variant OleVar;
Variant := EXCEL_WORKSHEET.ole_Range(:CTRL.interface,
To_variant('A1'));

EXCEL_WORKSHEETは、「OLEインポータ」から作成したパッケージの名前です｡OLE_RANGEはプロパティ・アクセッサの名前です。


OLEプロパティの設定と取得の例に関する制限事項

•	:item('OLEitm').OCX.server_name.property_nameは、server_nameがユーザーのマシンにない場合にはコンパイルされません。

•	 OLEプロパティ・タイプの決定がUNIXプラットフォーム上で行うことができないのでMicrosoft Windows以外のプラットフォームで、コンパイラは、警告を出すことがあります。

•	OLEオブジェクトが異なる言語に対して別個のプロパティ・タイプをエクスポートする場合にはユーザーのフォームはコンパイルされません。

•	アクセスされるOLEプロパティはバリアント型ではありません。


OLEオートメーション・メソッドのコール

 例	     関連項目

「OLEインポータ」から作成されたプログラム単位を有するOLEオブジェクトによって提供されるメソッドにアクセスします。「プログラム単位」ノードの下において使用できるパッケージで提供される任意の方式をコールします。

注意: Microsoft Excelなどの一部のOLEサーバーはVariantを使用します。これら特定のサーバーの方式のうち多くのものは、Variantを使用する必要があるので、STANDARDビルトインパッケージはVariantへのおよびそのタイプからの必要な変換を行うためのプロシージャや機能を提供します。Variantの有効期間と有効範囲はトリガーに限定されます。つまり、トリガーが終了すると、可変メモリー空間が解放されます。しかし、To_Variant()のpersistentパラメータをTRUEに設定し、その結果をグローバル変数の割り当てると、Variant型変数の有効期間を延長し、その有効範囲を拡大できます。グローバル変数は、Destroy_Variant()を使用して明示的に破棄する必要があります。同様に、Create_OleObj()で作成したOLEオブジェクトは有効範囲はグローバルです（persistentパラメータのデフォルトはTRUEです）。グローバル・オブジェクトを解放する場合はRelease_Obj()を明示的にコールする必要があります。


OLEオートメーション・メソッドのコールの例

例1

/*

Set the value of a single cell in Microsoft Excel using the automatically generated PL/SQL methods.
*/

DECLARE
/* Create a variable of variant type.*/
Variant OleVar;

BEGIN
/* Find the range of the cells you want to interact with */
Variant := EXCEL_WORKSHEET.ole_Range(
                              :CTRL.interface,
                               To_Variant('A1'));

/* Set cell A1 to contain 20 */
EXCEL_RANGE.Value(
           Var_to_Obj(Variant),
           To_Variant('20'));
END;


Open APIについて

  関連項目

Form Builder Open APIは、Formオブジェクトとそれらのリレーションを十分に理解したC/C++開発者のための高度な機能です。

Form Builderは、オープンなアプリケーション・プログラミング・インタフェースを提供するので、フォーム・モジュール（.fmbファイル）を作成または修正できます。Open APIは非対話式環境でフォーム・モジュールを作成または修正するパワーと柔軟性を提供します。C/C++プログラマを念頭に設計されています。


Open APIのヘッダー・ファイルについて

  関連項目

Open APIはCヘッダー・ファイルのセットで提供されます。オブジェクト型ごとに1つのCヘッダー・ファイルがあります。Form Builderのオブジェクトのタイプと、対応するヘッダー・ファイルのリストを以下に示します。

Attached Library	d2falb.h
Alert	d2falt.h
Block	d2fblk.h
Canvas	d2fcnv.h
Data Source Argument	d2fdsa.h
Data Source	d2fdsc.h
Editor	d2fedt.h
Form Module	d2ffmd.h
Form Parameter	d2ffpm.h
Graphics Object	d2fgra.h
Item	d2fitm.h
LOV column mapping	d2flcm.h
LOV	d2flov.h
Menu Module	d2fmmd.h
Menu Item	d2fmni.h
Menu	d2fmnu.h
Menu Parameter	d2fmpm.h
Generic Object	d2fob.h
Object Group	d2fobg.h
Object Group Child	d2fogc.h
Object Library	d2folb.h
Object Library Tab	d2folt.h
Program Unit	d2fpgu.h
Property Class	d2fppc.h
Property	d2fpr.h
Record Group	d2frcg.h
Record Group Column Specification	d2frcs.h
Radio Button	d2frdb.h
Relation	d2frel.h
Report	d2frpt.h
Tab Page	d2ftbp.h
Trigger	d2ftrg.h
Visual Attribute	d2fvat.h
Window	d2fwin.h

また次のような、特定のForm Builderオブジェクトに対応していないが、Open APIの使用に関わる情報の入ったCヘッダー・ファイルのグループがあります。

API context manipulation functions	d2fctx.h
Lists all objects and all properties	d2fdef.h
Utilities for manipulating properties	d2fpr.h
Errors	d2ferr.h
Native ORACLE types	oratypes.h


Open APIのオブジェクトとリレーションについて

  関連項目

次の図に、Form Builderオブジェクトとそれぞれのリレーションについて示します。


Open APIのオブジェクト別プロパティについて

  関連項目

Form Builder Open APIオブジェクトにはどれにも、次のOpen APIプロパティが1セット入っています。

オブジェクトごとのAPIプロパティ

警告

連結ライブラリ

ブロック

キャンバス

データ・ソース引数

データ・ソース列

エディタ

フォーム・モジュール

フォーム・パラメータ

グラフィックス

項目

値リスト列マッピング

値リスト

メニュー・オブジェクト

メニュー・モジュール

メニュー項目

メニュー・パラメータ

オブジェクト（一般オブジェクト）

オブジェクト・グループ

子オブジェクト・グループ

オブジェクト・ライブラリ

プログラム単位

プロパティ・クラス

ラジオ・ボタン

レコード・グループ

レコード・グループ列仕様部

リレーション・オブジェクト

レポート・オブジェクト

タブ・ページ

トリガー

可視属性

ウィンドウ


「警告」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_ALT_MSG	メッセージ
D2FP_ALT_STY	警告スタイル
D2FP_BACK_COLOR	バックグラウンド・カラー
D2FP_BTN_1_LBL	ボタン1のラベル
D2FP_BTN_2_LBL	ボタン2のラベル
D2FP_BTN_3_LBL	ボタン3レベル
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_DFLT_ALT_BTN	デフォルト警告ボタン
D2FP_FILL_PAT	塗りパターン
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_FORE_COLOR	フォアグラウンド・カラー
D2FP_LANG_DIR	方向
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE
D2FP_TITLE	タイトル
D2FP_VAT_NAM	可視属性グループ
D2FP_VAT_OBJ	D2FP_VAT_OBJ
D2FP_WHITE_ON_BLACK	白黒


「連結ライブラリ」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_LIB_LOC	PL/SQLライブラリ位置
D2FP_LIB_SRC	PL/SQLライブラリ・ソース
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_PREVIOUS	D2FP_PREVIOUS


「ブロック」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_BACK_COLOR	バックグラウンド・カラー
D2FP_BLK_DESCRIPTION	データ・ブロックの記述
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_DB_BLOCK	データ・ブロック
D2FP_DEL_ALLOWED	削除可
D2FP_DEL_PROC_NAM	削除プロシージャ名
D2FP_DML_ARY_SIZ	DML配列サイズ
D2FP_DML_DAT_NAM	DMLデータ宛先名
D2FP_DML_DAT_TYP	DMLデータ宛先タイプ
D2FP_ENFRC_COL_SECURITY	列セキュリティ強制
D2FP_ENFRC_PRMRY_KEY	主キー強化
D2FP_FILL_PAT	塗りパターン
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_FORE_COLOR	フォアグラウンド・カラー
D2FP_INSRT_ALLOWED	挿入可
D2FP_INSRT_PROC_NAM	挿入プロシージャ名
D2FP_ITEM	D2FP_ITEM
D2FP_KEY_MODE	キー・モード
D2FP_LANG_DIR	方向
D2FP_LOCK_MODE	ロック・モード
D2FP_LOCK_PROC_NAM	ロック・プロシージャ名
D2FP_LST_IN_BLK_MNU	ブロック・メニューにリスト済み
D2FP_MAX_QRY_TIME	最長問合せ時間
D2FP_MAX_RECS_FETCHED	フェッチ･レコードの最大数
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NAVIGATION_STY	ナビゲーション・スタイル
D2FP_NEXT	D2FP_NEXT
D2FP_NXT_NAVIGATION_BLK_OBJ	D2FP_NXT_NAVIGATION_BLK_OBJ
D2FP_NXT_NAVIGATION_BLK_NAM	次のナビゲーション・データ・ブロック
D2FP_OPT_HINT	オプティマイザ・ヒント
D2FP_ORDER_BY_CLAUSE	ORDER BY句
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PRECOMP_SUMM	D2FP_PRECOMP_SUMM
D2FP_PREV_NAVIGATION_BLK_NAM	前のナビゲーション・ブロック
D2FP_PREV_NAVIGATION_BLK_OBJ	D2FP_PREV_NAVIGATION_BLK_OBJ
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_QRY_ALL_RECS	すべてのレコードを問合せ
D2FP_QRY_ALLOWED	問合せ可
D2FP_QRY_DAT_SRC_NAM	問合せデータ・ソース名
D2FP_QRY_DAT_SRC_TYP	問合わせデータ・ソース・タイプ
D2FP_REC_ORNT	レコード・オリエンテーション
D2FP_REC_VAT_GRP_NAM	現行レコード・可視属性グループ
D2FP_REC_VAT_GRP_OBJ	D2FP_REC_VAT_GRP_OBJ
D2FP_RECS_BUFFERED_COUNT	バッファされるレコード数
D2FP_RECS_DISP_COUNT	表示されるレコード数
D2FP_RECS_FETCHED_COUNT	Records_to_Fetch
D2FP_REL	D2FP_REL
D2FP_REV_DIR	逆方向
D2FP_SCRLBR_CNV_NAM	スクロール・バー・キャンバス
D2FP_SCRLBR_CNV_OBJ	D2FP_SCRLBR_CNV_OBJ
D2FP_SCRLBR_HGT	スクロール・バー高さ
D2FP_SCRLBR_ORNT	スクロール・バー方向
D2FP_SCRLBR_TBP_NAM	スクロール・バー・タブ・ページ
D2FP_SCRLBR_TBP_OBJ	D2FP_SCRLBR_TBP_OBJ
D2FP_SCRLBR_WID	スクロール・バー幅
D2FP_SCRLBR_X_POS	スクロール・バーX位置
D2FP_SCRLBR_Y_POS	スクロール・バーY位置
D2FP_SHOW_SCRLBR	スクロール・バー表示
D2FP_SNGL_REC	単一レコード
D2FP_SOURCE	D2FP_SOURCE
D2FP_TRIGGER	D2FP_TRIGGER
D2FP_UPDT_ALLOWED	更新可
D2FP_UPDT_CHANGED_COLS	変更列のみ更新
D2FP_UPDT_PROC_NAM	更新プロシージャ名
D2FP_VAT_NAM	可視属性グループ
D2FP_VAT_OBJ	D2FP_VAT_OBJ
D2FP_WHERE_CLAUSE	WHERE句
D2FP_WHITE_ON_BLACK	白黒


「キャンバス」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_BACK_COLOR	バックグラウンド・カラー
D2FP_BEVEL	凹凸
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_CNV_TYP	キャンバス・タイプ
D2FP_COMMENT	コメント
D2FP_FILL_PAT	塗りパターン
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_FORE_COLOR	フォアグラウンド・カラー
D2FP_GRAPHIC	D2FP_GRAPHIC
D2FP_HEIGHT	高さ
D2FP_LANG_DIR	方向
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_POPUP_MNU_NAM	ポップアップ・メニュー
D2FP_POPUP_MNU_OBJ	D2FP_POPUP_MNU_OBJ
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_RAISE_ON_ENT	エントリでレイズ
D2FP_SHOW_HORIZ_SCRLBR	水平スクロール・バー
D2FP_SHOW_VERT_SCROLL	スクロール・バー垂直表示
D2FP_SOURCE	D2FP_SOURCE
D2FP_TAB_ATT_EDGE	タブ・連結枠
D2FP_TAB_PAGE	タブ・ページ
D2FP_TAB_STY	タブ・スタイル
D2FP_VAT_NAM	可視属性グループ
D2FP_VAT_OBJ	D2FP_VAT_OBJ
D2FP_VISIBLE	可視
D2FP_VPRT_HGT	ビューポートの高さ
D2FP_VPRT_WID	ビューポートの幅
D2FP_VPRT_X_POS	ビューポートX位置
D2FP_VPRT_X_POS_ON_CNV	キャンバス上のビューポートのX位置
D2FP_VPRT_Y_POS	ビューポートY位置
D2FP_VPRT_Y_POS_ON_CNV	キャンバス上のビューポートのY位置
D2FP_WHITE_ON_BLACK	白黒
D2FP_WIDTH	幅
D2FP_WND_NAM	ウィンドウ
D2FP_WND_OBJ	D2FP_WND_OBJ


「データ・ソース引数」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_DSA_MODE	D2FP_DSA_MODE
D2FP_DSA_NAM	D2FP_DSA_NAM
D2FP_DSA_TYP	D2FP_DSA_TYP
D2FP_DSA_TYPE_NAM	D2FP_DSA_TYP_NAM
D2FP_DSA_VAL	D2FP_DSA_VAL
D2FP_NEXT	D2FP_NEXT
D2FP_PREVIOUS	D2FP_PREVIOUS


「データ・ソース列」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_DSC_LEN	D2FP_DSC_LEN
D2FP_DSC_MANDATORY	D2FP_DSC_MANDATORY
D2FP_DSC_NAM	D2FP_DSC_NAM
D2FP_DSC_PRECISION	D2FP_DSC_PRECISION
D2FP_DSC_SCALE	D2FP_DSC_SCALE
D2FP_DSC_TYP	D2FP_DSC_TYPE
D2FP_NEXT	D2FP_NEXT
D2FP_PREVIOUS	D2FP_PREVIOUS


「エディタ」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_BACK_COLOR	バックグラウンド・カラー
D2FP_BTM_TTL	下タイトル
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_FILL_PAT	塗りパターン
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_FORE_COLOR	フォアグラウンド・カラー
D2FP_HEIGHT	高さ
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SHOW_HORZ_SCRLBR	スクロール・バー水平表示
D2FP_SHOW_VERT_SCRLBR	スクロール・バー垂直表示
D2FP_SOURCE	D2FP_SOURCE
D2FP_TITLE	タイトル
D2FP_VAT_NAM	可視属性グループ
D2FP_VAT_OBJ	D2FP_VAT_OBJ
D2FP_WHITE_ON_BLACK	白黒
D2FP_WIDTH	幅
D2FP_WRAP_STY	ラップ形式
D2FP_X_POS	X位置/Y位置
D2FP_Y_POS	X位置/Y位置


フォーム・モジュールのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_ALERT	D2FP_ALERT
D2FP_ATT_LIB	D2FP_ATT_LIB
D2FP_BLOCK	D2FP_BLOCK
D2FP_CANVAS	D2FP_CANVAS
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_CONSOLE_WIN	コンソール・ウィンドウ
D2FP_CRSR_MODE	カーソル・モード
D2FP_EDITOR	エディタ
D2FP_FORM_PARAM	D2FP_FORM_PARAM
D2FP_FRST_NAVIGATION_BLK_NAM	最初のナビゲーション・ブロック
D2FP_FRST_NAVIGATION_BLK_OBJ	D2FP_FIRST_NAVIGATION_BLK_OBJ
D2FP_HORZ_TLBR_CNV	フォーム水平ツールバーのキャンバス
D2FP_INIT_MNU	初期メニュー
D2FP_INTERACTION_MODE	対話モード
D2FP_ISOLATION_MODE	孤立モード
D2FP_LANG_DIR	方向
D2FP_LOV	値のリスト
D2FP_MAX_QRY_TIME	最長問合せ時間
D2FP_MAX_RECS_FETCHED	フェッチ･レコードの最大数
D2FP_MENU	D2FP_MENU
D2FP_MNU_MOD	メニュー・モジュール
D2FP_MNU_ROLE	メニュー・ロール
D2FP_MNU_SRC	メニュー・ソース
D2FP_MNU_STY	メニュー・スタイル
D2FP_MOUSE_NAVIGATION_LMT	マウス・ナビゲーション限界
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OBJ_GRP	D2FP_OBJ_GRP
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_PROG_UNIT	D2FP_PROG_UNIT
D2FP_PROP_CLASS	プロパティ・クラス
D2FP_REC_GRP	レコード・グループ
D2FP_REC_VAT_GRP_NAM	現行レコード・可視属性グループ
D2FP_REC_VAT_GRP_OBJ	D2FP_REC_VAT_GRP_OBJ
D2FP_REPORT	D2FP_REPORT
D2FP_SVPNT_MODE	セーブポイント・モード
D2FP_TITLE	タイトル
D2FP_TRIGGER	D2FP_TRIGGER
D2FP_USE_3D_CNTRLS	3Dコントロール使用
D2FP_VALIDATION_UNIT	有効単位
D2FP_VERT_TLBR_CNV	フォーム垂直ツールバーのキャンバス
D2FP_VIS_ATTR	D2FP_VIS_ATTR
D2FP_WINDOW	ウィンドウ


フォーム・パラメータのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_MAX_LEN	最大長
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PARAM_DAT_TYPE	パラメータのデータ型
D2FP_PARAM_INIT_VAL	パラメータの初期値
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE


｢グラフィックス｣オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_ALLOW_EXPANSION	拡大を許可する
D2FP_ALLOW_MLT_LIN_PRMPTS	複数行プロンプト使用可
D2FP_ALLOW_STRT_ATT_PRMPTS	開始時接続プロンプトを許可する
D2FP_ALLOW_TOP_ATT_PRMPTS	上一連結プロンプト使用可
D2FP_ARROW_STY	矢印スタイル
D2FP_BEVEL	凹凸
D2FP_CAP_STY	オブジェクト枠キャップ・スタイル
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_CLIP_HGT	クリッピング四角形の高さ
D2FP_CLIP_WID	クリッピング四角形の幅
D2FP_CLIP_X_POS	クリッピング四角形のX原点
D2FP_CLIP_Y_POS	クリッピング四角形のY原点
D2FP_CLOSED	多角形フラグ/円弧の閉じ
D2FP_CORNER_RADIUS_X	X角の半径
D2FP_CORNER_RADIUS_Y	Y角の半径
D2FP_CSTM_SPCING	カスタム・スペース
D2FP_DASH_STY	オブジェクト・エッジの線種
D2FP_DISP_QLTY	表示品質
D2FP_DIST_BTWN_RECS	レコード間の距離
D2FP_DITHER	グラフィックス・ディザー・イメージ
D2FP_EDGE_BACK_COLOR	オブジェクト枠バックグラウンド・カラー
D2FP_EDGE_FORE_COLOR	境界線フォアグラウンド・カラー
D2FP_END_ANGLE	端形式
D2FP_FIXED_BOUNDING_BX	オブジェクト枠ボックスの固定サイズ
D2FP_FONT_SCALEABLE	オブジェクトを伴うポイント・サイズ・スネークオブジェクト
D2FP_FRAME_ALIGN	枠整列
D2FP_FRAME_TTL	枠タイトル
D2FP_FRAME_TTL_ALIGN	枠タイトル整列
D2FP_FRAME_TTL_BACK_COLOR	枠タイトル・バックグラウンド・カラー
D2FP_FRAME_TTL_FILL_PAT	枠タイトル塗りパターン
D2FP_FRAME_TTL_FONT_NAM	枠タイトル・フォント名
D2FP_FRAME_TTL_FONT_SIZ	枠タイトル・フォント・サイズ
D2FP_FRAME_TTL_FONT_SPCING	枠タイトル・フォント間隔
D2FP_FRAME_TTL_FONT_STY	枠タイトル・フォント・スタイル
D2FP_FRAME_TTL_FONT_WGHT	枠タイトル・フォントの太さ
D2FP_FRAME_TTL_FORE_COLOR	枠タイトル・フォアグラウンド・カラー
D2FP_FRAME_TTL_OFST	枠タイトルのオフセット
D2FP_FRAME_TTL_SPCING	枠タイトルの間隔
D2FP_FRAME_TTL_VAT_NAM	枠タイトル・可視属性グループ
D2FP_FRAME_TTL_VAT_OBJ	D2FP_FRAME_TTL_VAT_OBJ
D2FP_GRA_DIST_BTWN_RECS	レコード間のグラフィックス距離
D2FP_GRA_FONT_NAM	グラフィックス・フォント名
D2FP_GRA_FONT_SIZ	グラフィックス・フォント・サイズ
D2FP_GRA_FONT_STY	グラフィックス・フォント・スタイル
D2FP_GRA_TEXT	グラフィクス・テキスト
D2FP_GRAPHIC	D2FP_GRAPHIC
D2FP_GRAPHICS_TYP	グラフィックス・オブジェクト・タイプ
D2FP_HEIGHT	高さ
D2FP_HORZ_JST	テキスト・オブジェクトの水平方向の揃え
D2FP_HORZ_MARGN	水平マージン
D2FP_HORZ_OBJ_OFST	水平オブジェクト・オフセット
D2FP_HORZ_ORGN	原点からの水平相対位置
D2FP_INVISIBLE	不可視テキスト
D2FP_JOIN_STY	オブジェクト枠の接合形式
D2FP_LANG_DIR	方向
D2FP_LAYOUT_DATA_BLK_NAM	レイアウト・データ・ブロック
D2FP_LAYOUT_STY	レイアウト・スタイル
D2FP_LIN_SPCING	線の間隔
D2FP_LIN_WID	線幅
D2FP_MAX_OBJS	行ごとの最大オブジェクト
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_POINT	フォント・ポイント・サイズ
D2FP_RECS_DISP_COUNT	表示されるレコードの数
D2FP_ROTATION_ANGLE	回転角度
D2FP_SCRLBR_ALIGN	スクロール・バー整列
D2FP_SCRLBR_WID	スクロール・バー幅
D2FP_SHRINKWRAP	シュリンクラップ
D2FP_SNGL_OBJ_ALIGN	シングル・オブジェクト位置
D2FP_SOURCE	D2FP_SOURCE
D2FP_STRT_ANGLE	開始角度
D2FP_STRT_PRMPT_ALIGN	スタート・プロンプトの位置
D2FP_STRT_PRMPT_OFST	開始プロンプトのオフセット
D2FP_TBP_NAM	D2FP_TBP_NAM
D2FP_TBP_OBJ	D2FP_TBP_OBJ
D2FP_TOP_PRMPT_ALIGN	トップ・プロンプト位置
D2FP_TOP_PRMPT_OFST	上プロンプトのオフセット
D2FP_TTL_READING_ORDR	タイトル読取り順序
D2FP_UPDT_LAYOUT	レイアウト更新
D2FP_VERT_FILL	垂直方向の埋込み
D2FP_VERT_JST	垂直文字位置
D2FP_VERT_MARGN	垂直方向余白
D2FP_VERT_OBJ_OFST	垂直方向のオブジェクト・オフセット
D2FP_VERT_ORGN	原点からの垂直相対位置
D2FP_WIDTH	幅
D2FP_WRAP_TXT	テキストの折り返し
D2FP_X_POS	X位置/Y位置
D2FP_Y_POS	X位置/Y位置


｢項目｣オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_ACCESS_KEY	アクセス・キー
D2FP_AUDIO_CHNNLS	オーディオ・チャネル
D2FP_AUTO_HINT	ヒントの自動表示
D2FP_AUTO_SKP	自動スキップ
D2FP_BACK_COLOR	バックグラウンド・カラー
D2FP_BEVEL_STY	凹凸
D2FP_CALC_MODE	計算モード
D2FP_CASE_INSENSITIVE_QRY	小/大文字区別なしの問合せ
D2FP_CASE_RSTRCTION	小/大文字区別
D2FP_CHK_BX_OTHER_VALS	ほかの値のチェックボックス・マッピング
D2FP_CHKED_VAL	チェック時の値
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_CMPRSSION_QLTY	圧縮品質
D2FP_CNV_NAM	キャンバス
D2FP_CNV_OBJ	D2FP_CNV_OBJ
D2FP_COL_NAM	列名
D2FP_COMM_MODE	通信モード
D2FP_COMMENT	コメント
D2FP_COMPRESS	圧縮
D2FP_CONCEAL_DATA	挿入可データ隠蔽
D2FP_COPY_VAL_FROM_ITM	（項目の）コピー値
D2FP_DAT_SRC_BLK	データ・ソース・ブロック
D2FP_DAT_SRC_X_AXS	データ・ソースX軸
D2FP_DAT_SRC_Y_AXS	データ・ソースY軸
D2FP_DAT_TYP	データ型
D2FP_DB_ITM	データベース項目
D2FP_DFLT_BTN	デフォルト・ボタン
D2FP_DISP_QLTY	表示品質
D2FP_DIST_BTWN_RECS	レコード間の距離
D2FP_EDT_NAM	エディタ
D2FP_EDT_OBJ	D2FP_EDT_OBJ
D2FP_EDT_X_POS	エディタX位置, エディタY位置
D2FP_EDT_Y_POS	エディタX位置, エディタY位置
D2FP_ENABLED	使用可能
D2FP_EXEC_MODE	実行モード
D2FP_FILL_PAT	塗りパターン
D2FP_FIXED_LEN	固定長
D2FP_FLNAM	File_Name
D2FP_FMT_MSK	書式マスク
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_FORE_COLOR	フォアグラウンド・カラー
D2FP_FORMULA	式
D2FP_HEIGHT	高さ
D2FP_HIGHEST_ALLOWED_VAL	最高許容値
D2FP_HINT	ヒント
D2FP_ICON_FLNAM	アイコン・フレーム名
D2FP_ICONIC	メニューのアイコン
D2FP_IMG_DPTH	イメージ深さ
D2FP_IMG_FMT	イメージ形式
D2FP_INIT_KBRD_DIR	初期キーボード・ディレクション
D2FP_INIT_VAL	初期値
D2FP_INSRT_ALLOWED	挿入可
D2FP_ITM_TYP	項目タイプ
D2FP_ITMS_DISP	表示項目数
D2FP_JUSTIFICATION	文字位置
D2FP_KBRD_NAVIGABLE	キーボードで移動可能
D2FP_KEEP_CRSR_POS	カーソル位置を保持
D2FP_LABEL	ラベル
D2FP_LANG_DIR	方向
D2FP_LOCK_REC	レコード・ロック
D2FP_LOV_NAM	X位置のリスト
D2FP_LOV_OBJ	D2FP_LOV_OBJ
D2FP_LOV_X_POS	値リスト
D2FP_LOV_Y_POS	Y位置のリスト
D2FP_LOWEST_ALLOWED_VAL	最低許容値
D2FP_LST_ELEMENT_COUNT	リスト内の要素
D2FP_LST_STY	リスト形式
D2FP_MAX_LEN	最大長
D2FP_MLT_LIN	複数行
D2FP_MODULE	D2FP_MODULE
D2FP_MOUSE_NAVIGATE	マウス・ナビゲート
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_NXT_NAVIGATION_ITM_OBJ	D2FP_NXT_NAVIGATION_ITM_OBJ
D2FP_NXT_NAVIGATION_ITM_NAM	次ナビゲーション項目
D2FP_ACTIVEX_CLASS	OLEクラス
D2FP_ACTIVEX_VAL_PROP	制御プロパティ
D2FP_OLE_ACT_STY	OLEアクティブ・スタイル
D2FP_OLE_CLASS	OLEクラス
D2FP_OLE_IN_PLACE_ACT	OLE内部アクティブ化
D2FP_OLE_INSD_OUT_SUPPORT	OLEインサイド・アウト・サポート
D2FP_OLE_POPUP_MNU_ITMS	OLEポップアップ・メニュー項目
D2FP_OLE_RESIZ_STY	OLEサイズ変更スタイル
D2FP_OLE_SHOW_POP_UP_MNU	OLEポップアップ・メニュー表示
D2FP_OLE_SHOW_TNNT_TYP	OLEテナント・タイプ表示
D2FP_OLE_TNNT_ASPCT	OLEテナント・アスペクト
D2FP_OLE_TNNT_TYP	OLEテナント・タイプ
D2FP_OTHER_VALS	ほかの値のマッピング
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_POPUP_MNU_NAM	ポップアップ・メニュー
D2FP_POPUP_MNU_OBJ	D2FP_POPUP_MNU_OBJ
D2FP_POPUP_VA_OBJ	D2FP_POPUP_VA_OBJ
D2FP_PREV_NAVIGATION_ITM_NAM	前ナビゲーション項目名
D2FP_PREV_NAVIGATION_ITM_OBJ	D2FP_PREV_NAVIGATION_ITM_OBJ
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_PRMPT	プロンプト
D2FP_PRMPT_ALIGN	プロンプト整列
D2FP_PRMPT_ALIGN_OFST	プロンプト整列オフセット
D2FP_PRMPT_ATT_EDGE	プロンプト連結枠
D2FP_PRMPT_ATT_OFST	プロンプト・アタッチメント・オフセットを確認する
D2FP_PRMPT_BACK_COLOR	プロンプトのバックグラウンド・カラー
D2FP_PRMPT_DISP_STY	プロンプト表示スタイル
D2FP_PRMPT_FILL_PAT	塗りパターンを確認する
D2FP_PRMPT_FONT_NAM	フォント名を確認する
D2FP_PRMPT_FONT_SIZ	フォント・サイズを確認する
D2FP_PRMPT_FONT_SPCING	フォント間隔を確認する
D2FP_PRMPT_FONT_STY	フォント・スタイルを確認する
D2FP_PRMPT_FONT_WGHT	フォントの太さを確認
D2FP_PRMPT_FORE_COLOR	プロンプトのフォアグラウンド・カラー
D2FP_PRMPT_JST	プロンプト文字位置
D2FP_PRMPT_READING_ORDR	プロンプトの読込み順
D2FP_PRMPT_VAT_NAM	プロンプトの可視属性グループ
D2FP_PRMPT_VAT_OBJ	D2FP_PRMPT_VAT_OBJ
D2FP_PRMRY_KEY	主キー
D2FP_QRY_ALLOWED	問合せ可
D2FP_QRY_LEN	問合せ長
D2FP_QRY_ONLY	問合せのみ
D2FP_RAD_BUT	D2FP_RAD_BUT
D2FP_READING_ORDR	読取り順序
D2FP_REC_VAT_GRP_NAM	現行レコード・可視属性グループ
D2FP_REC_VAT_GRP_OBJ	D2FP_REC_VAT_GRP_OBJ
D2FP_RENDERED	レンダリング済み
D2FP_REQUIRED	必須
D2FP_SHOW_FAST_FWD	早送りボタン表示
D2FP_SHOW_HORZ_SCRLBR	水平スクロール・バーを表示
D2FP_SHOW_PALETTE	パレットを表示
D2FP_SHOW_PLAY	再生ボタンを表示
D2FP_SHOW_REC	録音ボタンを表示
D2FP_SHOW_REWIND	巻戻しボタン表示
D2FP_SHOW_SLIDER	スライダを表示
D2FP_SHOW_TIME	タイム・インジケータを表示
D2FP_SHOW_VERT_SCRLBR	垂直スクロール・バーを表示
D2FP_SHOW_VOLUME	音量ボタン表示
D2FP_SIZING_STY	サイジング・スタイル
D2FP_SND_FMT	サウンド形式
D2FP_SND_QLTY	サウンド品質
D2FP_SOURCE	D2FP_SOURCE
D2FP_SUMM_BLK_NAM	サマリー済みブロック
D2FP_SUMM_FUNC	サマリー･ファンクション
D2FP_SUMM_ITM_NAM	サマリー結果項目
D2FP_SYNC_ITM_NAM	項目と同期化
D2FP_SYNC_ITM_OBJ	D2FP_SYNC_ITM_OBJ
D2FP_TBP_NAM	D2FP_TBP_NAM
D2FP_TBP_OBJ	D2FP_TBP_OBJ
D2FP_TOOLTIP	ツールチップ
D2FP_TOOLTIP_VAT_GRP	ツールチップの可視属性グループ
D2FP_TRIGGER	D2FP_TRIGGER
D2FP_UNCHKED_VAL	チェックなしの場合の値
D2FP_UPDT_ALLOWED	更新可
D2FP_UPDT_COMMIT	更新コミット
D2FP_UPDT_IF_NULL	NULLのみ更新
D2FP_UPDT_QRY	問合せ時に更新
D2FP_VALIDATE_FROM_LIST	リストで妥当性チェック
D2FP_VAT_NAM	可視属性グループ
D2FP_VAT_OBJ	D2FP_VAT_OBJ
D2FP_VISIBLE	可視
D2FP_WHITE_ON_BLACK	白黒
D2FP_WIDTH	幅
D2FP_WRAP_STY	ラップ形式
D2FP_X_POS	X位置/Y位置
D2FP_Y_POS	X位置/Y位置


値リストの列マッピング・オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_DISP_WID	表示幅
D2FP_NAME	名前
D2FP_RTRN_ITM	戻り項目
D2FP_TITLE	タイトル


「値リスト（LOV）」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_AUTO_COL_WID	自動列幅
D2FP_AUTO_DISP	自動表示
D2FP_AUTO_POS	自動位置
D2FP_AUTO_RFRSH	自動最新表示
D2FP_AUTO_SKP	自動スキップ
D2FP_AUTO_SLCT	自動選択
D2FP_BACK_COLOR	バックグラウンド・カラー
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COL_MAP	値リスト列マッピング
D2FP_COMMENT	コメント
D2FP_FILL_PAT	塗りパターン
D2FP_FLTR_BEFORE_DISP	表示前フィルタ
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_FORE_COLOR	フォアグラウンド・カラー
D2FP_HEIGHT	高さ
D2FP_LANG_DIR	方向
D2FP_LST_TYP	リスト・タイプ
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OLD_LOV_TXT	古い値リスト・テキスト
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_REC_GRP_NAM	レコード・グループ
D2FP_REC_GRP_OBJ	D2FP_REC_GRP_OBJ
D2FP_SOURCE	D2FP_SOURCE
D2FP_TITLE	タイトル
D2FP_VAT_NAM	可視属性グループ
D2FP_VAT_OBJ	D2FP_VAT_OBJ
D2FP_WHITE_ON_BLACK	白黒
D2FP_WIDTH	幅/高さ
D2FP_X_POS	X位置/Y位置
D2FP_Y_POS	X位置/Y位置


「メニュー」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_BTM_TTL	下タイトル
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_MNU_ITM	メニュー項目コード
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE
D2FP_SUB_TTL	サブタイトル
D2FP_TEAR_OFF_MNU	切離しメニュー
D2FP_TITLE	タイトル


「メニュー・モジュール」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_ATT_LIB	D2FP_ATT_LIB
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_MAIN_MNU	メイン・メニュー
D2FP_MENU	D2FP_MENU
D2FP_MNU_DESCRIPTION	メニュー説明
D2FP_MNU_DRCTRY	メニュー・ディレクトリ
D2FP_MNU_FLNAM	メニュー・ファイル名
D2FP_NAME	名前
D2FP_OBJ_GRP	D2FP_OBJ_GRP
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PROP_CLASS	プロパティ・クラス
D2FP_SHARE_LIB	ライブラリをフォームと共有
D2FP_SHORT_NAM	短縮名
D2FP_STRTUP_CODE	起動コード
D2FP_USE_SECURITY	セキュリティ使用


「メニュー項目」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COM_TXT	コマンド・テキスト
D2FP_COM_TYP	コマンド・タイプ
D2FP_COMMENT	コメント
D2FP_DISP_NO_PRIV	権限なしで表示
D2FP_ENABLED	使用可能
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_HINT	ヒント
D2FP_HLP_DESCRIPTION	ヘルプ
D2FP_ICON_FLNAM	アイコン・ファイル名
D2FP_ICON_IN_MNU	メニューのアイコン
D2FP_KBRD_ACC	キーボード・アクセラレータ
D2FP_LABEL	ラベル
D2FP_MAGIC_ITM	マジック項目
D2FP_MNU_ITM_CODE	D2FP_MNU_ITM_CODE
D2FP_MNU_ITM_RAD_GRP	メニュー項目ラジオ・グループ
D2FP_MNU_ITM_TYP	メニュー項目コード
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE
D2FP_SUB_MNU_NAM	D2FP_SUB_MNU_NAM
D2FP_SUB_MNU_OBJ	D2FP_SUB_MNU_OBJ
D2FP_VAT_NAM	可視属性グループ
D2FP_VAT_OBJ	D2FP_VAT_OBJ
D2FP_VISIBLE	可視
D2FP_VSBL_IN_HORZ_MNU_TLBR	水平メニュー・ツールバー表示
D2FP_VSBL_IN_MENU	メニューに表示
D2FP_VSBL_IN_VERT_MNU_TLBR	垂直メニュー・ツールバー表示


「メニュー・パラメータ」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_ASSOC_MENUS_COUNT	D2FP_ASSOC_MENUS_COUNT
D2FP_ASSOC_MNUS	関連メニュー
D2FP_CASE_RSTRCTION	小/大文字区別
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_CONCEAL_DATA	データ隠蔽
D2FP_FIXED_LEN	固定長
D2FP_HINT	ヒント
D2FP_LABEL	ラベル
D2FP_MAX_LEN	最大長
D2FP_MNU_PARAM_INIT_VAL	メニュー・パラメータの初期値
D2FP_NAME	名前
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_REQUIRED	必須


オブジェクト（一般オブジェクト）のAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_ACCESS_KEY
アクセス・キー
D2FP_ALERT
D2FP_ALERT
D2FP_ALLOW_EXPANSION
拡大を許可する
D2FP_ALLOW_MLT_LIN_PRMPTS
複数行プロンプト使用可
D2FP_ALLOW_STRT_ATT_PRMPTS
開始時接続プロンプトを許可する
D2FP_ALLOW_TOP_ATT_PRMPTS
上接続プロンプトを許可する
D2FP_ALT_MSG
メッセージ
D2FP_ALT_STY
警告スタイル
D2FP_ARROW_STY
矢印スタイル
D2FP_ASSOC_MENUS_COUNT
D2FP_ASSOC_MENUS_COUNT
D2FP_ASSOC_MNUS
関連メニュー
D2FP_ATT_LIB
D2FP_ATT_LIB
D2FP_AUDIO_CHNNLS
オーディオ・チャネル
D2FP_AUTO_COL_WID
自動列幅
D2FP_AUTO_DISP
自動表示
D2FP_AUTO_HINT
ヒントの自動表示
D2FP_AUTO_POS
自動位置
D2FP_AUTO_QRY
自動問合せ
D2FP_AUTO_RFRSH
自動最新表示
D2FP_AUTO_SKP
自動スキップ
D2FP_AUTO_SLCT
自動選択
D2FP_BACK_COLOR
バックグラウンド・カラー
D2FP_BEVEL
凹凸
D2FP_BTN_1_LBL
ボタン
1
のラベル
D2FP_BTN_2_LBL
ボタン
2
のラベル
D2FP_BTN_3_LBL
ボタン
3
のラベル
D2FP_CALC_MODE
計算モード
D2FP_CANVAS
D2FP_CANVAS
D2FP_CAP_STY
オブジェクト枠キャップ・スタイル
D2FP_CASE_INSENSITIVE_QRY
小
/
大文字区別なしの問合せ
D2FP_CASE_RSTRCTION
小
/
大文字区別
D2FP_CHK_BX_OTHER_VALS
ほかの値のチェックボックス・マッピング
D2FP_CHKED_VAL
チェック時の値
D2FP_CLIENT_INFO
D2FP_CLIENT_INFO
D2FP_CLIP_HGT
クリッピング四角形の高さ
D2FP_CLIP_WID
クリッピング四角形の幅
D2FP_CLIP_X_POS
クリッピング四角形の
X
原点
D2FP_CLIP_Y_POS
クリッピング四角形の
Y
原点
D2FP_CLOSED
多角形フラグ
/
円弧の閉じ
D2FP_CLS_ALLOWED
クローズ可能
D2FP_CMPRSSION_QLTY
圧縮
D2FP_CNV_NAM
キャンバス
D2FP_CNV_OBJ
D2FP_CNV_OBJ
D2FP_CNV_TYP
キャンバス・タイプ
D2FP_COL_DAT_TYP
D2FP_COL_DAT_TYP
D2FP_COL_MAP
値リスト列マッピング
D2FP_COL_NAM
列名
D2FP_COL_SPEC
列仕様
D2FP_COL_VALS_COUNT
D2FP_COL_VALS_COUNT
D2FP_COM_TXT
コマンド・テキスト
D2FP_COM_TYP
コマンド・タイプ
D2FP_COMM_MODE
通信モード
D2FP_COMMENT
コメント
D2FP_COMPRESS
圧縮
D2FP_CONCEAL_DATA
挿入可データ隠蔽
D2FP_CONSOLE_WIN
コンソール・ウィンドウ
D2FP_COPY_VAL_FROM_ITM
（項目の）コピー値
D2FP_CORNER_RADIUS_X
X
角の半径
D2FP_CORNER_RADIUS_Y
Y
角の半径
D2FP_CRSR_MODE
カーソル・モード
D2FP_CSTM_SPCING
カスタム・スペース
D2FP_DASH_STY
オブジェクト枠の線種スタイル
D2FP_DAT_SRC_BLK
データ・ソース・ブロック
D2FP_DAT_SRC_X_AXS
データ・ソース
X
軸
D2FP_DAT_SRC_Y_AXS
データ・ソース
Y
軸
D2FP_DAT_TYP
データ型
D2FP_DB_BLOCK
データベース・ブロック
D2FP_DB_ITM
データベース項目
D2FP_DEFERRED
延期
D2FP_DEL_ALLOWED
削除可
D2FP_DEL_PROC_NAM
削除プロシージャ名
D2FP_DEL_REC
レコード削除時の動作
D2FP_DETAIL_BLK
詳細ブロック
D2FP_DFLT_ALT_BTN
デフォルト警告ボタン
D2FP_DFLT_BTN
デフォルト・ボタン
D2FP_DISP_IN_KBRD_HLP
キーボード・ヘルプで表示
D2FP_DISP_NO_PRIV
権限なしで表示
D2FP_DISP_QLTY
表示品質
D2FP_DISP_WID
表示幅
D2FP_DIST_BTWN_RECS
レコード間の距離
D2FP_DITHER
グラフィックス・ディザー・イメージ
D2FP_DML_ARY_SIZ
DML
配列サイズ
D2FP_DML_DAT_NAM
DML
データ宛先名
D2FP_DML_DAT_TYP
DML
データ・ターゲット・タイプ
D2FP_DSA_MODE
D2FP_DSA_MODE
D2FP_DSA_NAM
D2FP_DSA_NAM
D2FP_DSA_TYP
D2FP_DSA_TYP
D2FP_DSA_TYPE_NAM
D2FP_DSA_TYP_NAM
D2FP_DSA_VAL
D2FP_DSA_VAL
D2FP_DSC_LEN
D2FP_DSC_LEN
D2FP_DSC_MANDATORY
D2FP_DSC_MANDATORY
D2FP_DSC_NAM
D2FP_DSC_NAM
D2FP_DSC_PRECISION
D2FP_DSC_PRECISION
D2FP_DSC_SCALE
D2FP_DSC_SCALE
D2FP_DSC_TYP
D2FP_DSC_TYP
D2FP_EDGE_BACK_COLOR
オブジェクト枠バックグラウンド・カラー
D2FP_EDGE_FORE_COLOR
オブジェクト枠フォアグラウンド・カラー
D2FP_EDITOR
エディタ
D2FP_EDT_NAM
エディタ
D2FP_EDT_OBJ
D2FP_EDT_OBJ
D2FP_EDT_X_POS
エディタ
X
位置
,
エディタ
Y
位置
D2FP_EDT_Y_POS
エディタ
X
位置
,
エディタ
Y
位置
D2FP_ENABLED
使用可能
D2FP_END_ANGLE
端形式
D2FP_ENFRC_COL_SECURITY
列セキュリティ強制
D2FP_ENFRC_PRMRY_KEY
主キー強制
D2FP_EXEC_HIERARCHY
実行の階層
D2FP_EXEC_MODE
実行モード
D2FP_FILL_PAT
塗りパターン
D2FP_FIRE_IN_QRY
問合せ入力モードで起動
D2FP_FIXED_BOUNDING_BX
オブジェクト枠ボックスの固定サイズ
D2FP_FIXED_LEN
固定長
D2FP_FLNAM
File_Name
D2FP_FLTR_BEFORE_DISP
表示前フィルタ
D2FP_FMT_MSK
書式マスク
D2FP_FONT_NAM
フォント名
D2FP_FONT_SCALEABLE
Point Size Scales with Object
D2FP_FONT_SIZE
フォント・サイズ
D2FP_FONT_SPCING
フォント間隔
D2FP_FONT_STY
フォント・スタイル
D2FP_FONT_WGHT
フォントの太さ
D2FP_FORE_COLOR
フォアグラウンド・カラー
D2FP_FORM_PARAM
D2FP_FORM_PARAM
D2FP_FORMULA
公式
D2FP_FRAME_ALIGN
枠整列
D2FP_FRAME_TTL
枠タイトル
D2FP_FRAME_TTL_ALIGN
枠タイトル整列
D2FP_FRAME_TTL_BACK_COLOR
枠タイトル・バックグラウンド・カラー
D2FP_FRAME_TTL_FILL_PAT
枠タイトル塗りパターン
D2FP_FRAME_TTL_FONT_NAM
枠タイトル・フォント名
D2FP_FRAME_TTL_FONT_SIZ
枠タイトル・フォント・サイズ
D2FP_FRAME_TTL_FONT_SPCING
枠タイトル・フォント間隔
D2FP_FRAME_TTL_FONT_STY
枠タイトル・フォント・スタイル
D2FP_FRAME_TTL_FONT_WGHT
枠タイトル・フォントの太さ
D2FP_FRAME_TTL_FORE_COLOR
枠タイトル・フォアグラウンド・カラー
D2FP_FRAME_TTL_OFST
枠タイトルのオフセット
D2FP_FRAME_TTL_SPCING
枠タイトルの間隔
D2FP_FRAME_TTL_VAT_NAM
枠タイトル・可視属性グループ
D2FP_FRAME_TTL_VAT_OBJ
D2FP_FRAME_TTL_VAT_OBJ
D2FP_FRST_NAVIGATION_BLK_NAM
最初のナビゲーション・ブロック
D2FP_FRST_NAVIGATION_BLK_OBJ
D2FP_FIRST_NAVIGATION_BLK_OBJ
D2FP_GRA_FONT_NAM
グラフィックス・フォント名
D2FP_GRA_FONT_SIZ
グラフィックス・フォント・サイズ
D2FP_GRA_FONT_STY
グラフィックス・フォント・スタイル
D2FP_GRA_TEXT
グラフィクス・テキスト
D2FP_GRAPHIC
D2FP_GRAPHIC
D2FP_GRAPHICS_TYP
グラフィックス・オブジェクト・タイプ
D2FP_HEIGHT
高さ
D2FP_HIDE_ON_EXIT
終了時に隠す
D2FP_HIGHEST_ALLOWED_VAL
最高許容値
D2FP_HINT
ヒント
D2FP_HLP_DESCRIPTION
ヘルプ
D2FP_HORZ_JST
テキスト・オブジェクトの水平方向の揃え
D2FP_HORZ_MARGN
水平マージン
D2FP_HORZ_OBJ_OFST
水平オブジェクト・オフセット
D2FP_HORZ_ORGN
原点からの水平相対位置
D2FP_HORZ_TLBR_CNV
垂直ツールバー・キャンバス
D2FP_HTB_CNV_NAME
フォーム水平ツールバーのキャンバス
D2FP_ICON_FLNAM
アイコン・ファイル名
D2FP_ICON_IN_MNU
メニューのアイコン
D2FP_ICONIC
メニューのアイコン
D2FP_IMG_DPTH
イメージ深さ
D2FP_IMG_FMT
イメージ形式
D2FP_INHRT_MNU
メニュー継承
D2FP_INIT_KBRD_DIR
初期キーボード・ディレクション
D2FP_INIT_MNU
初期メニュー
D2FP_INIT_VAL
初期値
D2FP_INSRT_ALLOWED
挿入可
D2FP_INSRT_PROC_NAM
挿入プロシージャ名
D2FP_INTERACTION_MODE
対話モード
D2FP_ISOLATION_MODE
隔離モード
D2FP_ITEM
D2FP_ITEM
D2FP_ITM_TYP
項目タイプ
D2FP_ITMS_DISP
表示項目数
D2FP_JOIN_COND
結合条件
D2FP_JOIN_STY
結合形式
D2FP_JUSTIFICATION
文字位置
D2FP_KBRD_ACC
キーボード・アクセラレータ
D2FP_KBRD_HLP_TXT
キーボード・ヘルプ・テキスト
D2FP_KBRD_NAVIGABLE
キーボードで移動可能
D2FP_KBRD_STATE
キーボード状態
D2FP_KEEP_CRSR_POS
カーソル位置を保持
D2FP_KEY_MODE
キー・モード
D2FP_LABEL
ラベル
D2FP_LANG_DIR
方向
D2FP_LAYOUT_DATA_BLK_NAM
レイアウト・データ・ブロック
D2FP_LAYOUT_STY
レイアウト・スタイル
D2FP_LIB_LOC
PL/SQL
ライブラリ位置
D2FP_LIB_SRC
PL/SQL
ライブラリ・ソース
D2FP_LIN_SPCING
線の間隔
D2FP_LIN_WID
線幅
D2FP_LOCK_MODE
ロック・モード
D2FP_LOCK_PROC_NAM
ロック・プロシージャ名
D2FP_LOCK_REC
レコード・ロック
D2FP_LOV
値リスト
D2FP_LOV_NAM
X
位置のリスト
D2FP_LOV_OBJ
D2FP_LOV_OBJ
D2FP_LOV_X_POS
値リスト
D2FP_LOV_Y_POS
Y
位置のリスト
D2FP_LOWEST_ALLOWED_VAL
最低許容値
D2FP_LST_ELEMENT_COUNT
リスト内の要素
D2FP_LST_IN_BLK_MNU
ブロック・メニューにリスト
D2FP_LST_STY
リスト形式
D2FP_LST_TYP
リスト・タイプ
D2FP_MAGIC_ITM
マジック項目
D2FP_MAIN_MNU
メイン・メニュー
D2FP_MAX_LEN
最大長
D2FP_MAX_OBJS
1
行あたりの最大オブジェクト数
D2FP_MAX_QRY_TIME
最長問合せ時間
D2FP_MAX_RECS_FETCHED
フェッチ･レコードの最大数
D2FP_MAXIMIZE_ALLOWED
最大化可能
D2FP_MENU
D2FP_MENU
D2FP_MINIMIZE_ALLOWED
最小化可能
D2FP_MINIMIZE_TTL
アイコン化タイトル
D2FP_MLT_LIN
複数行
D2FP_MNU_DESCRIPTION
メニュー説明
D2FP_MNU_DRCTRY
メニュー・ディレクトリ
D2FP_MNU_FLNAM
メニュー・ファイル名
D2FP_MNU_ITM
メニュー項目タイプ
D2FP_MNU_ITM_CODE
D2FP_MNU_ITM_CODE
D2FP_MNU_ITM_RAD_GRP
メニュー項目ラジオ・グループ
D2FP_MNU_ITM_TYP
メニュー項目タイプ
D2FP_MNU_MOD
メニュー・モジュール
D2FP_MNU_PARAM
D2FP_MNU_PARAM
D2FP_MNU_PARAM_INIT_VAL
メニュー・パラメータの初期値
D2FP_MNU_ROLE
メニュー・ロール
D2FP_MNU_SRC
メニュー・ソース
D2FP_MNU_STY
メニュー・スタイル
D2FP_MODAL
モーダル
D2FP_MODULE
D2FP_MODULE
D2FP_MOUSE_NAVIGATE
マウス・ナビゲート
D2FP_MOUSE_NAVIGATION_LMT
マウス・ナビゲーション限界
D2FP_MV_ALLOWED
移動可能
D2FP_NAME
名前
D2FP_NAVIGATION_STY
ナビゲーション・スタイル
D2FP_NEXT
D2FP_NEXT
D2FP_NXT_NAVIGATION_BLK_OBJ
D2FP_NXT_NAVIGATION_BLK_OBJ
D2FP_NXT_NAVIGATION_BLK_NAM
次のナビゲーション・ブロック
D2FP_NXT_NAVIGATION_ITM_OBJ
D2FP_NXT_NAVIGATION_ITM_OBJ
D2FP_NXT_NAVIGATION_ITM_NAM
次ナビゲーション項目
D2FP_OBJ_GRP
D2FP_OBJ_GRP
D2FP_OBJ_GRP_CHILD_REAL_OBJ
D2FP_OBJ_GRP_CHILD_REAL_OBJ
D2FP_ACTIVEX_CLASS
OLE
クラス
D2FP_ACTIVEX_VAL_PROP
コントロール・プロパティ
D2FP_OG_CHILD
D2FP_OG_CHILD
D2FP_OLD_LOV_TXT
古い値リスト・テキスト
D2FP_OLE_ACT_STY
OLE
アクティブ・スタイル
D2FP_OLE_CLASS
OLE
クラス
D2FP_OLE_IN_PLACE_ACT
OLE
内部アクティブ化
D2FP_OLE_INSD_OUT_SUPPORT
OLE
インサイド・アウト・サポート
D2FP_OLE_POPUP_MNU_ITMS
OLE
ポップアップ・メニュー項目
D2FP_OLE_RESIZ_STY
OLE
サイズ変更スタイル
D2FP_OLE_SHOW_POP_UP_MNU
OLE
ポップアップ・メニュー表示
D2FP_OLE_SHOW_TNNT_TYP
OLE
テナント・タイプ表示
D2FP_OLE_TNNT_ASPCT
OLE
テナント・アスペクト
D2FP_OLE_TNNT_TYP
OLE
テナント・タイプ
D2FP_OPT_HINT
オプティマイザ・ヒント
D2FP_ORDER_BY_CLAUSE
ORDER BY
句
D2FP_OTHER_VALS
ほかの値のマッピング
D2FP_OWNER
D2FP_OWNER
D2FP_PAR_FLNAM
D2FP_PAR_FLNAM
D2FP_PAR_FLPATH
D2FP_PAR_FLPATH
D2FP_PAR_MODSTR
D2FP_PAR_MODSTR
D2FP_PAR_MODTYP
D2FP_PAR_MODTYPE
D2FP_PAR_MODULE
D2FP_PAR_MODULE
D2FP_PAR_NAM
D2FP_PAR_NAME
D2FP_PARAM_DAT_TYP
パラメータのデータ型
D2FP_PARAM_INIT_VAL
パラメータの初期値
D2FP_PGU_TXT
D2FP_PGU_TXT
D2FP_POPUP_MNU_NAM
ポップアップ・メニュー
D2FP_POPUP_MNU_OBJ
D2FP_POPUP_MNU_OBJ
D2FP_POPUP_VA_OBJ
D2FP_POPUP_VA_OBJ
D2FP_PRECOMP_SUMM
D2FP_PRECOMP_SUMM
D2FP_PREV_NAVIGATION_BLK_NAM
前のナビゲーション・ブロック
D2FP_PREV_NAVIGATION_BLK_OBJ
D2FP_PREV_NAVIGATION_BLK_OBJ
D2FP_PREV_NAVIGATION_ITM_NAM
前ナビゲーション項目名
D2FP_PREV_NAVIGATION_ITM_OBJ
D2FP_PREV_NAVIGATION_ITM_OBJ
D2FP_PREVIOUS
D2FP_PREVIOUS
D2FP_PRMPT
プロンプト
D2FP_PRMPT_ALIGN
プロンプト整列
D2FP_PRMPT_ALIGN_OFST
プロンプト整列オフセット
D2FP_PRMPT_ATT_EDGE
プロンプト連結枠
D2FP_PRMPT_ATT_OFST
プロンプト・アタッチメント・オフセットを確認する
D2FP_PRMPT_BACK_COLOR
プロンプトのバックグラウンド・カラー
D2FP_PRMPT_DISP_STY
プロンプト表示スタイル
D2FP_PRMPT_FILL_PAT
塗りパターンを確認する
D2FP_PRMPT_FONT_NAM
フォント名を確認する
D2FP_PRMPT_FONT_SIZ
フォント・サイズを確認する
D2FP_PRMPT_FONT_SPCING
フォント間隔を確認する
D2FP_PRMPT_FONT_STY
フォント・スタイルを確認する
D2FP_PRMPT_FONT_WGHT
フォントの太さを確認
D2FP_PRMPT_FORE_COLOR
プロンプトのフォアグラウンド・カラー
D2FP_PRMPT_JST
プロンプト文字位置
D2FP_PRMPT_READING_ORDR
プロンプトの読込み順
D2FP_PRMPT_VAT_NAM
プロンプトの可視属性グループ
D2FP_PRMPT_VAT_OBJ
D2FP_PRMPT_VAT_OBJ
D2FP_PRMRY_CNV
主キーキャンバス
D2FP_PRMRY_KEY
主キー
D2FP_PROG_UNIT
D2FP_PROG_UNIT
D2FP_PROP_CLASS
プロパティ・クラス
D2FP_PRVNT_MSTRLESS_OPS
マスターなし操作防止
D2FP_QRY_ALL_RECS
すべてのレコードを問合せ
D2FP_QRY_ALLOWED
問合せ可
D2FP_QRY_DAT_SRC_NAM
問合せデータ・ソース名
D2FP_QRY_DAT_SRC_TYP
問合せデータ・ソース・タイプ
D2FP_QRY_LEN
問合せ長
D2FP_QRY_ONLY
問合せのみ
D2FP_RAD_BUT
D2FP_RAD_BUT
D2FP_RAISE_ON_ENT
エントリでレイズ
D2FP_RDB_VAL
ラジオ・ボタン値
D2FP_READING_ORDR
読取り順序
D2FP_REC_GRP
レコード・グループ
D2FP_REC_GRP_FETCH_SIZ
D2FP_REC_GRP_FETCH_SIZ
D2FP_REC_GRP_NAM
レコード・グループ
D2FP_REC_GRP_OBJ
D2FP_REC_GRP_OBJ
D2FP_REC_GRP_QRY
レコード・グループ問合せ
D2FP_REC_GRP_TYP
レコード・グループ・タイプ
D2FP_REC_ORNT
レコード・オリエンテーション
D2FP_REC_VAT_GRP_NAM
現行レコード・可視属性グループ
D2FP_REC_VAT_GRP_OBJ
D2FP_REC_VAT_GRP_OBJ
D2FP_RECS_BUFFERED_COUNT
バッファされるレコード数
D2FP_RECS_DISP_COUNT
表示されるレコード数
D2FP_RECS_FETCHED_COUNT
Records_to_Fetch
D2FP_REL
D2FP_REL
D2FP_RENDERED
レンダリング済み
D2FP_REPORT
D2FP_REPORT
D2FP_REQUIRED
必須
D2FP_RESIZE_ALLOWED
サイズ変更可能
D2FP_REV_DIR
逆方向
D2FP_ROTATION_ANGLE
回転角度
D2FP_RPT_DESTINATION_FMT
レポート宛先フォーマット
D2FP_RPT_DESTINATION_NAM
レポート宛先名
D2FP_RPT_DESTINATION_TYP
レポート宛先タイプ
D2FP_RPT_PARAMS
その他のレポート・パラメータ
D2FP_RPT_SRVR
レポート・サーバー
D2FP_RTRN_ITM
戻り項目
D2FP_SCRLBR_ALIGN
スクロール・バー整列
D2FP_SCRLBR_CNV_NAM
スクロール・バー・キャンバス
D2FP_SCRLBR_CNV_OBJ
D2FP_SCRLBR_CNV_OBJ
D2FP_SCRLBR_HGT
スクロール・バー高さ
D2FP_SCRLBR_ORNT
スクロール・バー方向
D2FP_SCRLBR_TBP_NAM
スクロール・バー・タブ・ページ
D2FP_SCRLBR_TBP_OBJ
D2FP_SCRLBR_TBP_OBJ
D2FP_SCRLBR_WID
スクロール・バー幅
D2FP_SCRLBR_X_POS
スクロール・バー
X
位置
D2FP_SCRLBR_Y_POS
スクロール・バー
Y
位置
D2FP_SHARE_LIB
ライブラリをフォームと共有
D2FP_SHORT_NAM
短い名前
D2FP_SHOW_FAST_FWD
早送りボタン表示
D2FP_SHOW_HORZ_SCRLBR
水平スクロール・バーを表示
D2FP_SHOW_PALETTE
パレットを表示
D2FP_SHOW_PLAY
再生ボタンを表示
D2FP_SHOW_REC
録音ボタンを表示
D2FP_SHOW_REWIND
巻戻しボタン表示
D2FP_SHOW_SCRLBR
スクロール・バーを表示
D2FP_SHOW_SLIDER
スライダを表示
D2FP_SHOW_TIME
タイム・インジケータを表示
D2FP_SHOW_VERT_SCRLBR
垂直スクロール・バーを表示
D2FP_SHOW_VOLUME
音量ボタン表示
D2FP_SHRINKWRAP
シュリンクラップ
D2FP_SIZING_STY
サイジング・スタイル
D2FP_SND_FMT
サウンド形式
D2FP_SND_QLTY
サウンド品質
D2FP_SNGL_OBJ_ALIGN
単一オブジェクト整列
D2FP_SNGL_REC
単一レコード
D2FP_SOURCE
D2FP_SOURCE
D2FP_STRT_ANGLE
開始角度
D2FP_STRT_PRMPT_ALIGN
スタート・プロンプトの位置
D2FP_STRT_PRMPT_OFST
スタート・プロンプト・オフセット
D2FP_STRTUP_CODE
起動コード
D2FP_SUB_MNU_NAM
D2FP_SUB_MNU_NAM
D2FP_SUB_MNU_OBJ
D2FP_SUB_MNU_OBJ
D2FP_SUB_TTL
サブタイトル
D2FP_SUMM_BLK_NAM
サマリー済みブロック
D2FP_SUMM_FUNC
サマリー･ファンクション
D2FP_SUMM_ITM_NAM
サマリー結果項目
D2FP_SVPNT_MODE
セーブポイント・モード
D2FP_SYNC_ITM_NAM
項目と同期化
D2FP_SYNC_ITM_OBJ
D2FP_SYNC_ITM_OBJ
D2FP_TAB_ATT_EDGE
タブ・連結枠
D2FP_TAB_PAGE
タブ・ページ
D2FP_TAB_STY
タブ・スタイル
D2FP_TBP_NAM
D2FP_TBP_NAM
D2FP_TBP_OBJ
D2FP_TBP_OBJ
D2FP_TEAR_OFF_MNU
切離しメニュー
D2FP_TITLE
タイトル
D2FP_TOOLTIP
ツールチップ
D2FP_TOOLTIP_VAT_GRP
ツールチップ可視属性グループ
D2FP_TOP_PRMPT_ALIGN
トップ・プロンプト位置
D2FP_TOP_PRMPT_OFST
上プロンプトのオフセット
D2FP_TRG_STY
トリガー・スタイル
D2FP_TRG_TXT
トリガー・テキスト
D2FP_TRG_TYP
TRIGGER
型
D2FP_TRIGGER
D2FP_TRIGGER
D2FP_TTL_READING_ORDR
タイトル読取り順序
D2FP_UNCHKED_VAL
チェックなしの場合の値
D2FP_UPDT_ALLOWED
更新可
D2FP_UPDT_CHANGED_COLS
変更のあった列のみ更新
D2FP_UPDT_COMMIT
更新コミット
D2FP_UPDT_IF_NULL
NULL
のみ更新
D2FP_UPDT_LAYOUT
レイアウトの更新
D2FP_UPDT_PROC_NAM
更新プロシージャ名
D2FP_UPDT_QRY
問合せ時に更新
D2FP_USE_SECURITY
セキュリティを使用する
D2FP_USE_3D_CNTRLS
3D
コントロール使用
D2FP_VALIDATE_FROM_LIST
リストで妥当性チェック
D2FP_VALIDATION_UNIT
有効単位
D2FP_VAT_NAM
可視属性グループ
D2FP_VAT_OBJ
D2FP_VAT_OBJ
D2FP_VAT_TYP
D2FP_VAT_TYP
D2FP_VERT_FILL
垂直方向の埋込み
D2FP_VERT_JST
垂直文字位置
D2FP_VERT_MARGN
垂直方向余白
D2FP_VERT_OBJ_OFST
垂直方向のオブジェクト・オフセット
D2FP_VERT_ORGN
原点からの垂直相対位置
D2FP_VERT_TLBR_CNV
フォーム垂直ツールバーのキャンバス
D2FP_VIS_ATTR
D2FP_VIS_ATTR
D2FP_VISIBLE
可視
D2FP_VPRT_HGT
ビューポートの高さ
D2FP_VPRT_WID
ビューポートの幅
D2FP_VPRT_X_POS
ビューポート
X
位置
D2FP_VPRT_X_POS_ON_CNV
キャンバス上のビューポートの
X
位置
D2FP_VPRT_Y_POS
ビューポート
Y
位置
D2FP_VPRT_Y_POS_ON_CNV
キャンバス上のビューポートの
Y
位置
D2FP_VSBL_IN_HORZ_MNU_TLBR
水平メニュー・ツールバー表示
D2FP_VSBL_IN_MENU
メニューに表示
D2FP_VSBL_IN_VERT_MNU_TLBR
垂直メニュー・ツールバー表示
D2FP_VTB_CNV_NAME
垂直ツールバー・キャンバス
D2FP_WHERE_CLAUSE
WHERE
句
D2FP_WHITE_ON_BLACK
白黒
D2FP_WIDTH
幅
D2FP_WIN_STY
ウィンドウ・スタイル
D2FP_WINDOW
ウィンドウ
D2FP_WND_NAM
ウィンドウ
D2FP_WND_OBJ
D2FP_WND_OBJ
D2FP_WRAP_STY
ラップ形式
D2FP_WRAP_TXT
テキストの折り返し


オブジェクト・グループのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_MODULE	D2FP_MODULE
D2FP_NEXT	D2FP_NEXT
D2FP_OG_CHILD	D2FP_OG_CHILD
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE


子オブジェクト・グループのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OBJ_GRP_CHILD_REAL_OBJ	D2FP_OBJ_GRP_CHILD_REAL_OBJ
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE


オブジェクト・ライブラリのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OBJ_COUNT	D2FP_OBJ_COUNT
D2FP_OBJ_LIB_TAB	D2FP_OBJ_LIB_TAB
D2FP_PREVIOUS	D2FP_PREVIOUS


「プログラム単位」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PGU_TXT	D2FP_PGU_TXT
D2FP_PGU_TYP	D2FP_PGU_TYP
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE


「プロパティ・クラス」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE
D2FP_TRIGGER	D2FP_TRIGGER


「ラジオ・ボタン」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_ACCESS_KEY	アクセス・キー
D2FP_BACK_COLOR	バックグラウンド・カラー
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_DIST_BTWN_RECS	レコード間の距離
D2FP_ENABLED	使用可能
D2FP_FILL_PAT	塗りパターン
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_FORE_COLOR	フォアグラウンド・カラー
D2FP_HEIGHT	高さ
D2FP_LABEL	ラベル
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_PRMPT	プロンプト
D2FP_PRMPT_ALIGN	プロンプト整列
D2FP_PRMPT_ALIGN_OFST	プロンプト整列オフセット
D2FP_PRMPT_ATT_EDGE	プロンプト連結枠
D2FP_PRMPT_ATT_OFST	プロンプト・アタッチメント・オフセットを確認する
D2FP_PRMPT_BACK_COLOR	プロンプトのバックグラウンド・カラー
D2FP_PRMPT_DISP_STY	プロンプト表示スタイル
D2FP_PRMPT_FILL_PAT	塗りパターンを確認する
D2FP_PRMPT_FONT_NAM	フォント名を確認する
D2FP_PRMPT_FONT_SIZ	フォント・サイズを確認する
D2FP_PRMPT_FONT_SPCING	フォント間隔を確認する
D2FP_PRMPT_FONT_STY	フォント・スタイルを確認する
D2FP_PRMPT_FONT_WGHT	フォントの太さを確認
D2FP_PRMPT_FORE_COLOR	プロンプトのフォアグラウンド・カラー
D2FP_PRMPT_JST	プロンプト文字位置
D2FP_PRMPT_READING_ORDR	プロンプトの読込み順
D2FP_PRMPT_VAT_NAM	プロンプトの可視属性グループ
D2FP_PRMPT_VAT_OBJ	D2FP_PRMPT_VAT_OBJ
D2FP_RDB_VAL	ラジオ・ボタン値
D2FP_SOURCE	D2FP_SOURCE
D2FP_VAT_NAM	可視属性グループ
D2FP_VAT_OBJ	D2FP_VAT_OBJ
D2FP_VISIBLE	可視
D2FP_WHITE_ON_BLACK	白黒
D2FP_WIDTH	幅/高さ
D2FP_X_POS	X位置/Y位置
D2FP_Y_POS	X位置/Y位置


「レコード・グループ」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COL_SPEC	列仕様
D2FP_COMMENT	コメント
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_REC_GRP_FETCH_SIZ	D2FP_REC_GRP_FETCH_SIZ
D2FP_REC_GRP_QRY	レコード・グループ問合せ
D2FP_REC_GRP_TYP	レコード・グループ・タイプ
D2FP_SOURCE	D2FP_SOURCE


レコード・グループ列コラム仕様部のAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COL_DAT_TYP	D2FP_COL_DAT_TYP
D2FP_COL_VALS_COUNT	D2FP_COL_VALS_COUNT
D2FP_MAX_LEN	最大長
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_PREVIOUS	D2FP_PREVIOUS


「リレーション」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_AUTO_QRY	自動問合せ
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_DEFERRED	延期
D2FP_DEL_REC	レコード削除時の動作
D2FP_DETAIL_BLK	ディテール・データ・ブロック
D2FP_JOIN_COND	結合条件
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_PRVNT_MSTRLESS_OPS	マスターなし操作防止
D2FP_SOURCE	D2FP_SOURCE


「レポート」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMM_MODE	通信モード
D2FP_COMMENT	コメント
D2FP_DAT_SRC_BLK	データ・ソース・ブロック
D2FP_EXEC_MODE	実行モード
D2FP_FLNAM	File_Name
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_RPT_DESTINATION_FMT	レポート宛先フォーマット
D2FP_RPT_DESTINATION_NAM	レポート宛先名
D2FP_RPT_DESTINATION_TYP	レポート宛先タイプ
D2FP_RPT_PARAMS	その他のレポート・パラメータ
D2FP_RPT_SRVR	レポート・サーバー
D2FP_SOURCE	D2FP_SOURCE


「タブ・ページ」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_GRAPHIC	D2FP_GRAPHIC
D2FP_LABEL	ラベル
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE


「トリガー」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_COMMENT	コメント
D2FP_DISP_IN_KBRD_HLP	キーボード・ヘルプで表示
D2FP_EXEC_HIERARCHY	実行の階層
D2FP_FIRE_IN_QRY	問合せ入力モードで起動
D2FP_KBRD_HLP_TXT	キーボード・ヘルプ・テキスト
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_SOURCE	D2FP_SOURCE
D2FP_TRG_STY	トリガー・スタイル
D2FP_TRG_TXT	トリガー・テキスト
D2FP_TRG_TYP	トリガー・タイプ


「可視属性」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_BACK_COLOR	バックグラウンド・カラー
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_FILL_PAT	塗りパターン
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_FORE_COLOR	フォアグラウンド・カラー
D2FP_MODULE	D2FP_MODULE
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_PRMPT_BACK_COLOR	バックグラウンド・カラーを確認する
D2FP_PRMPT_FILL_PAT	塗りパターンを確認する
D2FP_PRMPT_FONT_NAM	フォント名を確認する
D2FP_PRMPT_FONT_SIZ	フォント・サイズを確認する
D2FP_PRMPT_FONT_SPCING	フォント間隔を確認する
D2FP_PRMPT_FONT_STY	フォント・スタイルを確認する
D2FP_PRMPT_FONT_WGHT	フォントの太さを確認
D2FP_PRMPT_FORE_COLOR	フォアグラウンド・カラーを確認する
D2FP_SOURCE	D2FP_SOURCE
D2FP_VAT_TYP	D2FP_VAT_TYP
D2FP_WHITE_ON_BLACK	白黒


「ウィンドウ」オブジェクトのAPIプロパティ

  関連項目

左の列は、Open APIのヘッダー・ファイルに現れるプロパティです。右の列は、Form Builderインタフェースに現れるときの対応プロパティ名です。

D2FP_BACK_COLOR	バックグラウンド・カラー
D2FP_BEVEL	凹凸
D2FP_CLIENT_INFO	D2FP_CLIENT_INFO
D2FP_CLS_ALLOWED	クローズ可能
D2FP_COMMENT	コメント
D2FP_FILL_PAT	塗りパターン
D2FP_FONT_NAM	フォント名
D2FP_FONT_SIZE	フォント・サイズ
D2FP_FONT_SPCING	フォント間隔
D2FP_FONT_STY	フォント・スタイル
D2FP_FONT_WGHT	フォントの太さ
D2FP_FORE_COLOR	フォアグラウンド・カラー
D2FP_HEIGHT	高さ
D2FP_HIDE_ON_EXIT	終了時に隠す
D2FP_HTB_CNV_NAME	フォーム水平ツールバーのキャンバス
D2FP_ICON_FLNAM	アイコン・ファイル名
D2FP_INHRT_MNU	メニューを継承
D2FP_LANG_DIR	方向
D2FP_MAXIMIZE_ALLOWED	最大化可能
D2FP_MINIMIZE_ALLOWED	最小化可能
D2FP_MINIMIZE_TTL	アイコン化タイトル
D2FP_MODAL	モーダル
D2FP_MODULE	D2FP_MODULE
D2FP_MV_ALLOWED	移動可能
D2FP_NAME	名前
D2FP_NEXT	D2FP_NEXT
D2FP_OWNER	D2FP_OWNER
D2FP_PAR_FLNAM	D2FP_PAR_FLNAM
D2FP_PAR_FLPATH	D2FP_PAR_FLPATH
D2FP_PAR_MODSTR	D2FP_PAR_MODSTR
D2FP_PAR_MODTYP	D2FP_PAR_MODTYPE
D2FP_PAR_MODULE	D2FP_PAR_MODULE
D2FP_PAR_NAM	D2FP_PAR_NAME
D2FP_PREVIOUS	D2FP_PREVIOUS
D2FP_PRMRY_CNV	主キャンバス
D2FP_RESIZE_ALLOWED	サイズ変更可能
D2FP_SHOW_HORZ_SCRLBR	スクロール・バー水平表示
D2FP_SHOW_VERT_SCRLBR	スクロール・バー垂直表示
D2FP_SOURCE	D2FP_SOURCE
D2FP_TITLE	タイトル
D2FP_VAT_NAM	可視属性グループ
D2FP_VAT_OBJ	D2FP_VAT_OBJ
D2FP_VTB_CNV_NAME	フォーム垂直ツールバー・キャンバス
D2FP_WHITE_ON_BLACK	白黒
D2FP_WIDTH	幅
D2FP_WIN_STY	ウィンドウ・スタイル
D2FP_X_POS	X位置/Y位置
D2FP_Y_POS	X位置/Y位置


Open APIオブジェクトについて

  関連項目

API オブジェクト

警告

連結ラブライリ

ブロック

キャンバス

データ・ソース引数

データ・ソース列

エディタ

フォーム・モジュール

フォーム・パラメータ

グラフィックス

項目

値リスト列マッピング

値リスト

メニュー・オブジェクト

メニュー・モジュール

メニュー項目

メニュー・パラメータ

オブジェクト（一般オブジェクト)

オブジェクト・グループ

子オブジェクト・グループ

オブジェクト・ライブラリ

プログラム単位

プロパティ・クラス

ラジオ・ボタン

レコード・グループ

レコード・グループ列仕様部

リレーション・オブジェクト

レポート・オブジェクト

タブ・ページ

トリガー

可視属性

ウィンドウ


「警告」オブジェクト

  関連項目

このオブジェクトは、何らかのアプリケーション状態をオペレータに知らせるメッセージを表示するためのモーダル・ウィンドウです。


「連結ライブラリ」オブジェクト

  関連項目

このオブジェクトは、サブプログラムの集まりを表す読込み専用のモジュールです。サブプログラムには、他のアプリケーションからコール可能な、ユーザー命名プロシージャ、ファンクションおよびパッケージなどがあります。


「ブロック」オブジェクト

  関連項目

このオブジェクトは、レコードを格納、表示および操作するファンクション単位に関連付けられた項目をグループ化するための、論理コンテナを表します。ブロックに格納された項目オブジェクトのみが、アプリケーション・インタフェースにおいて可視です。


「キャンバス」オブジェクト

  関連項目

このオブジェクトは、チェックボックス、ラジオ・グループおよびテキスト項目などのインタフェース項目を配置するバックグラウンド・エンティティを表します。キャンバス・オブジェクトには、コンテンツ、スタック、水平ツールバー、垂直ツールバーという4つのタイプがあります。


D2FP_CLIENT_INFO

D2FP_CLIENT_INFOは、クライアントが追加データをForm Builderオブジェクトに付加するのに使用します。クライアントが使用する追加データは.fmbファイルには保存されないことに注意してください。D2FP_CLIENT_INFOは、後続のForm Builderのインスタンシエーションでは未定義です。


D2FP_MODULE

D2FP_MODULEは、モジュール・オブジェクト（フォーム、オブジェクト・ライブラリまたはメニュー）のハンドルを戻すのに使用されます。


D2FP_NEXT

D2FP_NEXTは、リスト上の次の同タイプのオブジェクトの値を戻すのに使用されます。たとえば、次の警告オブジェクトのハンドルを取得するのに使用できます。リスト上の最後のオブジェクトについては、D2FP_NEXTはNULLを戻します。


D2FP_OWNER

D2FP_OWNERは、オブジェクトの所有者の名前を戻すのに使用されます。たとえば、ブロックは項目を1つ所有するので、D2FP_OWNERは項目の所有者側ブロックの名前を戻します。


D2FP_PREVIOUS

D2FP_PREVIOUSは、リスト上の前の同タイプのオブジェクトの値を戻すのに使用されます。警告オブジェクトの場合ならば、前の警告オブジェクトの値を戻します。リスト上の最初のオブジェクトについては、NULLを戻します。


D2FP_SOURCE

D2FP_SOURCEは、ソース・オブジェクトの値を戻すのに使用されます。このプロパティはサブクラス化オブジェクトのみに適用されます。


D2FP_VAT_OBJ

D2FP_VAT_OBJは、視覚属性グループ・オブジェクトの値を戻すのに使用されます。


D2FP_PAR_FLNAM

D2FP_PAR_FLNAMは、親オブジェクトのファイル名を戻すのに使用されます。このプロパティはサブクラス化オブジェクトのみに適用されます。


D2FP_PAR_FLPATH

D2FP_PAR_FLPATHは、親オブジェクトのファイル・パスを戻すのに使用されます。このプロパティはサブクラス化オブジェクトのみに適用されます。


D2FP_PAR_MODSTR

D2FP_PAR_MODSTRは、親オブジェクトのモジュール文字列を戻すのに使用されます。このプロパティはサブクラス化オブジェクトのみに適用されます。


D2FP_PAR_MODTYP

D2FP_PAR_MODTYPは、親オブジェクトのモジュール・タイプを戻すのに使用されます。このプロパティはサブクラス化オブジェクトのみに適用されます。


D2FP_PAR_MODULE

D2FP_PAR_MODULEは、親オブジェクトのモジュールを戻すのに使用されます。このプロパティはサブクラス化オブジェクトのみに適用されます。


D2FP_PAR_NAM

D2FP_PAR_NAMは、親オブジェクトの名前を戻すのに使用されます。このプロパティはサブクラス化オブジェクトのみに適用されます。


D2FP_LIB_LOC

D2FP_LIB_LOCは、PL/SQLライブラリの物理的位置を戻すのに使用されます。


D2FP_LIB_SRC

D2FP_LIB_SRCは、PL/SQLライブラリのライブラリ・ソースを戻すのに使用されます。


D2FP_PRECOMP_SUMM

D2FP_PRECOMP_SUMMは、計算済み項目のサマリーを戻すのに使用されます。


D2FP_NXT_NAVIGATION_BLK_OBJ

D2FP_NXT_NAVIGATION_BLK_OBJは、次のナビゲーション・ブロック、または次に高いシーケンス番号を持つブロックであることがわかっているオブジェクトへ、制御を戻すのに使用されます。


D2FP_PREV_NAVIGATION_BLK_OBJ

D2FP_PREV_NAVIGATION_BLK_OBJは、前のナビゲーション・ブロックであることがわかっているオブジェクトへ制御を戻すのに使用されます。


D2FP_NXT_NAVIGATION_ITM_OBJ

D2FP_NXT_NAVIGATION_ITM_OBJは、次のナビゲーション・ブロックであることがわかっているオブジェクトへ制御を戻すのに使用されます。


D2FP_PREV_NAVIGATION_ITM_OBJ

D2FP_PREV_NAVIGATION_ITM_OBJは、前のナビゲーション・ブロックであること、または次に低いシーケンス番号のブロックであることがわかっているオブジェクトの制御を戻すのに使用されます。


D2FP_REC_VAT_GRP_OBJ

D2FP_REC_VAT_GRP_OBJは、現レコードの可視属性グループ・オブジェクトのハンドルを戻すのに使用されます。


D2FP_REL

D2FP_RELは、リレーション・オブジェクトのリストを戻すのに使用されます。


D2FP_SCRLBR_CNV_OBJ

D2FP_SCRLBR_CNV_OBJは、スクロール・バー・キャンバス・オブジェクトのリストの値を返します。


D2FP_SCRLBR_TBP_OBJ

D2FP_SCRLBR_TBP_OBJは、スクロール・バー・タブ・ページ・オブジェクトのリストの値を返します。


D2FP_TRIGGER

D2FP_TRIGGERは、トリガー・オブジェクトのリストの値を戻すのに使用されます。


D2FP_GRAPHIC

D2FP_GRAPHICは、グラフィック・オブジェクトのリストの値を戻すのに使用されます。


D2FP_POPUP_MNU_OBJ

D2FP_POP_MENU_OBJは、ポップアップ・メニュー・オブジェクトのリストの値を戻すのに使用されます。


D2FP_WND_OBJ

D2FP_WND_OBJは、ウィンドウ・オブジェクトのリストの値を戻すのに使用されます。


D2FP_DSA_MODE

D2FP_DSA_MODEは、データ・ソース引数のモード－IN、OUT、IN OUT－を戻すのに使用されます。


D2FP_DSA_NAM

D2FP_DSA_NAMは、データ・ソース引数の名前を戻すのに使用されます。


D2FP_DSA_TYP

D2FP_DSA_TYPは、データ・ソース引数のデータ型を戻すのに使用されます。


D2FP_DSA_TYP_NAM

D2FP_DSA_TYP_NAMは、データ・ソース引数タイプの名前を戻すのに使用されます。


D2FP_DSA_VAL

D2FP_DSA_VALは、データ・ソース引数の値を戻すのに使用されます。


D2FP_DSC_LEN

D2FP_DSC_LENは、データ・ソース列の長さを戻すのに使用されます。


D2FP_DSC_MANDATORY

D2FP_DSC_MANDATORYは、データ・ソース列が必須かどうかを示す値を戻すのに使用されます。


D2FP_DSC_NAM

D2FP_DSC_NAMは、データ・ソース列の名前を戻すのに使用されます。


D2FP_DSC_PRECISION

D2FP_DSC_PRECISIONは、データ・ソース列の精度を戻すのに使用されます。


D2FP_DSC_SCALE

D2FP_DSC_SCALEは、データ・ソース列のスケールを戻すのに使用されます。


D2FP_DSC_TYPE

D2FP_DSC_TYPEは、データ・ソース列のデータ型を戻すのに使用されます。


D2FP_ALERT

D2FP_ALERTは、警告オブジェクトのリストの値を戻すのに使用されます。


D2FP_ATT_LIB

D2FP_ATT_LIB は、連結ライブラリ・オブジェクトのリストの値を戻すのに使用されます。


D2FP_BLOCK

D2FP_BLOCKは、ブロック・オブジェクトのリストの値を戻すのに使用されます。


D2FP_CANVAS

D2FP_CANVASは、キャンバス・オブジェクトのリストの値を戻すのに使用されます。


D2FP_FORM_PARAM

D2FP_FORM_PARAMは、項目オブジェクトのリストの値を戻すのに使用されます。


D2FP_FIRST_NAVIGATION_BLK_OBJ

D2FP_FIRST_NAVIGATION_BLK_OBJは、最初にナビゲート可能なブロック・オブジェクトの名前を戻すのに使用されます。


D2FP_MENU

D2FP_MENUは、メニュー・オブジェクトのリストの値を戻すのに使用されます。


D2FP_PROG_UNIT

D2FP_PROG_UNITは、プログラム単位オブジェクトのリストの値を戻すのに使用されます。


D2FP_REPORT

D2FP_REPORTは、レポート・オブジェクトのリストの値を戻すのに使用されます。


D2FP_OBJ_GRP

D2FP_OBJ_GRPは、オブジェクト・グループ・オブジェクトのリストの値を戻すのに使用されます。


D2FP_VIS_ATTR

D2FP_VIS_ATTRは、可視属性オブジェクトのリストの値を戻すのに使用されます。


D2FP_OBJ_COUNT

D2FP_OBJ_COUNTは、オブジェクト・ライブラリ内のオブジェクト数を戻すのに使用されます。


D2FP_OBJ_LIB_TAB

D2FP_OBJ_LIB_TABは、オブジェクト・ライブラリ・タブのリストの値を戻すのに使用されます。


D2FP_ITEM

D2FP_ITEMは、項目オブジェクトのリストの値を戻すのに使用されます。


D2FP_FRAME_TTL_VAT_OBJ

D2FP_FRAM_TTL_VAT_OBJは、フレーム・タイトル可視属性オブジェクトのリストの値を戻すのに使用されます。


D2FP_TBP_OBJ

D2FP_TBP_OBJは、タブ・ページ・オブジェクトのリストの値を戻すのに使用されます。


D2FP_CNV_OBJ

D2FP_CNV_OBJは、キャンバス・オブジェクトのリストの値を戻すのに使用されます。


D2FP_EDT_OBJ

D2FP_EDT_OBJは、エディタ・オブジェクトのリストの値を戻すのに使用されます。


D2FP_LOV_OBJ

D2FP_LOV_OBJは、値リスト･オブジェクトのリストの値を戻すのに使用されます。


D2FP_POPUP_VA_OBJ

D2FP_POPUP_VA_OBJは、ポップアップ可視属性オブジェクトのリストの値を戻すのに使用されます。


D2FP_PRMPT_VAT_OBJ

D2FP_PRMPT_VAT_OBJは、プロンプト可視属性オブジェクトのリストの値を戻すのに使用されます。


D2FP_SYNC_ITM_OBJ

D2FP_SYNC_ITM_OBJは、項目同期化オブジェクトのリストの値を戻すのに使用されます。


D2FP_REC_GRP_OBJ

D2FP_REC_GRP_OBJは、レコード・グループ・オブジェクトのリストの値を戻すのに使用されます。


D2FP_LIST_ELEMENT_COUNT

D2FP_LIST_ELEMENT_COUNTは、リスト要素オブジェクト内の要素数を戻すのに使用されます。


D2FP_RAD_BUT

D2FP_RAD_BUTは、ラジオ・ボタンのリストの値を戻すのに使用されます。


D2FP_MNU_ITM_CODE

D2FP_MENU_ITM_CODEは、メニュー項目ソース・コードのコマンドを戻すのに使用されます。


D2FP_SUB_MNU_NAM

D2FP_SUB_MNU_NAMは、サブ・メニューの名前を戻すのに使用されます。


D2FP_SUB_MNU_OBJ

D2FP_SUB_MNU_OBJは、サブ・メニューのリストの値を戻すのに使用されます。


D2FP_VAT_TYP

D2FP_VAT_TYPは、可視属性タイプを戻すのに使用されます。


D2FP_COL_VALS_COUNT

D2FP_COL_VALS_COUNTは、列仕様オブジェクト内の列名に関連付けられた値の数を戻すのに使用されます。


D2FP_COL_DAT_TYP

D2FP_COL_DAT_TYPは、列仕様オブジェクトのデータ型プロパティを戻すのに使用されます。


D2FP_PGU_TXT

D2FP_PGU_TXTは、プログラム単位テキストを戻すのに使用されます。


D2FP_PGU_TYP

D2FP_PGU_TYPは、プログラム単位タイプを戻すのに使用されます。


D2FP_OBJ_GRP_CHILD_REAL_OBJ

D2FP_OBJ_GRP_CHILD_REAL_OBJは、オブジェクト・グループの実オブジェクトの名前を戻すのに使用されます。


D2FP_ASSOC_MENUS_COUNT

D2FP_ASSOC_MENUS_COUNTは、関連メニューの数を戻すのに使用されます。


D2FP_OG_CHILD

D2FP_OG_CHILDは、オブジェクト・グループの最初の子の名前を戻すのに使用されます。


D2FP_MNU_PARAM

D2FP_MNU_PARAMは、最初のメニュー・パラメータのハンドルを戻すのに使用されます。


「データ・ソース引数」オブジェクト

  関連項目

このオブジェクトは、データ問合せのためのプロシージャに渡される引数の名前、データ型および値を指定します。


「データ・ソース列」オブジェクト

  関連項目

このオブジェクトは、ブロックの問合せデータ・ソースに関連付けられる列の名前とデータ型を指定します。


「エディタ」オブジェクト

関連項目

このオブジェクトは、オペレータがテキストを編集することを可能にします。エディタ・オブジェクトには、デフォルト・エディタ、システム・エディタ、ユーザー命名エディタの3タイプがあります。


「フォーム・モジュール」オブジェクト

  関連項目

このオブジェクトはオブジェクトおよびコード・ルーチンの集まりを表します。フォーム・モジュール内で定義できるオブジェクトには、ウィンドウおよびテキスト項目（フィールド）、チェックボックス、ボタン、警告、値リスト、トリガーと呼ばれるPL/SQLコードのブロックが含まれています。


「フォーム・パラメータ」オブジェクト

  関連項目

このオブジェクトは、始動時にフォームが必要とする入力の値を定義および設定するための簡単なメカニズムを提供します。フォーム・パラメータは、ユーザーが設計時に定義する型、CHAR、NUMBERまたはDATE型の変数です。


｢グラフィックス｣オブジェクト

  関連項目

このオブジェクトは、キャンバス・オブジェクト上に配置可能なグラフィカル・ボイラープレートの集まりを表します。次のグラフィカル・オブジェクトを作成できます。すなわち四角形、楕円、多角形、丸い四角形、テキスト・ボイラープレート・オブジェクト、線、円弧、多重線および自由形状ボイラープレート・オブジェクト（フリーハンド・オブジェクト）。


｢項目｣オブジェクト

  関連項目

このオブジェクトはオペレータに対して情報を表示し、オペレータがアプリケーションと対話できるようにします。項目オブジェクトには次のタイプがあります。Bean領域、ボタン、チャート項目、チェックボックス、ディスプレイ項目、イメージ、リスト項目、OLEコンテナ、ラジオ・グループ、テキスト項目、ユーザー領域、およびVBX制御です。


「値リスト列マッピング」オブジェクト

  関連項目

このオブジェクトは、値リスト（LOV）オブジェクト内の個々の列を表します。値リストオブジェクトを作成したら、値リストオブジェクトの列ごとに、値リスト列マッピング・オブジェクトを作成（d2flcmcr_Create()を使用）する必要があります。


「値リスト」オブジェクト

  関連項目

このオブジェクトは、データベース表に似た列/行フレームワークを持つ内部Form Builderデータ構造を表します。

値リストオブジェクトはスクロール可能なポップアップ・ウィンドウであり、エンド・ユーザーに単一または複数列選択リストを提供します。


「メニュー」オブジェクト

  関連項目

キャラクタ・モードで動作しているアプリケーションのプルダウンやバー・メニュー表示スタイルにおいて、このオブジェクトは、エンド・ユーザーがメニューにナビゲートするとき表示される文字列を指定します。全画面表示スタイルでは、このオブジェクトは、メニュー・モジュールを識別する文字列を表現します。すべてのフォームが次のメニュー・オブジェクトの1つで動作します。すなわち、どのフォームにも組み込まれるデフォルト・メニュー、別個のモジュールとして定義し、ランタイム実行用のフォームに接続するカスタム・メニュー、あるいは、まったくメニューなし、です。


「メニュー・モジュール」オブジェクト

  関連項目

このオブジェクトは、メニュー・アプリケーションを共同で構成する、メニューの集まり（1つのメイン・メニューおよびサブメニュー・オブジェクト）とメニュー項目コマンドとを表します。


「メニュー項目｣オブジェクト

  関連項目

このオブジェクトは、メニュー項目のタイプ、すなわちプレーン、チェック、マジック、ラジオ、またはセパレータを指定します。メニュー項目のタイプによって、その項目がどのように表示されるか、その項目にコマンドを対応付けられるかどうかが決まります。


「メニュー・パラメータ」オブジェクト

  関連項目

このオブジェクトは、パラメータが関連付けられている、モジュール内の個々のメニューの名前を表します。パラメータが対応付けられたメニューにオペレータがナビゲートすると、「Enter Parameter Values」ダイアログに値を入力するようにというメッセージが表示されます。


オブジェクト（一般オブジェクト）

  関連項目

このオブジェクトは、すべての変更を、特定フォームに含まれているすべてのオブジェクトにプログラミングで波及することを可能にします。


「オブジェクト・グループ」オブジェクト

  関連項目

このオブジェクトは、オブジェクトのグループのコンテナです。関連のある複数のオブジェクトをパッケージ化して、それらを別のモジュールでコピーまたはサブクラス化できるようにするには、オブジェクト・グループを定義します。

オブジェクト・グループにより、オブジェクトを、アプリケーションの別の部分や後続の開発プロジェクトで使用できるより高レベルの作成ブロックにまとめることができます。


「子オブジェクト・グループ」オブジェクト

  関連項目

このオブジェクトは、オブジェクト・グループ・コンテナの子オブジェクトを表します。


「オブジェクト・ライブラリ」オブジェクト

  関連項目

このオブジェクトは、開発組織全体でオブジェクトを再利用し、標準を強制するための簡単な方法を提供します。

オブジェクト・ライブラリを使用して、標準および再使用可能なオブジェクトを作成、保存、保守および配布できます。

さらにオブジェクト・ライブラリを使用して、事前定義済みオブジェクトをフォームにドラッグ＆ドロップすることで、アプリケーションをすばやく作成できます。


「プログラム単位」オブジェクト

  関連項目

このオブジェクトは、名前付きPL/SQL関数、あるいはフォーム、メニューまたはライブラリ・モジュールに書き込むプロシージャを表します。トリガー・オブジェクトは、プログラマチック・コントロールをForm Builderアプリケーションに付加するための主要なメカニズムですが、このオブジェクトは、コードの再利用を可能にすることで、トリガー・オブジェクトを補います。しかも、それを複数のForm Builderに入れる必要はありません。


「プロパティ・クラス」オブジェクト

  関連項目

このオブジェクトは、プロパティと関連設定値リストを含む名前付きオブジェクトです。プロパティ・クラスを1度作成したら、そのプロパティ・クラスから他のオブジェクトに継承させることができます。プロパティ・クラスに基づくオブジェクトは、そのオブジェクトに適切なクラスのプロパティの設定値を継承できます。


「ラジオ・ボタン」オブジェクト

  関連項目

このオブジェクトは、ラジオ・グループ・インタフェース・コントロール上に表示される相互排他的オプションを表します。このオブジェクトは、他のラジオ・ボタン・オブジェクトとは独立にサイズ変更、位置、およびフォーマット化できます。


「レコード・グループ」オブジェクト

  関連項目

このオブジェクトは、データベース表に似た列/行フレームワークを持つ内部Form Builderデータ構造を表します。ただし、レコード・グループはデータベース表と違って、フォーム・モジュールに属するオブジェクトです。レコード・グループ・オブジェクトは、列の合計数が64Kを超えない限り、型CHAR、NUMBERまたはDATEの列を無限に持つことができます。レコード・グループ・オブジェクトの列名は、30文字を超えないでください。


「レコード・グループ列仕様部」オブジェクト

  関連項目

このオブジェクトは、レコード・グループ・オブジェクト内の個々の列を表します。レコード・グループ・オブジェクトを作成したら、レコード・グループ・オブジェクトの列ごとに、レコード・グループ列仕様オブジェクトを作成（d2frcscr_Create()を使用して）する必要があります。


「リレーション」オブジェクト

  関連項目

この論理オブジェクトは、1つのマスター・ブロックと1つの対応ディテール・データ・ブロックを指定します。オブジェクト・ナビゲータでは、リレーション・オブジェクトは、そのリレーションのマスター・ブロックであるブロックの下に表示されます。

リレーションを作成するとき、Form Builderにより、マスター・ブロックとディテール・ブロック間を強制的に調整するために必要なトリガーおよびPL/SQLプロシージャが作成されます。Form Builderが生成する実際のコードは、リレーションのプロパティをどう定義するかにより異なります。


「レポート」オブジェクト

  関連項目

このオブジェクトは、Oracle Report Builderを使用してビルドされるレポート・モジュールを表します。


「タブ・ページ」オブジェクト;
「タブ・ページ」オブジェクト

  関連項目

このオブジェクトは、タブ・キャンバス全体に表示される情報のサブセットを表示します。タブ・キャンバスは、大量の情報をグループ化して単一の動的キャンバス・オブジェクト上に表示することを可能にします。タブ・キャンバスは1つまたはそれ以上のタブ・ページ・オブジェクトを収納できます。


「トリガー」オブジェクト

  関連項目

このオブジェクトは、デフォルト・アプリケーションに機能性を追加するために書くコードのブロックを表します。どのトリガー・オブジェクトも名前を持ち、1つまたはそれ以上のPL/SQL文を格納します。トリガー・オブジェクトはPL/SQLコードをカプセル化するので、イベントに関連付けて、個別のオブジェクトとして実行および保守することができます。


「可視属性」オブジェクト

  関連項目

このオブジェクトは、実行時にオブジェクトに適用すべき名前付き可視属性を表します。可視属性は、オブジェクトの外観を決定するフォント、カラーおよびパターンの集まりを定義します。


「ウィンドウ」オブジェクト

  関連項目

このオブジェクトは、キャンバス・オブジェクトが実行時に表示されるウィンドウを指定します。


オブジェクト別Open API関数について

  関連項目

このセクションでは、ファンクションがOpen APIのヘッダー・ファイルにどう現れるかを説明します。関連するForms Open APIオブジェクトで関数を編成します。どのファンクションについても、引数リストを示し、簡単な説明をします。

さまざまなOpen APIファンクション戻りコードの完全な説明は、「Open APIファンクションの戻りコード」のセクションを参照してください。

オブジェクトごとのAPIファンクション

警告

連結ライブラリ

ブロック

キャンバス

データ・ソース引数

データ・ソース列

エディタ

フォーム・モジュール

フォーム・パラメータ

グラフィックス

項目

値リスト列マッピング

値リスト

メニュー・オブジェクト

メニュー・モジュール

メニュー項目

メニュー・パラメータ

オブジェクト（一般オブジェクト）

オブジェクト・グループ

子オブジェクト・グループ

オブジェクト・ライブラリ

プログラム単位

プロパティ・クラス

ラジオ・ボタン

レコード・グループ

レコード・グループ列仕様部

リレーション・オブジェクト

レポート・オブジェクト

タブ・ページ

トリガー

可視属性

ウィンドウ


「警告」オブジェクトの関数

  関連項目

このセクションでは、Form Builder Open API警告オブジェクトのファンクションを説明します。

d2faltcr_Create( d2fctx *pd2fctx, d2fob *parent, d2falt **ppd2falt, text *name );

このファンクションは警告オブジェクトを作成します。pd2fctxにコンテキストへのポインタ、parentに新しい警告オブジェクトの親へのポインタ、ppd2faltには、ファンクションが新しく作成された警告オブジェクトを格納するための値、そしてnameに新しいオブジェクトの名前を指定します。

このファンクションは、新しい警告オブジェクトを作成してppd2faltに保存できれば、D2FS_D2FS_SUCCESSを戻します。

d2faltde_Destroy( d2fctx *pd2fctx, d2falt *pd2falt );

このファンクションは、指定された警告オブジェクトを破壊します。pd2fctxにコンテキストへのポインタを、pd2faltに破壊する警告オブジェクトへのポインタを指定します。

d2faltdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2alt *pd2falt_src, d2falt **ppd2falt_dst, text *new_name );

このファンクションは、指定された警告オブジェクトを複製します。pd2fctxにコンテキストへのポインタ、new_parentに新しい親、pd2falt_srcに警告ソース、ppd2falt_dstには、ファンクションが警告宛先を保存するためのハンドル、そして警告オブジェクトのポインタ（new_name）を指定します。

このファンクションは、指定された警告オブジェクトを複製して位置ppd2falt_dstに保存できれば、D2FS_SUCCESSを戻します。

d2faltgb_GetBoolProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, boolean *pprp );

このファンクションは、指定された警告オブジェクトのブール型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そしてブール型プロパティ値を格納するためのpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2faltgn_GetNumProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, number *pprp );

このファンクションは、指定された警告オブジェクトの数値型のプロパティ（実際のスカラー定数）を取り出します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そして数値プロパティ値を格納するためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2faltgt_GetTextProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, text **pprp );

このファンクションは、指定された警告オブジェクトのテキスト型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そしてpprpには、ファンクションがテキスト・プロパティ値を格納するための文字配列へのポインタを指定します。

このファンクションは、与えられた配列を、pprpで指定された警告オブジェクトのテキスト・プロパティ値で満たすと、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2faltgo_GetObjectProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, dvoid **pprp );

このファンクションは、指定された警告オブジェクトのオブジェクト型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そしてpprpには、ファンクションがオブジェクト・プロパティ値を格納するためのプロパティ名を指定します。

このファンクションは、希望のオブジェクト・プロパティ値をpprpに保存すれば、D2FS_SUCCESSを戻します。

d2faltgp_GetBlobProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そしてpprpには、ファンクションがクライアント指定値へのアクセスを提供するためのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2faltsb_SetBoolProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, boolean prp );

このファンクションは、指定された警告オブジェクト・ブール型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpにブール型プロパティ値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2faltsn_SetNumProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, number prp );

このファンクションは、指定された警告オブジェクトの数値型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpに数値型プロパティ値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2faltst_SetTextProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, text *prp );

このファンクションは、指定された警告オブジェクトのテキスト・プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpにテキスト値へのポインタを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2faltso_SetObjectProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, dvoid *prp );

このファンクションは、指定された警告オブジェクト・プロパティのオブジェクトを設定します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpにオブジェクト・プロパティへのポインタを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2faltsp_SetBlobProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpにクライアント指定値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2falthp_HasProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum );

このファンクションは、指定されたプロパティの指定された警告オブジェクトを問い合わせます。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

このファンクションは成功すると、オブジェクトが指定されたプロパティを持っているかどうかに応じてD2FS_YESまたはD2FS_NOを戻します。そうでない場合は、ファンクションは、特定の状況に応じて一定数の可能な戻り値を戻すことができます。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2faltip_InheritProp( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum );

このファンクションは、指定された警告オブジェクトが指定されたプロパティを継承することを可能にします。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2faltii_IspropInherited( d2fctx *pd2fctx, d2falt *pd2falt, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2faltsc_SubClass( d2fctx *pd2fctx, d2falt *pd2falt, d2fob *parent, boolean keep_path);

このファンクションは、指定された警告オブジェクト（pd2falt）が指定された親（parent）のサブクラスになれば、D2FS_SUCCESSを戻します。pd2fctxにコンテキストへのポインタ、pd2faltに警告オブジェクトへのポインタ、そしてkeep_pathに親オブジェクトへのパスを保存するかどうかを示すブール値フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは、実際のパスを.fnbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2faltis_IsSubclassed	( d2fctx *pd2fctx, d2falt *pd2falt );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにコンテキストへのポインタを、pd2faltに警告オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「連結ライブラリ」オブジェクトの関数

  関連項目

このセクションでは、Form Builder Open API連結ライブラリ・オブジェクトのファンクションを説明します。

d2falbat_Attach( d2fctx *pd2fctx, d2fob *parent, d2falb **ppd2falb, boolean db, text *name );

このファンクションは、指定されたライブラリをデータベース（フォームやPL/SQLなど）またはファイル・システムに接続します。parentには連結ライブラリを接続する場所へのポインタを、dbにはそのライブラリがデータベースまたはファイル・システムに常駐するかどうかを示すブール値フラグを、そしてnameにはライブラリ名を指定します。

dbをTRUEに設定すると、Forms APIは指定されたライブラリ（nameで渡された名前）をデータベースで探します。dbをFALSEに設定すると、ライブラリはファイル・システムに常駐し、Forms APIは、指定されたライブラリをそのファイル・システムで探し、接続します。たとえば、ライブラリをフォーム・モジュールに接続し、ライブラリがファイル・システムに常駐するようにする場合は、dbをFALSEに設定します。

d2falbdt_Detach( d2fctx *pd2fctx, d2falb *pd2falb );

このファンクションは、指定されたライブラリをデータベースまたはファイル・システムから接続解除します。pd2fctxにコンテキストへのポインタを、ppd2falbに連結ライブラリへのポインタを指定します。

d2falbgb_GetBoolProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, boolean *pprp );

このファンクションは、指定された連結ライブラリのブール型プロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、pnumにプロパティ番号、そしてpprpには、ブール型プロパティ値を格納するためのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2falbgn_GetNumProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, number *pprp );

このファンクションは、指定された連結ライブラリの数値型プロパティ（実際のスカラー定数）を取り出します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、pnumにプロパティ番号、そしてpprpには、取り出された数値型プロパティの値を格納するためのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2falbgt_GetTextProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, text **pprp );

このファンクションは、指定された連結ライブラリのテキスト型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、pnumにプロパティ番号、そしてファンクションがテキスト・プロパティ値を保存するための文字の配列のハンドル（pprp）を指定します。

このファンクションは、与えられた配列を、pprpで指定された連結ライブラリのテキスト・プロパティ値で満たすと、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2falbgo_GetObjectProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, dvoid **pprp );

このファンクションは、指定された連結ライブラリのオブジェクト型プロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、pnumにプロパティ番号、およびpprpには、ファンクションがオブジェクト・プロパティ値を格納するためのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2falbgp_GetBlobProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、pnumにプロパティ番号、およびpprpには、ファンクションがクライアント指定値へのアクセスを提供するためのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2falbsb_SetBoolProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, boolean prp );

このファンクションは、指定された連結ライブラリのブール型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、pnumにプロパティ番号、そしてprpにブール型プロパティの値を指定します。

このファンクションは、指定されたブール型プロパティを、prpの指定値で設定すると、D2FS_SUCCESSを戻します。

d2falbsn_SetNumProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, number prp );

このファンクションは、指定された連結ライブラリの数値型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、pnumにプロパティ番号、そしてprpに数値型プロパティの値を指定します。

このファンクションは、指定された数値型プロパティを、prpでの設定値で設定すると、D2FS_SUCCESSを戻します。

d2falbst_SetTextProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, text *prp );

このファンクションは、指定された連結ライブラリ・プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、pnumにプロパティ番号、そしてprpにテキスト・プロパティ値へのポインタを指定します。

このファンクションは、指定されたテキスト・プロパティを、prpに保存された値を使用して設定すると、D2FS_SUCCESSを戻します。

d2falbso_SetObjectProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, dvoid *prp );

このファンクションは、指定された連結ライブラリ・プロパティのオブジェクトを設定します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、pnumにプロパティ番号、そしてprpにオブジェクト・プロパティ値へのポインタを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2falbsp_SetBlobProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリ・オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpにクライアント指定値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2falbhp_HasProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum );

このファンクションは、指定されたプロパティの指定された連結ライブラリを問い合わせます。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2falbip_InheritProp( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum );

このファンクションは、指定された連結ライブラリが指定されたプロパティを継承することを可能にします。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリ・オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2falbii_IspropInherited( d2fctx *pd2fctx, d2falb *pd2falb, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにコンテキストへのポインタ、pd2falbに連結ライブラリ・オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「ブロック」オブジェクトの関数

  関連項目

このセクションでは、Form Builder Open APIブロック・オブジェクトのファンクションを説明します。

d2fblkcr_Create( d2fctx *pd2fctx, d2fob *parent, d2fblk **ppd2fblk, text *name );

このファンクションはブロックを作成します。pd2fctxにコンテキストへのポインタ、parentに新しいブロック・オブジェクトの親へのポインタ、ppd2fblkに新しく作成されたブロック・オブジェクトを格納するファンクションのハンドルを、そして新しいオブジェクトの名前のためのnameへのポインタを指定します。

このファンクションは、新しいブロックをppd2fblkに作成できれば、D2FS_SUCCESSを戻します。

d2fblkde_Destroy( d2fctx *pd2fctx, d2fblk *pd2fblk );

このファンクションは、指定されたブロックを破壊します。pd2fctxにコンテキストへのポインタ、pd2fblkに破壊するブロック・オブジェクトへのポインタを指定します。

d2fblkdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2blk *pd2fblk_src, d2fblk **ppd2fblk_dst, text *new_name );

このファンクションは、指定されたブロックを複製します。pd2fctxにコンテキストへのポインタ、new_parentに新しい親へのポインタ、pd2fblk_srcにブロック・ソースへのポインタ、ppd2fblk_dstには宛先を格納するファンクション用の名前、そして新しいブロックの名前のポインタ（new_name）を指定します。

このファンクションは、指定されたブロックを複製して、位置ppd2fblk_dstに置くことができれば、D2FS_SUCCESSを戻します。

d2fblkco_CompileObj( d2fctx *pd2fctx, d2fblk *pd2fblk );

このファンクションは、指定ブロックに関連付けられたPL/SQLコードをすべてコンパイルします。pd2fctxにコンテキストへのポインタを、pd2fblkには、コンパイルするオブジェクトへのポインタを指定します。

たとえば、このファンクションを使用して、ブロックに連結したべてのトリガーと、ブロック内のすべての項目オブジェクトに連結したすべてのトリガーをコンパイルしてもかまいません。

d2fblkgb_GetBoolProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, boolean *pprp );

このファンクションは、指定されたブロックのブール型プロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、pnumにプロパティ番号、そしてpprpには、ブール型プロパティ値を格納するためのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fblkgn_GetNumProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, number *pprp );

このファンクションは、指定されたブロックの数値型プロパティ（実際のスカラー定数）を取り出します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、pnumにプロパティ番号、そして数値型プロパティ値を指定するためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fblkgt_GetTextProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, text **pprp );

このファンクションは、指定されたブロックのテキスト型プロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、pnumにプロパティ番号、そしてpprpには、ファンクションがテキスト・プロパティ値を格納するための文字の配列へのハンドルを指定します。

このファンクションは、与えられた配列を、pprpに指定されたブロックのテキスト・プロパティ値で満たすと、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fblkgo_GetObjectProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, dvoid **pprp );

このファンクションは、指定されたブロックのオブジェクト型プロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、pnumにプロパティ番号、そしてファンクションがオブジェクト・プロパティ値を格納するためのpprpのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fblkgp_GetBlobProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロック・オブジェクトへのポインタ、pnumにプロパティ番号、そしてファンクションがクライアント指定値へのアクセスを提供するためのpprpのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fblksb_SetBoolProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, boolean prp );

このファンクションは、指定されたブロックのブール型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、pnumにプロパティ番号、そしてprpにブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fblksn_SetNumProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, number prp );

このファンクションは、指定されたブロックの数値型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、pnumにプロパティ番号、そしてprpに数の値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fblkst_SetTextProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, text *prp );

このファンクションは、指定されたブロック・テキスト・プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、pnumにプロパティ番号、そしてprpにテキスト値へのポインタを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fblkso_SetObjectProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, dvoid *prp );

このファンクションは、指定されたブロック・プロパティのオブジェクトを設定します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、pnumにプロパティ番号、prpにオブジェクト・プロパティ値へのポインタを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fblksp_SetBlobProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロック・オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpにクライアント指定値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fblkhp_HasProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum );

このファンクションは、指定されたプロパティの指定されたブロックを問い合わせます。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fblkip_InheritProp( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum );

このファンクションは、指定されたブロックが指定されたプロパティを継承することを可能にします。pd2fctxにコンテキストへのポインタ、pd2fblkにブロック・オブジェクト、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fblkii_IspropInherited( d2fctx *pd2fctx, d2fblk *pd2fblk, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロック・オブジェクト、そしてpnumにプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fblksc_SubClass( d2fctx *pd2fctx, d2fblk *pd2fblk, d2fob *parent, boolean keep_path);

このファンクションは、指定されたブロック（pd2fblk）が指定された親（parent）ブロックのサブクラスになれば、D2FS_YESを戻します。pd2fctxにコンテキストへのポインタ、pd2fblkにブロックへのポインタ、parentに親オブジェクトへのポインタ、そしてkeep_pathには、ファンクションが親オブジェクトのパスを保存するかどうかを示すブール値フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは、実際のパスを.fnbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fblkis_IsSubclassed	( d2fctx *pd2fctx, d2fblk *pd2fblk );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにコンテキストへのポインタを、pd2fblkにブロック・オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「キャンバス」オブジェクトの関数

  関連項目

このセクションでは、Form Builder Open APIブロック・オブジェクトのファンクションを説明します。

d2fcnvcr_Create( d2fctx *pd2fctx, d2fob *parent, d2fcnv **ppd2fcnv, text *name );

このファンクションはキャンバスを作成します。pd2fctxにコンテキストへのポインタ、parentに新しいキャンバス・オブジェクトの親へのポインタ、ppd2fcnvには、新しく作成されたキャンバス・オブジェクトをファンクションが保存するめのハンドル、そしてnameには、新しいオブジェクトの名前を指定します。

このファンクションは、新しいキャンバスをppd2fcnvに作成できれば、D2FS_SUCCESSを戻します。

d2fcnvde_Destroy( d2fctx *pd2fctx, d2fcnv *pd2fcnv );

このファンクションは、指定されたキャンバスを破棄します。pd2fctxにコンテキストへのポインタを、pd2fcnvに破棄するキャンバスへのポインタを指定します。

d2fcnvdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2cnv *pd2fcnv_src, d2fcnv **ppd2fcnv_dst, text *new_name );

このファンクションは、指定されたキャンバスを複製します。pd2fctxにコンテキストへのポインタ、new_parentに新しい親へのポインタ、pd2fcnv_srcにキャンバス・ソースへのポインタ、ppd2fcnv_dstにはファンクションが宛先を格納するためのハンドル、そして新しいキャンバスの名前のポインタ（new_name）を指定します。

このファンクションは、指定されたキャンバスを複製して、位置ppd2fcnv_dstに置くことができれば、D2FS_SUCCESSを戻します。

d2fcnvco_CompileObj( d2fctx *pd2fctx, d2fcnv *pd2fcnv );

このファンクションは、指定されたキャンバスに関連するPL/SQLコードをすべてコンパイルします。pd2fctxにコンテキストへのポインタを、pd2fcnvにはコンパイルするオブジェクトへのポインタを指定します。

たとえば、このファンクションを使用して、ブロックに連結したすべてのトリガーと、キャンバス上のすべての項目オブジェクトに連結したすべてのトリガーをコンパイルしてもかまいません。

d2fcnvgb_GetBoolProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, boolean *pprp );

このファンクションは、指定されたキャンバスのブール型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバスへのポインタ、pnumにプロパティ番号、そしてブール型プロパティ値を格納するためのpprpへのポインタ指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fcnvgn_GetNumProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, number *pprp );

このファンクションは、指定されたキャンバスのタイプ番号プロパティ（実際のスカラー定数）を取り出します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバスへのポインタ、pnumにプロパティ番号、そして数値プロパティを格納するためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fcnvgt_GetTextProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, text **pprp );

このファンクションは、指定されたキャンバスのテキスト型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバスへのポインタ、pnumにプロパティ番号、そしてpprpには、ファンクションがテキスト・プロパティ値を格納するための文字の配列のハンドルを指定します。

このファンクションは、与えられた配列を、pprpで指定されたキャンバスのテキスト・プロパティ値で満たすと、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fcnvgo_GetObjectProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, dvoid **pprp );

このファンクションは、指定されたキャンバスのオブジェクト型プロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバスへのポインタ、pnumにプロパティ番号、そしてファンクションがオブジェクト・プロパティ値を格納するためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fcnvgp_GetBlobProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバス・オブジェクトへのポインタ、pnumにプロパティ番号、そしてファンクションがクライアント指定値へのアクセスを提供するためのpprpのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fcnvsb_SetBoolProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, boolean prp );

このファンクションは、指定されたキャンバスのブール型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバス、pnumにプロパティ番号、そしてprpにブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fcnvsn_SetNumProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, number prp );

このファンクションは、指定されたキャンバスの数値型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバス、pnumにプロパティ番号、そしてprpに数値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fcnvst_SetTextProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, text *prp );

このファンクションは、指定されたキャンバス・テキスト・プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバス、pnumにプロパティ番号、そしてprpにテキスト値への値を指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fcnvso_SetObjectProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, dvoid *prp );

このファンクションは、指定されたキャンバス・プロパティのオブジェクトを設定します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバス、pnumにプロパティ番号、そしてprpにオブジェクト・プロパティのハンドルを指定します

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fcnvsp_SetBlobProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバス・オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpにクライアント指定値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fcnvhp_HasProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum );

このファンクションは、指定されたプロパティの指定されたキャンバスを問い合わせます。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバス、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fcnvip_InheritProp( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum );

このファンクションは、指定されたキャンバスが指定されたプロパティを継承することを可能にします。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバス・オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fcnvii_IspropInherited( d2fctx *pd2fctx, d2fcnv *pd2fcnv, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバス・オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fcnvsc_SubClass( d2fctx *pd2fctx, d2fcnv *pd2fcnv, d2fob *parent, boolean keep_path);

このファンクションは、指定されたキャンバス（pd2fcnv）が指定された親（parent）のサブクラスになるならば、D2FS_SUCCESSを戻します。pd2fctxにコンテキストへのポインタ、pd2fcnvにキャンバスへのポインタ、parentに親オブジェクトへのポインタ、そしてkeep_pathには、親オブジェクトへのパスを保存するためのブール値フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは、実際のパスを.fnbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fcnvis_IsSubclassed	( d2fctx *pd2fctx, d2fcnv *pd2fcnv );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにコンテキストへのポインタを、pd2fcnvにキャンバス・オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


コンテキストの関数

  関連項目

このセクションでは、Form Builder Open APIコンテキスト・オブジェクトのファンクションを説明します。

d2fctxcr_Create( d2fctx **pd2fctx, d2fctxa *d2fctx_attr );

このファンクションはコンテキストを作成します。pd2fctxにはForms APIが新しく作成されたコンテキストを格納するためのハンドルを、pd2fctx_attrには属性構造体へのポインタを指定します。

このコンテキストを作成するには、次に示す実際の属性構造体（d2fctxa）を定義する必要があります。

typedef struct d2fctxa

   {

ub4 mask_d2fctxa;

dvoid *cdata_d2fctxa;       /* Client data     */

d2fmalc d2fmalc_d2fctxa;

d2fmfre d2fmfre_d2fctxa;

d2fmrlc d2fmrlc_d2fctxa;

} d2fctxa;

d2fctxde_Destroy( d2fctx *pd2fctx );

このファンクションは、指定されたコンテキストを破棄します。pd2fctxにコンテキストへのポインタを指定します。

Forms APIを使用して終了した場合は、このファンクションを最後にコールする必要があるので注意してください。

d2fctxsa_SetAttributes( d2fctx *pd2fctx, d2fctxa *pd2fctx_attr );

このファンクションは、属性構造に指定された属性を設定します。pd2fctxにコンテキストへのポインタを、pd2fctx_attrに属性構造体へのポインタを指定します。

クライアント・データまたはメモリー・コールバックを渡す必要があるときはいつでも、このファンクションを使用できることに注意してください。

d2fctxga_GetAttributes( d2fctx *pd2fctx, d2fctxa *pd2fctx_attr );

このファンクションは、指定された属性を属性構造体から取得します。pd2fctxにコンテキストへのポインタを、pd2fctx_attrに属性構造体へのポインタを指定します。

クライアント・データまたはメモリー・コールバックを取り出す必要があるときはいつでも、このファンクションを使用できることに注意してください。

d2fctxcn_Connect( d2fctx *pd2fctx, text *con_str, dvoid *phstdef );

このファンクションは、指定したデータベースに接続します。pd2fctxにコンテキストへのポインタ、con_strに接続文字列へのポインタ、そして任意にhstdefポインタ（phstdef)を指定します。

phstdef引数は、２つめの接続(パフォーマンスが落ちる可能性がある)を確立するよりも、パフォーマンス良く、hstdef使用可能化接続（構造体hstdefはPL/SQL APIによって外部化される）の方を共有することを望む上級ユーザーのために提供されているので注意してください。hstdefポインタは、データベース接続についての情報を格納します。phstdefをNULLに設定すると、Forms APIは、con_strに指定するデータベースへの接続を確立します。そうでない場合、このファンクションはhstdef接続が有効であるかをチェックしてから、hstdefポインタを使用してデータベース接続を行います。pstdefポインタが有効であり、かつ接続されていない場合は、エラーが戻されます。ほとんどのユーザーは、phstdef引数にはNULLポインタを渡すべきです。

d2fctxdc_Disconnect( d2fctx *pd2fctx );

このファンクションは、現行データベース接続から切り離します。

d2fctxbv_BuilderVersion( d2fctx *pd2fctx, number *version );

このファンクションは、Forms Designerの現行バージョンを戻します。pd2fctxにコンテキストへのポインタを、versionにバージョン番号へのポインタを指定します。


「データ・ソース引数」オブジェクトの関数

  関連項目

このセクションでは、Form Builder Open APIデータ・ソース引数オブジェクトのファンクションを説明します。

d2fdsacr_Create( d2fctx *pd2fctx, d2fob *parent, d2fdsa **ppd2fdsa, text *name );

このファンクションはデータ・ソース引数を作成します。pd2fctxにコンテキストへのポインタ、parentに新しいデータ・ソース引数の親へのポインタ、ppd2fdsaにはファンクションが新しく作成されたデータ・ソース引数オブジェクトを格納するためのハンドル、そしてnameには新しいオブジェクトの名前を指定します。

このファンクションは、新しいデータ・ソース引数を作成してppd2fdsaに保存できれば、D2FS_SUCCESSを戻します。

d2fdsade_Destroy( d2fctx *pd2fctx, d2fdsa *pd2fdsa );

このファンクションは、指定されたデータ・ソース引数を破棄します。pd2fctxにコンテキストへのポインタを、pd2fdsaに破棄するデータ・ソース引数へのポインタを指定します。

d2fdsadu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2dsa *pd2fdsa_src, d2fdsa **ppd2fdsa_dst, text *new_name );

このファンクションは、指定されたデータ・ソース引数を複製します。pd2fctxにコンテキストへのポインタ、new_parentに新しい親へのポインタ、pd2fdsa_srcにデータ・ソース引数ソースへのポインタ、ppd2fdsa_dstにはファンクションが宛先を保存するためのハンドル、そして新しいデータ・ソース引数の名前のポインタ（new_name）を指定します。

このファンクションは、指定されたデータ・ソース引数を複製して、位置ppd2fdsa_dstに保存できれば、D2FS_SUCCESSを戻します。

d2fdsagb_GetBoolProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, boolean *pprp );

このファンクションは、指定されたデータ・ソース引数のブール型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数、pnumにプロパティ番号、そしてブール値を格納するためのpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fdsagn_GetNumProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, number *pprp );

このファンクションは、指定されたデータ・ソース引数のタイプ番号プロパティ（実際のスカラー定数）を取り出します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数、pnumにプロパティ番号、そして数値を格納するためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fdsagt_GetTextProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, text **pprp );

このファンクションは、指定されたデータ・ソース引数のテキスト型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数、pnumにプロパティ番号、そしてpprpには、ファンクションがテキスト・プロパティ値を格納するための文字の配列へのハンドルを指定します。

このファンクションは、与えられた配列を、pprpに指定されたデータ・ソース引数のテキスト・プロパティ値で満たすと、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fdsago_GetObjectProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, dvoid **pprp );

このファンクションは、指定されたデータ・ソース引数のオブジェクトプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数、pnumにプロパティ番号、そしてファンクションがオブジェクト・プロパティ値を格納するためのpprpのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fdsagp_GetBlobProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数オブジェクトへのポインタ、pnumにプロパティ番号、そしてファンクションがクライアント指定値へのアクセスを提供するためpprpのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fdsasb_SetBoolProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, boolean prp );

このファンクションは、指定されたデータ・ソース引数のブール型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数、pnumにプロパティ番号、そしてprpにブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fdsasn_SetNumProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, number prp );

このファンクションは、指定されたデータ・ソース引数の数値型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数、pnumにプロパティ番号、そしてprpに数値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fdsast_SetTextProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, text *prp );

このファンクションは、指定されたデータ・ソース引数のテキスト・プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数、pnumにプロパティ番号、そしてprpにテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fdsaso_SetObjectProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, dvoid *prp );

このファンクションは、指定されたデータ・ソース引数プロパティのオブジェクトを設定します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数、pnumにプロパティ番号、そしてprpにオブジェクト・プロパティのハンドルを指定します

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fdsasp_SetBlobProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpにクライアント指定値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fdsahp_HasProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum );

このファンクションは、指定されたプロパティの指定されたデータ・ソース引数を問い合わせます。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fdsaip_InheritProp( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum );

このファンクションは、指定されたデータ・ソース引数が指定されたプロパティを継承することを可能にします。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fdsaii_IspropInherited( d2fctx *pd2fctx, d2fdsa *pd2fdsa, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにコンテキストへのポインタ、pd2fdsaにデータ・ソース引数オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「データ・ソース列」オブジェクトの関数

  関連項目

このセクションは、Form Builder Open APIデータ・ソース列オブジェクトのファンクションを説明します。

d2fdsccr_Create( d2fctx *pd2fctx, d2fob *parent, d2fdsc **ppd2fdsc, text *name );

このファンクションはデータ・ソース列を作成します。pd2fctxにコンテキストへのポインタ、parentにデータ・ソース列オブジェクトの親へのポインタ、ppd2fdscには、ファンクションが新しく作成されたオブジェクトを格納するためのハンドル、そしてnameに新しいオブジェクトの名前を指定します。

このファンクションは、ppd2fdscに新しいデータ・ソース列を作成することができれば、D2FS_SUCCESSを戻します。

d2fdscde_Destroy( d2fctx *pd2fctx, d2fdsc *pd2fdsc );

このファンクションは、指定されたデータ・ソース列を破棄します。pd2fctxにコンテキストへのポインタを、pd2fdscに破棄するデータ・ソース列へのポインタを指定します。

d2fdscdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2dsc *pd2fdsc_src, d2fdsc **ppd2fdsc_dst, text *new_name );

このファンクションは、指定されたデータ・ソース列を複製します。pd2fctxにコンテキストへのポインタ、new_parentに新しい親へのポインタ、pd2fdsc_srcにデータ・ソース列ソースへのポインタ、ppd2fdsc_dstには、ファンクションが宛先を格納するための名前、そして新しいデータ・ソース列の名前ためのポインタ（new_name）を指定します。

このファンクションは、指定されたデータ・ソース列を複製して、それを位置ppd2fdsc_dstに置くことができれば、D2FS_SUCCESSを戻します。

d2fdscgb_GetBoolProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, boolean *pprp );

このファンクションは、指定されたデータ・ソース列のブール型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列、pnumにプロパティ番号、そしてブール値を格納するためのpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fdscgn_GetNumProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, number *pprp );

このファンクションは、指定されたデータ・ソース列のタイプ番号プロパティ（実際のスカラー定数）を取り出します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列、pnumにプロパティ番号、そして数値を格納するためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fdscgt_GetTextProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, text **pprp );

このファンクションは、指定されたデータ・ソース列のテキスト型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列、pnumにプロパティ番号、そしてpprpには、ファンクションがテキスト・プロパティ値を格納するための文字の配列へのハンドルを指定します。

このファンクションは、与えられた配列を、pprpで指定されたデータ・ソース列のテキスト・プロパティ値で満たすと、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fdscgo_GetObjectProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, dvoid **pprp );

このファンクションは、指定されたデータ・ソース列のタイプ・オブジェクトのプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fdscデータ・ソース列、pnumにプロパティ番号、そしてファンクションがオブジェクト・プロパティ値を格納するためのpprpのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fdscgp_GetBlobProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列オブジェクトへのポインタ、pnumにプロパティ番号、そしてファンクションがクライアント指定値へのアクセスを提供するためのpprpのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fdscsb_SetBoolProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, boolean prp );

このファンクションは、指定されたデータ・ソース列のブール型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列、pnumにプロパティ番号、そしてprpにブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fdscsn_SetNumProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, number prp );

このファンクションは、指定されたデータ・ソース列数値型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列、pnumにプロパティ番号、そしてprpに数値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fdscst_SetTextProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, text *prp );

このファンクションは、指定されたデータ・ソース列テキスト・プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列、pnumにプロパティ番号、そしてprpにテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fdscso_SetObjectProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, dvoid *prp );

このファンクションは、指定されたデータ・ソース列プロパティのオブジェクトを設定します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列、pnumにプロパティ番号、そしてprpにオブジェクト・プロパティのハンドルを指定します

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fdscsp_SetBlobProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列へのポインタ、pnumにプロパティ番号、そしてprpにクライアント指定値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fdschp_HasProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum );

このファンクションは、指定されたプロパティの指定されたデータ・ソース列を問い合わせます。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fdscip_InheritProp( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum );

このファンクションは、指定されたデータ・ソース列が指定されたプロパティを継承することを可能にします。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fdscii_IspropInherited( d2fctx *pd2fctx, d2fdsc *pd2fdsc, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにコンテキストへのポインタ、pd2fdscにデータ・ソース列オブジェクトへのポインタ、そしてpnumにプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「エディタ」オブジェクトの関数

  関連項目

このセクションは、Form Builder Open APIエディタ・オブジェクトのファンクションを説明します。

d2fedtcr_Create( d2fctx *pd2fctx, d2fob *parent, d2fedt **ppd2fedt, text *name );

このファンクションはエディタを作成します。pd2fctxにコンテキストへのポインタ、parentに新しいエディタ・オブジェクトの親へのポインタ、ppd2fedtには、ファンクションが新しく作成されたオブジェクトを格納するためのハンドル、そしてnameに新しいオブジェクトの名前を指定します。

このファンクションは、新しいエディタをppd2fedtに作成できれば、D2FS_SUCCESSを戻します。

d2fedtde_Destroy( d2fctx *pd2fctx, d2fedt *pd2fedt );

このファンクションは、指定されたエディタを破壊します。pd2fctxにコンテキストへのポインタと、pd2fedtの破壊するエディタへのポインタを指定します。

d2fedtdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2edt *pd2fedt_src, d2fedt **ppd2fedt_dst, text *new_name );

このファンクションは、指定されたエディタを複製します。pd2fctxにコンテキストへのポインタ、new_parentに新しい親へのポインタ、pd2fedt_srcにエディタ・ソースへのポインタ、ppd2fedt_dstにはファンクションが宛先を格納するためのハンドル、そして新しいエディタの名前のためのポインタ（new_name）を指定します。

このファンクションは、指定されたエディタを複製して、それを位置ppd2fedt_dstに置くことができれば、D2FS_SUCCESSを戻します。

d2fedtgb_GetBoolProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, boolean *pprp );

このファンクションは、指定されたエディタのブール型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ、pnumにプロパティ番号、そしてブール値を格納するためのpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fedtgn_GetNumProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, number *pprp );

このファンクションは、指定されたエディタの数値型プロパティ（実際のスカラー定数）を取り出します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ、pnumにプロパティ番号、そして数値を格納するためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fedtgt_GetTextProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, text **pprp );

このファンクションは、指定されたエディタのテキスト型のプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ、pnumにプロパティ番号、そしてpprpには、ファンクションがテキスト・プロパティ値を格納するための文字の配列へのポインタを指定します。

このファンクションは、与えられた配列を、pprpで指定されたエディタのテキスト・プロパティ値で満たすと、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fedtgo_GetObjectProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, dvoid **pprp );

このファンクションは、指定されたエディタのタイプ・オブジェクトのプロパティを取り出します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ、pnumにプロパティ番号、そしてファンクションがオブジェクト・プロパティ値を格納するためのpprpのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fedtgp_GetBlobProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ・オブジェクトへのポインタ、pnumにプロパティ番号、そしてファンクションがクライアント指定値へのアクセスを提供するためのpprpのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fedtsb_SetBoolProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, boolean prp );

このファンクションは、指定されたエディタのブール型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ、pnumにプロパティ番号、そしてprpにブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fedtsn_SetNumProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, number prp );

このファンクションは、指定されたエディタの数値型プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ、pnumにプロパティ番号、そしてprpに数値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fedtst_SetTextProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, text *prp );

このファンクションは、指定されたエディタ・テキスト・プロパティの値を設定します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ、pnumにプロパティ番号、そしてprpにテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fedtso_SetObjectProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, dvoid *prp );

このファンクションは、指定されたエディタ・プロパティのオブジェクトを設定します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ、pnumにプロパティ番号、そしてprpにオブジェクト・プロパティのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fedtsp_SetBlobProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにコンテキストへのポインタ、pd2fedtにエディタ・オブジェクトへのポインタ、pnumにプロパティ番号、そしてprpにクライアント指定値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fedthp_HasProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum );

この関数は、指定したエディタに、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、エディタをpd2fedtに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fedtip_InheritProp( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum );

この関数は、指定したエディタが、指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、エディタ・オブジェクトへのポインタをpd2fedtに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fedtii_IspropInherited( d2fctx *pd2fctx, d2fedt *pd2fedt, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、エディタ・オブジェクトへのポインタをpd2fedtに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fedtsc_SubClass( d2fctx *pd2fctx, d2fedt *pd2fedt, d2fob *parent, boolean keep_path);

この関数は、指定したエディタ（pd2fedt）が指定した親（parent）のサブクラスになると、D2FS_SUCCESSを返します。ユーザーは、コンテキストへのポインタをpd2fctxに、エディタへのポインタをpd2fedtに、親オブジェクトへのポインタをparentに、親オブジェクトへのパスを入れるブール・フラグをkeep_pathに指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは、実際のパスを.fnbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fedtis_IsSubclassed	( d2fctx *pd2fctx, d2fedt *pd2fedt );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、エディタ・オブジェクトへのポインタをpd2fedtに指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「フォーム・モジュール」オブジェクトの関数

  関連項目

この節では、Form BuilderのOpen APIのフォーム・モジュール・オブジェクトの各種関数について説明します。

d2ffmdcr_Create( d2fctx *pd2fctx, d2fob *parent, d2ffmd **ppd2ffmd, text *name );

この関数はフォーム・モジュールを作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュール・オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるための名前をppd2ffmdに、新しいオブジェクトの名前をnameに指定します。

d2ffmdde_Destroy( d2fctx *pd2fctx, d2ffmd *pd2ffmd );

この関数は指定したフォーム・モジュールを破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄するフォーム・モジュールへのポインタをpd2ffmdに指定します。

d2ffmddl_Delete( d2fctx *pd2fctx, text *name, boolean db );

この関数は指定したフォーム・モジュールを削除します。ユーザーは、コンテキストへのポインタをpd2fctxに指定し、フォーム・モジュール名のテキスト文字列へのポインタを指定し、フォーム・モジュールをデータベース（たとえば、オープン・ライブラリやフォーム・モジュール、メニュー・モジュール）から削除するのかどうかを示すブール・フラグをdbに指定します。

dbがTRUEなら、Forms APIは、指定したフォーム・モジュールをデータベースから削除するものと判断します。dbがFALSEなら、Forms APIは指定したフォーム・モジュールをファイル・システムから探して削除します。

d2ffmddu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2fmd *pd2ffmd_src, d2ffmd **ppd2ffmd_dst, text *new_name );

この関数は、指定したフォーム・モジュールを複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew-parentに、フォーム・モジュール・ソースへのポインタをpd2ffmd_srcに、関数が複写先を入れるためのハンドルをppd2ffmd_dstに指定し、新しいフォーム・モジュールの名前のポインタ（new-name）を指定します。

この関数は、指定したフォーム・モジュールを複写して、ppd2ffmd_dstに入れることができると、D2FS_SUCCESSを返します。

d2ffmdco_CompileObj ( d2fctx *pd2fctx, d2ffmd *pd2ffmd );

この関数は、指定したフォーム・モジュールに対応するすべてのPL/SQLコードを集計します。コンテキストへのポインタをpd2fctxに、集計するオブジェクトへのポインタをpd2ffmdに指定します。

たとえば、この関数を使用して、フォーム・モジュールに連結されているすべてのトリガー・オブジェクトを集計することができます。

d2ffmdcf_CompileFile( d2fctx *pd2fctx, d2ffmd *pd2ffmd );

この関数は、.fmbファイルを集計し、.fmxファイルを作成します。コンテキスト（pd2fctx）とフォーム・モジュール・オブジェクトへのポインタ（pd2ffmd）を指定します。

d2ffmdld_Load ( d2fctx *pd2fctx, d2ffmd **ppd2ffmd, text *formname, boolean db );

この関数は、指定したフォーム・モジュールをロードします。コンテキスト（pd2fctx）、関数がフォーム・モジュールを入れるのに使用するポインタへのハンドル（ppd2ffmd）、フォーム・モジュールの名前（formname）、フォーム・モジュールがデータベースにあるかどうかを示すブール・フラグ（db）を指定します。

dbがTRUEなら、Forms APIは指定したフォーム・モジュールをデータベースから探します。このことは、あるデータベースにすでに接続しているとみなすことに注意してください。d2fctx_Connect()をコールした後で、データベースからフォーム・モジュールをロードしてください。

d2ffmdsv_Save ( d2fctx *pd2fctx, d2ffmd *pd2ffmd, text *formname, boolean db );

この関数は、指定したフォーム・モジュールを保存します。コンテキスト（pd2fctx）、フォーム・モジュールへのポインタ（pd2ffmd）、指定したフォーム・モジュールの名前（formname）、フォーム・モジュールをデータベースに入れるかどうかを示すブール・フラグ（db)を指定します。

dbがTRUEなら、Forms APIは指定したフォーム・モジュールをデータベースに保存します。このことは、あるデータベースに前もって接続しているとみなすことに注意してください。d2fctx_Connect()をコールしてから、フォーム・モジュールをデータベースに保存してください。

フォーム・モジュールをデフォルト名（作成時に付けた名前）で保存する場合は、formnameにテキスト文字列としてNULLを渡してください。フォーム・モジュールを別の名前で保存する場合は、その名前のテキスト文字列をformnameに渡します。

d2ffmdfv_FileVersion ( d2fctx *pd2fctx, text *formname, boolean db, number *version );

この関数は、フォーム・モジュールのバージョンを返します。ユーザーは、コンテキスト（pd2fctx）、フォーム・モジュール名（formname）、フォーム・モジュールがデータベースにあるか、ファイル・システムにあるかを示すブール・フラグ（db）、関数が返したバージョンのポインタ（version)を指定します。

この関数をコールしてから、d2ffmdld_Load()関数をコールする必要があることにご注意ください。理由は、フォーム・モジュールをロードしたら、ファイル・バージョンが変わるからです。

d2ffmdgb_GetBoolProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, boolean *pprp );

この関数は、指定したフォーム・モジュールのブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュールをpd2ffmdに、プロパティ番号をpnumに指定し、ブール値を入れるためのpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2ffmdgn_GetNumProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, number *pprp );

この関数は、指定したフォーム・モジュールの数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュールをpd2ffmdに、プロパティ番号をpnumに指定し、数値を入れるpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2ffmdgt_GetTextProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, text **pprp );

この関数は、指定したフォーム・モジュールのテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュールをpd2ffmdに、プロパティ番号をpnumに、関数がテキスト・プロパティの値を入れるための文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列を、pprpに指定したフォーム・モジュールのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2ffmdgo_GetObjectProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, dvoid **pprp );

この関数は、指定したフォーム・モジュールのオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュールをpd2ffmdに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2ffmdgp_GetBlobProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュール・オブジェクトへのポインタをpd2ffmdに、プロパティ番号をpnumに指定し、関数がクライアント指定の値をアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2ffmdsb_SetBoolProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, boolean prp );

この関数は、指定したフォーム・モジュールのブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュールをpd2ffmdに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ffmdsn_SetNumProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, number prp );

この関数は、指定したフォーム・モジュールの数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュールをpd2ffmdに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ffmdst_SetTextProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, text *prp );

この関数は、指定したフォーム・モジュールのテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュールをpd2ffmdに、プロパティ番号をpnumに、テキスト値への値をprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ffmdso_SetObjectProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, dvoid *prp );

この関数は、指定したフォーム・モジュール・プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュールをpd2ffmdに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ffmdsp_SetBlobProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュール・オブジェクトへのポインタをpd2ffmdに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2ffmdhp_HasProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum );

この関数は、指定したフォーム・モジュールに、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュールをpd2ffmdに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ffmdip_InheritProp( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum );

この関数は、指定したフォーム・モジュールが、指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュール・オブジェクトへのポインタをpd2ffmdに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ffmdii_IspropInherited( d2fctx *pd2fctx, d2ffmd *pd2ffmd, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・モジュール・オブジェクトへのポインタをpd2ffmdに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「フォーム・パラメータ」オブジェクトの関数

  関連項目

この節では、Form BuilderのOpen APIフォーム・パラメータ・オブジェクトの各種関数について説明します。

d2ffpmcr_Create( d2fctx *pd2fctx, d2fob *parent, d2ffpm **ppd2ffpm, text *name );

この関数はフォーム・パラメータ・オブジェクトを作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しいフォーム・パラメータ・オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2ffpmに、新しいオブジェクトの名前をnameに指定します。

この関数は、ppd2ffpmに新しいフォーム・パラメータ・オブジェクトを作成できると、D2FS_SUCCESSを返します。

d2ffpmde_Destroy( d2fctx *pd2fctx, d2ffpm *pd2ffpm );

この関数は、指定したフォーム・パラメータ・オブジェクトを破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄するフォーム・パラメータ・オブジェクトへのポインタをpd2ffpmに指定します。

d2ffpmdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2fpm *pd2ffpm_src, d2ffpm **ppd2ffpm_dst, text *new_name );

この関数は、指定したフォーム・パラメータ・オブジェクトを複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、フォーム・パラメータ・オブジェクト・ソースへのポインタをpd2ffpm_srcに、関数が複写先を入れるためのハンドルをppd2ffpm_dstに指定し、新しいフォーム・パラメータ・オブジェクトの名前のポインタ（new_name）を指定します。

この関数は、指定したフォーム・パラメータ・オブジェクトを複写して、ppd2ffpm_dstに入れることができると、D2FS_SUCCESSを返します。

d2ffpmgb_GetBoolProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, boolean *pprp );

この関数は、指定したフォーム・パラメータ・オブジェクトのブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトをpd2ffpmに、プロパティ番号をpnumに指定し、ブール値を入れるためのpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2ffpmgn_GetNumProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, number *pprp );

この関数は、指定したフォーム・パラメータ・オブジェクトの数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトをpd2ffpmに、プロパティ番号をpnumに指定し、数値を入れるためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2ffpmgt_GetTextProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, text **pprp );

この関数は、指定したフォーム・パラメータ・オブジェクトのテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトをpd2ffpmに、プロパティ番号をpnumに、関数がテキスト・プロパティ値を入れるための文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列を、pprpに指定したフォーム・パラメータ・オブジェクトのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2ffpmgo_GetObjectProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, dvoid **pprp );

この関数は、指定したフォーム・パラメータ・オブジェクトのオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトをpd2ffpmに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2ffpmgp_GetBlobProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトへのポインタをpd2ffpmに、プロパティ番号をpnumに指定し、関数がクライアント指定の値をアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2ffpmsb_SetBoolProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, boolean prp );

この関数は、指定したフォーム・パラメータ・オブジェクトのブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトをpd2ffpmに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ffpmsn_SetNumProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, number prp );

この関数は、指定したフォーム・パラメータ・オブジェクトの数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトをpd2ffpmに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ffpmst_SetTextProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, text *prp );

この関数は、指定したフォーム・パラメータ・オブジェクトのテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトをpd2ffpmに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ffpmso_SetObjectProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, dvoid *prp );

この関数は、指定したフォーム・パラメータ・オブジェクト・プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトをpd2ffpmに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ffpmsp_SetBlobProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトへのポインタをpd2ffpmに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2ffpmhp_HasProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum );

この関数は、指定したフォーム・パラメータ・オブジェクトに、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・ オブジェクトをpd2ffpmに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ffpmip_InheritProp( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum );

この関数は、指定したフォーム・パラメータ・ オブジェクトが、指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・ オブジェクトへのポインタをpd2ffpmに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ffpmii_IspropInherited( d2fctx *pd2fctx, d2ffpm *pd2ffpm, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・オブジェクトへのポインタをpd2ffpmに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ffpmsc_SubClass( d2fctx *pd2fctx, d2ffpm *pd2ffpm, d2fob *parent, boolean keep_path);

この関数は、指定したフォーム・パラメータ・オブジェクト（pd2ffpm）が指定した親（parent）のサブクラスになると、D2FS_SUCCESSを返します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・ オブジェクトへのポインタをpd2ffpmに、親オブジェクトへのポインタをparentに、親オブジェクトへのパスを入れるブール・フラグをkeep_pathに指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2ffpmis_IsSubclassed	( d2fctx *pd2fctx, d2ffpm *pd2ffpm );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、フォーム・パラメータ・ オブジェクトへのポインタをpd2ffpmに指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


｢グラフィックス｣オブジェクトの関数

  関連項目

この節では、Form BuilderのOpen APIの図形オブジェクトの各種関数について説明します。

d2fgracr_Create( d2fctx *pd2fctx, d2fob *parent, d2fgra **ppd2fgra, text *name );

この関数は図形オブジェクトを作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい図形オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2fgraに、新しいオブジェクトの名前をnameに指定します。

この関数は、ppd2fgraに新しい図形オブジェクトを作成できると、D2FS_SUCCESSを返します。

d2fgrade_Destroy( d2fctx *pd2fctx, d2fgra *pd2fgra );

この関数は指定した図形オブジェクトを破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄する図形オブジェクトへのポインタをppd2fgraに指定します。

d2fgradu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2gra *pd2fgra_src, d2fgra **ppd2fgra_dst, text *new_name );

この関数は指定した図形オブジェクトを複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、図形オブジェクト・ソースへのポインタをpd2fgra_srcに、関数が複写先を入れるためのハンドルをppd2fgra_dstに指定し、新しい図形オブジェクトの名前のポインタ（new_name）を指定します。

この関数は、指定した図形オブジェクトを複写してppd2fgra_dst位置に入れることができると、D2FS_SUCCESSを返します。

d2fgragb_GetBoolProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, boolean *pprp );

この関数は、指定した図形オブジェクトのブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに指定し、ブール値を入れるpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fgragn_GetNumProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, number *pprp );

この関数は、指定した図形オブジェクトの数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに指定し、数値を入れるpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fgragt_GetTextProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, text **pprp );

この関数は、指定した図形オブジェクトのテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに、関数がテキスト・プロパティ値を入れるための文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列をpprpに指定した図形オブジェクトのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2fgrago_GetObjectProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, dvoid **pprp );

この関数は、指定した図形オブジェクトのオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fgragp_GetBlobProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトへのポインタをpd2fgraに、プロパティ番号をpnumに指定し、関数がクライアント指定値にアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fgrasb_SetBoolProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, boolean prp );

この関数は、指定した図形オブジェクトのブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fgrasn_SetNumProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, number prp );

この関数は、指定した図形オブジェクトの数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fgrast_SetTextProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, text *prp );

この関数は、指定した図形オブジェクトのテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fgraso_SetObjectProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, dvoid *prp );

この関数は、指定した図形オブジェクト・プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fgrasp_SetBlobProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fgrahp_HasProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum );

この関数は、指定した図形オブジェクトに、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトをpd2fgraに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fgraip_InheritProp( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum );

この関数は、指定した図形オブジェクトが、指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトへのポインタをpd2fgraに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fgraii_IspropInherited( d2fctx *pd2fctx, d2fgra *pd2fgra, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトへのポインタをpd2fgraに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fgrasc_SubClass( d2fctx *pd2fctx, d2fgra *pd2fgra, d2fob *parent, boolean keep_path);

この関数は、指定した図形オブジェクト（pd2fgra）が、指定した親（parent）のサブクラスになると、D2FS_SUCCESSを返します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトへのポインタをpd2fgraに、親オブジェクトへのポインタをparentに、親オブジェクトへのパスを入れるためのブール・フラグをkeep_pathに指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fgrais_IsSubclassed	( d2fctx *pd2fctx, d2fgra *pd2fgra );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、図形オブジェクトへのポインタをpd2fgraに指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


｢項目｣オブジェクトの関数

  関連項目

この節では、Form BuilderのOpen APIの項目オブジェクトの各種関数について説明します。

d2fitmcr_Create( d2fctx *pd2fctx, d2fob *parent, d2fitm **ppd2fitm, text *name );

この関数は項目オブジェクトを作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい項目オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2fitmに、新しいオブジェクトの名前をnameに指定します。

この関数は、新しい項目をppd2fitmに作成できると、D2FS_SUCCESSを返します。

d2fitmde_Destroy( d2fctx *pd2fctx, d2fitm *pd2fitm );

この関数は指定した項目を破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄する項目へのポインタをpd2fitmに指定します。

d2fitmdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2itm *pd2fitm_src, d2fitm **ppd2fitm_dst, text *new_name );

この関数は、指定した項目を複写します。ユーザーはコンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、項目ソースへのポインタをpd2fitm_srcに、関数が複写先を入れるためのハンドルをppd2fitm_dstに指定し、新しい項目の名前のポインタ（new_name）を指定します。

この関数は、指定した項目を複写して、ppd2fitm_dst位置に入れることができると、D2FS_SUCCESSを返します。

d2fitmco_CompileObj( d2fctx *pd2fctx, d2fitm *pd2fitm );

この関数は、指定した項目に対応するPL/SQLコードのすべてを集計します。ユーザーは、コンテキストへのポインタをpd2fctxに、集計したオブジェクトへのポインタをpd2fitmに指定します。

たとえば、この関数を使用して、項目に連結されたすべてのトリガー・オブジェクトを集計することができます。

d2fitmile_InsertListElem( d2fctx *pd2fctx, d2fitm *pd2fitm, number index, text *label, text *value );

この関数は、指定した項目とその対応する値をリストに挿入します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目オブジェクトへのポインタをpd2fitmに、（要素のリストに入れる）リスト要素の索引をindexに、リスト要素の名前へのポインタをlabelに、リスト要素の値へのポインタをvalueに指定します。

この関数は、リスト要素型の項目オブジェクトにのみ有効です。

この関数は、指定したリスト要素をリストに挿入すると、D2FS_SUCCESSを返します。

d2fitmile_DeleteListElem( d2fctx *pd2fctx, d2fitm *pd2fitm, number index );

この関数は、指定した項目とその対応する値をリストから削除します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目オブジェクトへのポインタをpd2fitmに、要素のリストに入れるリスト要素の索引をindexに指定します。

この関数は、リスト要素型の項目オブジェクトにのみ有効です。

この関数は、指定したリスト要素をリストから削除すると、D2FS_SUCCESSを返します。

d2fitmile_GetListElem( d2fctx *pd2fctx, d2fitm *pd2fitm, number index, text **label, text **value );

この関数は、指定したリスト要素の名前と値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目オブジェクトへのポインタをpd2fitmに、要素のリストに入れるリスト要素の索引をindexに、リスト要素の名前のポインタへのハンドルをlabelに、リスト要素の値のポインタへのハンドルをvalueに指定します。

この関数は、リスト要素型の項目オブジェクトにのみ有効です。

この関数は、指定したリスト要素の名前と値を、それぞれlabelとtextに入れると、D2FS_SUCCESSを返します。

d2fitmgb_GetBoolProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, boolean *pprp );

この関数は、指定した項目のブール型のプロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目をpd2fitmに、プロパティ番号をpnumに指定し、ブール値を入れるpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fitmgn_GetNumProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, number *pprp );

この関数は、指定した項目の数値型のプロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目をpd2fitmに、プロパティ番号をpnumに指定し、数値を入れるためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fitmgt_GetTextProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, text **pprp );

この関数は、指定した項目のテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目をpd2fitmに、プロパティ番号をpnumに、関数がテキスト・プロパティの値を入れるための文字配列へのポインタをpprpに指定します。

この関数は、与えられた配列を、pprpに指定した項目のテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2fitmgo_GetObjectProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, dvoid **pprp );

この関数は、指定した項目のオブジェクト型プロパティを検索します。ユーザーはコンテキストへのポインタをpd2fctxに、項目をpd2fitmに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティの値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fitmgp_GetBlobProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目オブジェクトへのポインタをpd2fitmに、プロパティ番号をpnumに指定し、関数がクライアント指定値へアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fitmsb_SetBoolProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, boolean prp );

この関数は、指定した項目のブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目をpd2fitmに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fitmsn_SetNumProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, number prp );

この関数は、指定した項目の数値プロパティの値を設定します。ユーザーはコンテキストへのポインタをpd2fctxに、項目をpd2fitmに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fitmst_SetTextProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, text *prp );

この関数は、指定した項目のテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目をpd2fitmに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに設定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fitmso_SetObjectProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, dvoid *prp );

この関数は、指定した項目プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目をpd2fitmに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fitmsp_SetBlobProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目オブジェクトへのポインタをpd2fitmに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fitmhp_HasProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum );

この関数は、指定した項目に、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、項目をpd2fitmに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fitmip_InheritProp( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum );

この関数は、指定した項目が、指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、項目オブジェクトへのポインタをpd2fitmに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fitmii_IspropInherited( d2fctx *pd2fctx, d2fitm *pd2fitm, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目オブジェクトへのポインタをpd2fitmに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fitmsc_SubClass( d2fctx *pd2fctx, d2fitm *pd2fitm, d2fob *parent, boolean keep_path);

この関数は、指定した項目（pd2fitm）が、指定した親（parent）のサブクラスになると、D2FS_SUCCESSを返します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目へのポインタをpd2fitmに、親オブジェクトへのポインタをparentに、親オブジェクトへのパスを入れるブール・フラグをkeep_pathに指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fitmis_IsSubclassed	( d2fctx *pd2fctx, d2fitm *pd2fitm );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、項目オブジェクトへのポインタをpd2fitmに指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「値リスト列マッピング」オブジェクトの関数

  関連項目

この節では、Form BuilderのOpen APIの値リスト列マッピング・オブジェクトの各種関数を説明します。

d2flcmcr_Create( d2fctx *pd2fctx, d2fob *parent, d2flcm **ppd2flcm, text *name );

この関数は、値リスト列マッピング・オブジェクトを作成します。は、コンテキストへのポインタをpd2fctxに、新しい値リスト列マッピング・オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2flcmに、新しいオブジェクトの名前をnameに指定します。

この関数は、新しい値リスト列マッピングをppd2flcmに作成できると、D2FS_SUCCESSを返します。

d2flcmde_Destroy( d2fctx *pd2fctx, d2flcm *pd2flcm );

この関数は、指定した値リスト列マッピングを破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄する値リスト列マッピング・オブジェクトへのポインタをpd2flcmに指定します。

d2flcmdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2lcm *pd2flcm_src, d2flcm **ppd2flcm_dst, text *new_name );

この関数は、指定した値リスト列マッピングを複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、値リスト列マッピング・ソースへのポインタをpd2flcm_srcに、関数が複写先を入れるためのハンドルをppd2flcm_dstに、新しい値リスト列マッピングの名前のポインタをnew_nameに指定します。

この関数は、指定した値リスト列マッピングを複写してppd2flcm_dst位置に入れることができると、D2FS_SUCCESSを返します。

d2flcmgb_GetBoolProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, boolean *pprp );

この関数は、指定した値リスト列マッピングのブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピングをpd2flcmに、プロパティ番号をpnumに指定し、ブール値を入れるpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2flcmgn_GetNumProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, number *pprp );

この関数は、指定した値リスト列マッピングの数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピングをpd2flcmに、プロパティ番号をpnumに指定し、数値を入れるためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2flcmgt_GetTextProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, text **pprp );

この関数は、指定したLOV列マッピングのテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、LOV列マッピングをpd2flcmに、プロパティ番号をpnumに、関数がテキスト・プロパティ値を入れるための文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列を、pprpに指定したLOV列マッピングのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2flcmgo_GetObjectProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, dvoid **pprp );

この関数は、指定した値リスト列マッピングのオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピングをpd2flcmに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2flcmgp_GetBlobProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピング・オブジェクトへのポインタをpd2flcmに、プロパティ番号をpnumに指定し、関数がクライアント指定値にアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2flcmsb_SetBoolProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, boolean prp );

この関数は、指定した値リスト列マッピングのブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピングをpd2flcmに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2flcmsn_SetNumProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, number prp );

この関数は、指定した値リスト列マッピングの数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピングをpd2flcmに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2flcmst_SetTextProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, text *prp );

この関数は、指定した値リスト列マッピングのテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピングをpd2flcmに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2flcmso_SetObjectProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, dvoid *prp );

この関数は、指定した値リスト列マッピングのオブジェクトを設定します。ユーザーはコンテキストへのポインタをpd2fctxに、値リスト列マッピングをpd2flcmに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2flcmsp_SetBlobProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピング・オブジェクトへのポインタをpd2flcmに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2flcmhp_HasProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum );

この関数は、指定した値リスト列マッピングに、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピングをpd2flcmに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2flcmip_InheritProp( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum );

この関数は、指定した値リスト列マッピングが指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピング・オブジェクトへのポインタをpd2flcmに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2flcmii_IspropInherited( d2fctx *pd2fctx, d2flcm *pd2flcm, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト列マッピング・オブジェクトへのポインタをpd2flcmに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「値リスト（LOV）」オブジェクトの関数

  関連項目

この節では、Form BuilderのOpen APIの値リスト（LOV）オブジェクトの各種関数について説明します。

d2flovcr_Create( d2fctx *pd2fctx, d2fob *parent, d2flov **ppd2flov, text *name );

この関数は値リスト（LOV）を作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しいLOVオブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2flovに、新しいオブジェクトの名前をnameに指定します。

この関数は、新しい値リストをppd2flovに作成できると、D2FS_SUCCESSを返します。

d2flovde_Destroy( d2fctx *pd2fctx, d2flov *pd2flov );

この関数は、指定した値リスト（LOV）を破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄する値リストオブジェクトへのポインタをpd2flovに指定します。

d2flovdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2lov *pd2flov_src, d2flov **ppd2flov_dst, text *new_name );

この関数は、指定した値リスト（LOV）を複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、値リストソースへのポインタをpd2flov_srcに、関数が複写先を入れるハンドルをppd2flov_dstに、新しい値リストの名前のポインタをnew_nameに指定します。

この関数は、指定した値リストを複写して、ppd2fitm_dst位置に入れることができると、D2FS_SUCCESSを返します。

d2flovgb_GetBoolProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, boolean *pprp );

この関数は、指定した値リスト（LOV）のブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに指定し、ブール値を入れるpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2flovgn_GetNumProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, number *pprp );

この関数は、指定した値リスト（LOV）の数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに指定し、数値を入れるためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2flovgt_GetTextProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, text **pprp );

この関数は、指定した値リスト（LOV）のテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに、関数がテキスト・プロパティ値を入れるための文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列を、pprpに指定した値リストのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2flovgo_GetObjectProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, dvoid **pprp );

この関数は、指定した値リスト（LOV）のオブジェクト型プロパティを検索します。ユーザーはコンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2flovgp_GetBlobProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト（LOV）オブジェクトへのポインタをpd2flovに、プロパティ番号をpnumに指定し、関数がクライアント指定値にアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2flovsb_SetBoolProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, boolean prp );

この関数は、指定した値リストブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2flovsn_SetNumProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, number prp );

この関数は、指定した値リスト（LOV）のNUMBERプロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2flovst_SetTextProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, text *prp );

この関数は、指定した値リスト（LOV）のテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに、テキスト値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2flovso_SetObjectProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, dvoid *prp );

この関数は、指定した値リスト（LOV）のプロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに、オブジェクト・プロパティをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2flovsp_SetBlobProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト（LOV）へのポインタをpd2flovに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2flovhp_HasProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum );

この関数は、指定した値リスト（LOV）に、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2flovip_InheritProp( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum );

この関数は、指定した値リスト（LOV）が、指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストをpd2flovに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2flovii_IspropInherited( d2fctx *pd2fctx, d2flov *pd2flov, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーはコンテキストへのポインタをpd2fctxに、値リストへのポインタをpd2flovに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2flovsc_SubClass( d2fctx *pd2fctx, d2flov *pd2flov, d2fob *parent, boolean keep_path);

この関数は、指定した値リスト（LOV）（pd2flov）が指定した親（parent）のサブクラスになると、D2FS_SUCCESSを返します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リストへのポインタをpd2flovに、親オブジェクトへのポインタをparentに、親オブジェクトへのパスを入れるブール・フラグをkeep_pathに指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2flovis_IsSubclassed	( d2fctx *pd2fctx, d2flov *pd2flov );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、値リスト（LOV）オブジェクトへのポインタをpd2flovに指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「メニュー」オブジェクトの関数

  関連項目

この節では、Form BuilderのOpen APIのメニュー・オブジェクトの各種関数について説明します。

d2fmnucr_Create( d2fctx *pd2fctx, d2fob *parent, d2fmnu **ppd2fmnu, text *name );

この関数はメニューを作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しいメニュー・オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2fmnuに、新しいオブジェクトの名前をnameに指定します。

この関数は、新しいメニューをppd2fmnuに作成できると、D2FS_SUCCESSを返します。

d2fmnude_Destroy( d2fctx *pd2fctx, d2fmnu *pd2fmnu );

この関数は、指定したメニューを破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄するメニューへのポインタをppd2fmnuに指定します。

d2fmnudu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2mnu *pd2fmnu_src, d2fmnu **ppd2fmnu_dst, text *new_name );

この関数は、指定したメニューを複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、メニュー・ソースへのポインタをpd2fmnu_srcに、関数が複写先を入れるためのハンドルをppd2fmnu_dstに指定し、新しいメニューの名前のポインタを指定します。

この関数は、指定したメニューを複写して、ppd2fmnu_dst位置に入れることができると、D2FS_SUCCESSを返します。

d2fmnugb_GetBoolProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, boolean *pprp );

この関数は、指定したメニューのブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューをppd2fmnuに、プロパティ番号をpnumに指定し、ブール値を入れるpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmnugn_GetNumProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, number *pprp );

この関数は、指定したメニューの数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューをpd2fmnuに、プロパティ番号をpnumに指定し、数値を入れるpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmnugt_GetTextProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, text **pprp );

この関数は、指定したメニューのテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューをpd2fmnuに、プロパティ番号をpnumに、関数がテキスト・プロパティ値を入れる文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列を、pprpに指定したメニューのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2fmnugo_GetObjectProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, dvoid **pprp );

この関数は、指定したメニューのオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューをpd2fmnuに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmnugp_GetBlobProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・オブジェクトへのポインタをpd2fmnuに、プロパティ番号をpnumに指定し、関数がクライアント指定値にアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fmnusb_SetBoolProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, boolean prp );

この関数は、指定したメニューのブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューをpd2fmnuに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmnusn_SetNumProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, number prp );

この関数は、指定したメニューの数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューをpd2fmnuに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmnust_SetTextProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, text *prp );

この関数は、指定したメニューのテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューをpd2fmnuに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmnuso_SetObjectProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, dvoid *prp );

この関数は、指定したメニュー・プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューをpd2fmnuに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmnusp_SetBlobProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーはコンテキストへのポインタをpd2fctxに、メニュー・オブジェクトへのポインタをpd2fmnuに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fmnuhp_HasProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum );

この関数は、指定したメニューに、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューをpd2fmnuに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmnuip_InheritProp( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum );

この関数は、指定したメニューが、指定したプロパティを継承できるようにします。ユーザーはコンテキストへのポインタをpd2fctxに、メニューへのポインタをpd2fmnuに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmnuii_IspropInherited( d2fctx *pd2fctx, d2fmnu *pd2fmnu, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・オブジェクトへのポインタをpd2fmnuに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmnusc_SubClass( d2fctx *pd2fctx, d2fmnu *pd2fmnu, d2fob *parent, boolean keep_path);

この関数は、指定したメニュー（ppd2fmnu）が、指定した親（parent）のサブクラスになると、D2FS_SUCCESSを返します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニューへのポインタをpd2fmnuに、親オブジェクトへのポインタをparentに、親オブジェクトへのパスを入れるためのブール・フラグをkeep_pathに指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fmnuis_IsSubclassed	( d2fctx *pd2fctx, d2fmnu *pd2fmnu );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・オブジェクトへのポインタをpd2fmnuに指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


メニュー・モジュールの関数

  関連項目

この節では、Form BuilderのOpen APIのメニュー・モジュール・オブジェクトの各種関数について説明します。

d2fmmdcr_Create( d2fctx *pd2fctx, d2fob *parent, d2fmmd **ppd2fmmd, text *name );

この関数は、メニュー・モジュールを作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しいメニュー・モジュール・オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2fmmdに、新しいオブジェクトの名前をnameに指定します。

この関数は，新しいメニュー・モジュールをppd2fmmdに作成できると、D2FS_SUCCESSを返します。

d2fmmdde_Destroy( d2fctx *pd2fctx, d2fmmd *pd2fmmd );

この関数は、指定したメニュー・モジュールを破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄するメニュー・モジュールへのポインタをpd2fmmdに指定します。

d2fmmddl_Delete( d2fctx *pd2fctx, text *name, boolean db );

この関数は、指定したメニュー・モジュールを削除します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールの名前をnameに、メニュー・モジュールがデータベースの一部かどうかを示すブール・フラグをdbに指定します。

dbがTRUEなら、Forms APIは指定したメニュー・モジュール（nameに渡された名前）をデータベースから削除するものと判断します。dbがFALSEなら、メニュー・モジュールはファイル・システムの一部であり、Forms APIはそのファイルシステムから、指定したメニュー・モジュールを探して削除します。

d2fmmddu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2mmd *pd2fmmd_src, d2fmmd **ppd2fmmd_dst, text *new_name );

この関数は、指定したメニュー・モジュールを複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、メニュー・モジュール・ソースへのポインタをpd2fmmd_src に、関数が複写先を入れるためのハンドルをppd2fmmd_dstに、新しいメニュー・モジュールの名前のポインタをnew_nameに指定します。

この関数は、指定したメニュー・モジュールを複写して、ppd2fmmd_dst位置に入れることができると、D2FS_SUCCESSを返します。

d2fmmdco_CompileObj( d2fctx *pd2fctx, d2fmmd *pd2fmmd );

この関数は、指定したメニュー・モジュールに対応するPL/SQLコードのすべてを集計します。ユーザーは、コンテキストへのポインタをpd2fctxに、集計するオブジェクトへのポインタをpd2fmmdに指定します。

たとえば，この関数を使用すると、メニュー・オブジェクトに連結されたすべてのトリガー・オブジェクトや、メニュー・モジュール内のすべての項目オブジェクトに連結されたすべてのトリガー・オブジェクトを集計することができます。

d2fmmdcf_CompileFile( d2fctx *pd2fctx, d2fmmd *pd2fmmd );

この関数は、FMBファイルを集計して、生成されたFMXファイルを作成します。ユーザーは、コンテキスト（pd2fctx）、メニュー・モジュールへのポインタ（pd2fmmd)を指定します。

d2fmmdld_Load( d2fctx *pd2fctx, d2fmmd **ppd2fmmd, text *menuname, boolean db );

この関数は、指定したメニュー・モジュールをロードします。ユーザーは、コンテキスト（new_parent）、関数がメニュー・モジュールを入れるために使用するポインタへのハンドル（ppd2fmmd）、メニュー・モジュールの名前（menuname）、メニュー・モジュールがデータベースにあるかどうかを示すブール・フラグ（db)を指定します。

dbをTRUEに設定すると、Forms APIは指定したメニュー・モジュールをデータベースで探します。このことは、あるデータベースにすでに接続しているとみなすことに注意してください。d2fctx_Connect()をコールした後で、データベースからメニュー・モジュールをロードしてください。

d2fmmdsv_Save( d2fctx *pd2fctx, d2fmmd *pd2fmmd, text *menuname, boolean db );

この関数は、指定したメニュー・モジュールを保存します。ユーザーは、コンテキスト（pd2fctx）、メニュー・モジュールへのポインタ（pd2fmmd）、指定したメニュー・モジュールの名前（menuname）、メニュー・モジュールをデータベースに入れるかどうかを示すブール・フラグ（db)を指定します。

dbをTRUEに設定すると、Forms APIは指定したメニュー・モジュールをデータベースに保存します。このことは、あるデータベースに前もって接続しているとみなすことに注意してください。d2fctx_Connect()をコールしてから、メニュー・モジュールをデータベースに保存してください。

メニュー・モジュールをデフォルト名（作成時に付けた名前）で保存する場合は、テキスト文字列としてNULLをmenunameに渡してください。他の名前でフォーム・モジュールを保存する場合は、そのテキスト文字列をmenunameに渡します。

d2fmmdfv_FileVersion( d2fctx *pd2fctx, text *menuname, boolean db, number version );

この関数は、メニュー・モジュールのバージョンを返します。ユーザーは、コンテキスト（pd2fctx）、メニュー・モジュール名（menuname）、メニュー・モジュールがデータベースにあるかまたはファイル・システムにあるかを示すブール・フラグ（db）、関数が返すバージョンのポインタ（version)を指定します。

この関数をコールしてから、d2fmmdld_Load()関数をコールしてください。理由は、メニュー・モジュールをロードしたら、ファイル・バージョンが変わるからです。

d2fmmdar_AddRole( d2fctx *pd2fctx, d2fmmd *pd2fmmd, number index, text *role_name );

この関数は、セキュリティのロールを、指定したメニュー・モジュールに追加します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールへのポインタをpd2fmmdに、Forms APIがこのロールを保存するロール・リストに入れる索引をindexに、リストに追加するロールの名前をrole_nameに指定します。

AddRole関数、RemoveRole関数、GetRole関数では、特定のメニュー・モジュールにアクセスするセキュリティ・ロールを指定できます。

特定メニュー・モジュールのすべてのロールのカウントを検索するのに使用するD2FP_ROLE_COUNTというForms APIプロパティがあります。

メニュー・ロールをモジュール・レベルで指定しないと、メニュー項目レベルではそれらのロールにアクセスできないので、ご注意ください。

d2fmmdrr_RemoveRole( d2fctx *pd2fctx, d2fmmd *pd2fmmd, number index );

この関数は、指定したセキュリティのロールを、指定したメニュー・モジュールから削除します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールへのポインタをpd2fmmdに、Forms APIがこのロールを削除するロール・リストに入れる索引をindexに指定します。

AddRole関数、RemoveRole関数、GetRole関数では、特定のメニュー・モジュールにアクセスするセキュリティ・ロールを指定できます。

特定メニュー・モジュールのすべてのロールのカウントを検索するのに使用するD2FP_ROLE_COUNTというForms APIプロパティがあります。

メニュー・ロールをモジュール・レベルで指定しないと、メニュー項目レベルではそれらのロールにアクセスできないので、ご注意ください。

d2fmmdgr_GetRole( d2fctx *pd2fctx, pd2fmmd *pd2fmmd, number index, text **role_name );

この関数は、指定したセキュリティ・ロールをメニュー・モジュールから検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールへのポインタをpd2fmmdに、Forms APIがこのロールを検索するのに使用するロール・リストに入れる索引をindexに、関数がロールの名前を入れるためのハンドルをrole_nameに指定します。

AddRole関数、RemoveRole関数、GetRole関数では、特定のメニュー・モジュールにアクセスするセキュリティ・ロールを指定できます。

特定メニュー・モジュールのすべてのロールのカウントを検索するのに使用するD2FP_ROLE_COUNTというForms APIプロパティがあります。

メニュー・ロールをモジュール・レベルで指定しないと、メニュー項目レベルではそれらのロールにアクセスできないので、ご注意ください。

d2fmmdgb_GetBoolProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, boolean *pprp );

この関数は、指定したメニュー・モジュールのブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールをpd2fmmdに、プロパティ番号をpnumに指定し、ブール値を入れるためのpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmmdgn_GetNumProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, number *pprp );

この関数は、指定したメニュー・モジュールの数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールをpd2fmmdに、プロパティ番号をpnumに指定し、数値を入れるpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmmdgt_GetTextProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, text **pprp );

この関数は、指定したメニュー・モジュールのテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールをpd2fmmdに、プロパティ番号をpnumに、関数がテキスト・プロパティ値を入れるための文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列を、pprpに指定したメニュー・モジュールのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2fmmdgo_GetObjectProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, dvoid **pprp );

この関数は、指定したメニュー・モジュールのオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールをpd2fmmdに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmmdgp_GetBlobProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュール・オブジェクトへのポインタをpd2fmmdに、プロパティ番号をpnumに指定し、関数がクライアント指定値にアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fmmdsb_SetBoolProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, boolean prp );

この関数は、指定したメニュー・モジュールのブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールをpd2fmmdに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmmdsn_SetNumProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, number prp );

この関数は、指定したメニュー・モジュールの数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールをpd2fmmdに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmmdst_SetTextProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, text *prp );

この関数は、指定したメニュー・モジュールのテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールをpd2fmmdに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmmdso_SetObjectProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, dvoid *prp );

この関数は、指定したメニュー・モジュール・プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールをpd2fmmdに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmmdsp_SetBlobProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュール・オブジェクトへのポインタをpd2fmmdに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fmmdhp_HasProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum );

この関数は、指定したメニュー・モジュールに、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールをpd2fmmdに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmmdip_InheritProp( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum );

この関数は、指定したメニュー・モジュールが、指定したプロパティを継承できるようにします。コンテキストへのポインタをpd2fctxに、メニュー・モジュールへのポインタをpd2fmmdに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmmdii_IspropInherited( d2fctx *pd2fctx, d2fmmd *pd2fmmd, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュール・オブジェクトへのポインタをpd2fmmdに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


メニュー項目の関数

  関連項目

この節では、Form BuilderのOpen APIのメニュー項目オブジェクトの各種関数について説明します。

d2fmnicr_Create( d2fctx *pd2fctx, d2fob *parent, d2fmni **ppd2fmni, text *name );

この関数は、メニュー項目を作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しいメニュー項目オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2fmniに、新しいオブジェクトの名前をnameに指定します。

この関数は、新しいメニュー項目をppd2fmniに入れることができると、D2FS_SUCCESSを返します。

d2fmnide_Destroy( d2fctx *pd2fctx, d2fmni *pd2fmni );

この関数は、指定したメニュー項目を破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄するメニュー項目へのポインタをpd2fmniに指定します。

d2fmnidu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2mni *pd2fmni_src, d2fmni **ppd2fmni_dst, text *new_name );

この関数は、指定したメニュー項目を複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、メニュー項目ソースへのポインタをpd2fmni_srcに、関数が複写先を入れるためのハンドルをppd2fmni_dstに、新しいメニュー項目の名前のポインタをnew_nameに指定します。

この関数は、指定したメニュー項目を複写して、ppd2fmni_dst位置に入れることができると、D2FS_SUCCESSを返します。

d2fmnico_CompileObj( d2fctx *pd2fctx, d2fmni *pd2fmni );

この関数は、指定したメニュー項目に対応するPL/SQLコードをすべて集計します。ユーザーは、コンテキストへのポインタをpd2fctxに、集計するオブジェクトへのポインタをpd2fmniに指定します。

たとえば、この関数を使用して、メニュー項目に連結したすべてのトリガー・オブジェクトを集計することができます。

d2fmnild_Load( d2fctx *pd2fctx, d2fmni **ppd2fmni, text *menuname, boolean db );

この関数は、指定したメニュー項目をロードします。ユーザーは、コンテキスト（pd2fctx）、関数がメニュー項目を入れるために使用するポインタへのハンドル（ppd2fmni）、メニュー項目の名前（menuname）、メニュー項目がデータベースにあるかどうかを示すブール・フラグ（db)を指定します。

dbをTRUEに設定すると、Forms APIは指定したメニュー項目をデータベースで探します。このことは、あるデータベースにすでに接続しているとみなすことに注意してください。d2fctx_Connect()をコールした後で、データベースからフォーム・モジュールをロードしてください。

d2fmniar_AddRole( d2fctx *pd2fctx, d2fmni *pd2fmni, number index, text *role_name );

この関数は、セキュリティのロールを、指定したメニュー項目に追加します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目へのポインタをpd2fmniに、Forms APIがこのロールを保存するロール・リストに入れる索引をindexに、リストに追加するロールの名前をrole_nameに指定します。

AddRole関数、RemoveRole関数、GetRole関数では、特定のメニュー項目にアクセスするセキュリティ・ロールを指定できます。

特定メニュー項目のすべてのロールのカウントを検索するのに使用するD2FP_ROLE_COUNTというForms APIプロパティがあります。

メニュー・ロールをモジュール・レベルで指定しないと、メニュー項目レベルではそれらのロールにアクセスできないので、ご注意ください。

d2fmnirr_RemoveRole( d2fctx *pd2fctx, d2fmni *pd2fmni, number index );

この関数は、指定したメニュー項目から指定したセキュリティのロールを削除します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールへのポインタをpd2fmniに、Forms APIがこのロールを削除するロール・リストに入れる索引をindexに指定します。

AddRole関数、RemoveRole関数、GetRole関数では、特定のメニュー項目にアクセスするセキュリティ・ロールを指定できます。

特定メニュー項目のすべてのロールのカウントを検索するのに使用するD2FP_ROLE_COUNTというForms APIプロパティがあります。

メニュー・ロールをモジュール・レベルで指定しないと、メニュー項目レベルではそれらのロールにアクセスできないので、ご注意ください。

d2fmnigr_GetRole( d2fctx *pd2fctx, pd2fmni *pd2fmni, number index, text **role_name );

この関数は、指定したセキュリティ・ロールをメニュー項目から検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・モジュールへのポインタをpd2fmniに、Forms APIがこのロールを検索するのに使用するロール・リストに入れる索引をindexに、関数がロールの名前を入れるためのハンドルをrole_nameに指定します。

AddRole関数、RemoveRole関数、GetRole関数では、特定のメニュー項目にアクセスするセキュリティ・ロールを指定できます。

特定メニュー項目のすべてのロールのカウントを検索するのに使用するD2FP_ROLE_COUNTというForms APIプロパティがあります。

メニュー・ロールをモジュール・レベルで指定しないと、メニュー項目レベルではそれらのロールにアクセスできないので、ご注意ください。

d2fmnigb_GetBoolProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, boolean *pprp );

この関数は、指定したメニュー項目のブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目をpd2fmniに、プロパティ番号をnameに指定し、ブール値を入れるpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmnign_GetNumProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, number *pprp );

この関数は、指定したメニュー項目の数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目をpd2fmniに、プロパティ番号をpnumに指定し、数値を入れるpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmnigt_GetTextProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, text **pprp );

この関数は、指定したメニュー項目のテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目をpd2fmniに、プロパティ番号をpnumに、関数がテキスト・プロパティ値を入れる文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列を、pprpに指定したメニュー項目のテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2fmnigo_GetObjectProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, dvoid **pprp );

この関数は、指定したメニュー項目のオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目をpd2fmniに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmnigp_GetBlobProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目オブジェクトへのポインタをpd2fmniに、プロパティ番号をpnumに指定し、関数がクライアント指定値にアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fmnisb_SetBoolProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, boolean prp );

この関数は、指定したメニュー項目のブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目をpd2fmniに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmnisn_SetNumProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, number prp );

この関数は、指定したメニュー項目の数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目をpd2fmniに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmnist_SetTextProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, text *prp );

この関数は、指定したメニュー項目のテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目をpd2fmniに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmniso_SetObjectProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, dvoid *prp );

この関数は、指定したメニュー項目プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目をpd2fmniに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmnisp_SetBlobProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目オブジェクトへのポインタをpd2fmniに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fmnihp_HasProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum );

この関数は、指定したメニュー項目に、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目をpd2fmniに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmniip_InheritProp( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum );

この関数は、指定したメニュー項目が、指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目オブジェクトへのポインタをpd2fmniに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmniii_IspropInherited( d2fctx *pd2fctx, d2fmni *pd2fmni, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目オブジェクトへのポインタをpd2fmniに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmmisc_SubClass( d2fctx *pd2fctx, d2fmmi *pd2fmmi, d2fob *parent, boolean keep_path);

この関数は、指定したメニュー項目（pd2fmni）が、指定した親（parent）のサブクラスになると、D2FS_SUCCESSを返します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー項目へのポインタをpd2fmniに、親オブジェクトへのポインタをparentに、親オブジェクトへのパスを保存するブール・フラグをkeep_pathに指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fmmiis_IsSubclassed	( d2fctx *pd2fctx, d2fmmi *pd2fmni );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・オブジェクトへのポインタをpd2fmnuに指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


メニュー・パラメータの関数

  関連項目

この節では、Form BuilderのOpen APIのメニュー・パラメータ・オブジェクトの各種関数について説明します。

d2fmpmcr_Create( d2fctx *pd2fctx, d2fob *parent, d2fmpm **ppd2fmpm, text *name );

この関数は、メニュー・パラメータ・オブジェクトを作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しいメニュー・パラメータ・オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2fmpmに、新しいオブジェクトの名前をnameに指定します。

この関数は、新しいメニュー・パラメータ・オブジェクトをppd2fmpmに作成できると、D2FS_SUCCESSを返します。

d2fmpmde_Destroy( d2fctx *pd2fctx, d2fmpm *pd2fmpm );

この関数は、指定したメニュー・パラメータ・オブジェクトを破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄するメニュー・パラメータ・オブジェクトへのポインタをpd2fmpmに指定します。

d2fmpmdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2mpm *pd2fmpm_src, d2fmpm **ppd2fmpm_dst, text *new_name );

この関数は、指定したメニュー・パラメータ・オブジェクトを複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、メニュー・パラメータ・オブジェクト・ソースへのポインタをpd2fmpm_srcに、関数が複写先を入れるためのハンドルをppd2fmpm_dstに、新しいメニュー・パラメータ・オブジェクトの名前のポインタをnew_nameに指定します。

この関数は、指定したメニュー・パラメータ・オブジェクトを複写して、ppd2fmpm_dst位置に入れることができると、D2FS_SUCCESSを返します。

d2fmpmaam_AddAssocMenu( d2fctx *pd2fctx, d2fmpm *pd2fmpm, number index, text *menu_name);

この関数は、対応するメニューを、指定したメニュー・パラメータ・オブジェクトに追加します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、Forms APIがこの対応するメニューを保存するメニュー・リストに入れる索引をindexに、リストに追加するメニューの名前をmenu_nameに指定します。

特定のメニュー・パラメータ・オブジェクトの対応する全メニューのカウントを検索するのに使用するD2FP_ASSOC_MENU_COUNTというForms APIプロパティがあります。

d2fmpmram_RemoveAssocMenu( d2fctx *pd2fctx, d2fmpm *pd2fmpm, number index );

この関数は、指定したメニュー・パラメータ・オブジェクトから、対応するメニューを削除します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、Forms APIがこの対応するメニューを検出して削除するメニュー・リストに入れる索引をindexに指定します。

特定のメニュー・パラメータ・オブジェクトの対応する全メニューのカウントを検索するのに使用するD2FP_ASSOC_MENU_COUNTというForms APIプロパティがあります。

d2fmpmgam_GetAssocMenu( d2fctx *pd2fctx, d2fmpm *pd2fmpm, number index, text **menu_name );

この関数は、指定したメニュー・パラメータ・オブジェクトの対応するメニューを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、Forms APIがこの対応するメニューを検索するメニュー・リストに入れる索引をindexに指定し、関数が検索するメニューの名前を入れるためのmenu_nameへのハンドルを指定します。

特定のメニュー・パラメータ・オブジェクトの対応する全メニューのカウントを検索するのに使用するD2FP_ASSOC_MENU_COUNTというForms APIプロパティがあります。

d2fmpmgb_GetBoolProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, boolean *pprp );

この関数は、指定したメニュー・パラメータ・オブジェクトのブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、プロパティ番号をpnumに指定し、ブール値を入れるpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmpmgn_GetNumProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, number *pprp );

この関数は、指定したメニュー・パラメータ・オブジェクトの数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、プロパティ番号をpnumに指定し、数値を入れるpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmpmgt_GetTextProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, text **pprp );

この関数は、指定したメニュー・パラメータ・オブジェクトのテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、プロパティ番号をpnumに、関数がテキスト・プロパティ値に入れるための文字配列へのポインタをpprpに指定します。

この関数は、与えられた配列を、pprpに指定したメニュー・パラメータ・オブジェクトのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2fmpmgo_GetObjectProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, dvoid **pprp );

この関数は、指定したメニュー・パラメータ・オブジェクトのオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpm に、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fmpmgp_GetBlobProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトへのポインタをpd2fmpmに、プロパティ番号をpnumに指定し、関数がクライアント指定値にアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fmpmsb_SetBoolProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, boolean prp );

この関数は、指定したメニュー・パラメータ・オブジェクトのブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmpmsn_SetNumProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, number prp );

この関数は、指定したメニュー・パラメータ・オブジェクトの数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmpmst_SetTextProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, text *prp );

この関数は、指定したメニュー・パラメータ・オブジェクトのテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmpmso_SetObjectProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, dvoid *prp );

この関数は、指定したメニュー・パラメータ・オブジェクト・プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fmpmsp_SetBlobProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトへのポインタをpd2fmpmに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fmpmhp_HasProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum );

この関数は、指定したメニュー・パラメータ・オブジェクトに、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトをpd2fmpmに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmpmip_InheritProp( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum );

この関数は、指定したメニュー・パラメータ・オブジェクトが、指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトへのポインタをpd2fmpmに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmpmii_IspropInherited( d2fctx *pd2fctx, d2fmpm *pd2fmpm, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトへのポインタをpd2fmpmに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fmpmsc_SubClass( d2fctx *pd2fctx, d2fmpm *pd2fmpm, d2fob *parent, boolean keep_path);

この関数は、指定したメニュー・パラメータ・オブジェクト（pd2fmpm）が、指定した親（parent）のサブクラスになると、D2FS_SUCCESSを返します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトへのポインタをpd2fmpmに、親オブジェクトへのポインタをparentに、親オブジェクトへのパスを保存するブール・フラグをkeep_pathに指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fmpmis_IsSubclassed	( d2fctx *pd2fctx, d2fmpm *pd2fmpm );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、メニュー・パラメータ・オブジェクトへのポインタをpd2fmpmに指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


オブジェクト（一般オブジェクト）の関数

  関連項目

この節では、Form BuilderのOpen APIのオブジェクト（一般オブジェクト）の各種関数について説明します。

d2fobfo_FindObj( d2fctx *pd2fctx, d2fob *owner, text *name, d2fotyp objtyp, d2fob **ppd2fob );

この関数は、指定したオブジェクトを返します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトの親へのポインタをparentに、指定したオブジェクトの名前のテキスト文字列へのポインタをnameに、オブジェクトの型をobjtypに、関数がオブジェクトを返すためのハンドルをppd2fobに指定します。

たとえば、ブロックで特定のトリガー・オブジェクトを検索する場合は、そのブロックに親として、特定トリガー・オブジェクトの名前とD2FFO_TRIGGER（オブジェクト型）を渡す必要があります。

d2fobmv_Move( d2fctx *pd2fctx, d2fob *pd2fob, d2fob *pd2fob_nxt );

この関数は、指定したオブジェクトを、オブジェクトのリストの周りに移動します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトへのポインタをpd2fobに、このオブジェクトの直後に置くオブジェクト（移動した場合）をpd2fob_nxtに指定します。

指定したオブジェクトをリストの先頭に置きたいなら先頭オブジェクトをpd2fob_nxtに渡し、リストの最後に置きたいならpd2fob_nxtをNULLに設定してください。

d2fobgb_GetBoolProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, boolean *pprp );

この関数は、指定したオブジェクト（一般オブジェクト）のブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトをpd2fobに、プロパティ番号をpnumに指定し、ブール値を入れるためのpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fobgn_GetNumProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, number *pprp );

この関数は、指定したオブジェクトの数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトをpd2fobに、プロパティ番号をpnumに指定し、数値を入れるためのpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fobgt_GetTextProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, text **pprp );

この関数は、指定したオブジェクトのテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトをpd2fobに、プロパティ番号をpnumに、関数がテキスト・プロパティ値を入れるための文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列を、pprpに指定したオブジェクトのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2fobgo_GetObjectProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, dvoid **pprp );

この関数は、指定したオブジェクトのオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトをpd2fobに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fobgp_GetBlobProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、指定したオブジェクトへのポインタをpd2fobに、プロパティ番号をpnumに指定し、関数がクライアント指定値にアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fobsb_SetBoolProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, boolean prp );

この関数は、指定したオブジェクトのブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトをpd2fobに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fobsn_SetNumProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, number prp );

この関数は、指定したオブジェクトの数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトをpd2fobに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fobst_SetTextProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, text *prp );

この関数は、指定したオブジェクトのテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトをpd2fobに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fobso_SetObjectProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, dvoid *prp );

この関数は、指定したオブジェクト・プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトをpd2fobに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fobsp_SetBlobProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、指定したオブジェクトへのポインタをpd2fobに、プロパティ番号をpnumに、クライアント指定値へのポインタをprpに指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fobhp_HasProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum );

この関数は、指定したオブジェクトに、指定したプロパティの問合せをします。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトをpd2fobに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fobip_InheritProp( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum );

この関数は、指定したオブジェクトが、指定したプロパティを継承できるようにします。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトへのポインタをpd2fobに、プロパティ番号をpnumに指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fobii_IspropInherited( d2fctx *pd2fctx, d2fob *pd2fob, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクトへのポインタをpd2fobに、プロパティ番号をpnumに指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fobsc_SubClass( d2fctx *pd2fctx, d2fob *pd2fob, d2fob *parent, boolean keep_path);

この関数は、指定したオブジェクト（pd2fob）が、指定した親（parent）のサブクラスになると、D2FS_SUCCESSを返します。コンテキストへのポインタをpd2fctxに、オブジェクトへのポインタをpd2fobに、親オブジェクトへのポインタをparentに、親オブジェクトへのパスを保存するためのブール・フラグをkeep_pathに指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fobis_IsSubclassed	( d2fctx *pd2fctx, d2fob *pd2fob );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。ユーザーは、コンテキストへのポインタをpd2fctxに、指定したオブジェクトへのポインタをpd2fobに指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fobqt_QueryType( d2fctx *pd2fctx, d2fob *pd2fob, d2fotyp *objtyp );

この関数は、指定したオブジェクト型が存在して、オブジェクトがpd2fobに入っていると、D2FS_SUCCESSを返します。ユーザーは、コンテキストへのポインタをpd2fctxに指定し、戻りオブジェクトのポインタ（pd2fob）、指定したオブジェクト型のポインタ（objtyp)を指定します。

この関数は、Form内のすべてのオブジェクトを走査する走査関数がある場合は、特に便利です。この関数を使用すると、フォーム内の実際のオブジェクトのすべてにアクセスすることができます。


「オブジェクト・グループ」オブジェクトの関数

  関連項目

この節では、Form BuilderのOpen APIのオブジェクト・グループ・オブジェクトの各種関数について説明します。

d2fobgcr_Create( d2fctx *pd2fctx, d2fob *parent, d2fobg **ppd2fobg, text *name );

この関数は、オブジェクト・グループを作成します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しいオブジェクト・グループ・オブジェクトの親へのポインタをparentに、関数が新規作成オブジェクトを入れるためのハンドルをppd2fobgに、新しいオブジェクトの名前をnameに指定します。

この関数は、新しいオブジェクト・グループをppd2fobgに作成できると、D2FS_SUCCESSを返します。

d2fobgde_Destroy( d2fctx *pd2fctx, d2fobg *pd2fobg );

この関数は、指定したオブジェクト・グループを破棄します。ユーザーは、コンテキストへのポインタをpd2fctxに、破棄するオブジェクト・グループへのポインタをpd2fobgに指定します。

d2fobgdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2obg *pd2fobg_src, d2fobg **ppd2fobg_dst, text *new_name );

この関数は、指定したオブジェクト・グループを複写します。ユーザーは、コンテキストへのポインタをpd2fctxに、新しい親へのポインタをnew_parentに、オブジェクト・グループ・ソースへのポインタをpd2fobg_srcに、関数が複写先を入れるためのハンドルをppd2fobg_dstに指定し、新しいオブジェクト・グループの名前（new_name）のポインタを指定します。

この関数は、指定したオブジェクト・グループを複写して、ppd2fobg_dst位置に入れることができると、D2FS_SUCCESSを返します。

d2fobggb_GetBoolProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, boolean *pprp );

この関数は、指定したオブジェクトのブール型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクト・グループをpd2fobgに、プロパティ番号をpnumに指定し、ブール値を入れるpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fobggn_GetNumProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, number *pprp );

この関数は、指定したオブジェクト・グループの数値型数値型プロパティ（実際のスカラー定数）を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクト・グループをpd2fobgに、プロパティ番号をpnumに指定し、数値を入れるpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fobggt_GetTextProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, text **pprp );

この関数は、指定したオブジェクト・グループのテキスト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクト・グループをpd2fobgに、プロパティ番号をpnumに、関数がテキスト・プロパティ値を入れるための文字配列へのハンドルをpprpに指定します。

この関数は、与えられた配列を、pprpに指定したオブジェクト・グループのテキスト・プロパティ値のコピーで満たすと、D2FS_SUCCESSを返します。

この関数を使用して戻したテキストを使用可能にします。

d2fobggo_GetObjectProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, dvoid **pprp );

この関数は、指定したオブジェクト・グループのオブジェクト型プロパティを検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクト・グループをpd2fobgに、プロパティ番号をpnumに指定し、関数がオブジェクト・プロパティ値を入れるためのpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fobggp_GetBlobProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクト・グループへのポインタをpd2fobgに、プロパティ番号をpnumに指定し、関数がクライアント指定値にアクセスするためのpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fobgsb_SetBoolProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, boolean prp );

この関数は、指定したオブジェクト・グループのブール型プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクト・グループをpd2fobgに、プロパティ番号をpnumに、ブール値をprpに指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fobgsn_SetNumProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, number prp );

この関数は、指定したオブジェクト・グループの数値プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクト・グループをpd2fobgに、プロパティ番号をpnumに、数値をprpに指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fobgst_SetTextProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, text *prp );

この関数は、指定したオブジェクト・グループのテキスト・プロパティの値を設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクト・グループをpd2fobgに、プロパティ番号をpnumに、テキスト値へのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fobgso_SetObjectProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, dvoid *prp );

この関数は、指定したオブジェクト・グループ・プロパティのオブジェクトを設定します。ユーザーは、コンテキストへのポインタをpd2fctxに、オブジェクト・グループをpd2fobgに、プロパティ番号をpnumに、オブジェクト・プロパティへのハンドルをprpに指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fobgsp_SetBlobProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2fobgには指定オブジェクト・グループへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fobghp_HasProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum );

この関数は、指定のプロパティに対する指定のオブジェクト・グループの問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2fobgにはオブジェクト・グループ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fobgip_InheritProp( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum );

この関数は、指定のオブジェクト・グループを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2fobgにはオブジェクト・グループへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fobgii_IspropInherited( d2fctx *pd2fctx, d2fobg *pd2fobg, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fobgにはオブジェクト・グループへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fobgsc_SubClass( d2fctx *pd2fctx, d2fong *pd2fobg, d2fob *parent, boolean keep_path);

この関数は、指定のオブジェクト・グループ（pd2fobg）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2fobgにはオブジェクト・グループへのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fobgis_IsSubclassed	( d2fctx *pd2fctx, d2fobg *pd2fobg );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fobgには指定のオブジェクト・グループへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「子オブジェクト・グループ」オブジェクトの関数

  関連項目

この項では、Form Builder Open APIの「子オブジェクト・グループ」オブジェクト関数について説明します。

d2fogcgcr_Create( d2fctx *pd2fctx, d2fogc *parent, d2fogc **ppd2fogc, text *name );

この関数は、子オブジェクト・グループを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「子オブジェクト・グループ」オブジェクトへのポインタ、ppd2fogcには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2fogcgに新しいオブジェクト・グループを作成できると、この関数はD2FS_SUCCESSを戻します。

d2fogcgde_Destroy( d2fctx *pd2fctx, d2fogc *pd2fogc );

この関数は、指定の子オブジェクト・グループを破棄します。pd2fctxにはコンテキストへのポインタ、pd2fogcには破棄する子オブジェクト・グループへのポインタを指定します。

d2fogcgdu_Duplicate( d2fctx *pd2fctx, d2fogc *new_parent, d2ogc *pd2fogc_src, d2fogc **ppd2fogc_dst, text *new_name );

この関数は、指定の子オブジェクト・グループを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2fogc_srcには子オブジェクト・グループ・ソースへのポインタ、ppd2fogc_dstにはコピー先を格納する関数用のハンドル、新しい子オブジェクト・グループの名前用ポインタ（new_name）を指定します。

この関数は、指定の子オブジェクト・グループを複製してそれをppd2fogcg_dstに保存できると、D2FS_SUCCESSを戻します。

d2fogcggb_GetBoolProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, boolean *pprp );

この関数は、指定の子オブジェクト・グループ用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループ、pnumにはプロパティ番号、ブール値を格納するpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fogcggn_GetNumProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, number *pprp );

この関数は、指定の子オブジェクト・グループ用のタイプ番号（実際のスカラー定数）のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループ、pnumにはプロパティ番号、数値を格納するpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fogcggt_GetTextProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, text **pprp );

この関数は、指定の子オブジェクト・グループ用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループ、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、pprpの指定の子オブジェクト・グループ用のテキスト・プロパティ値のコピーを供給された配列に充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fogcggo_GetObjectProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, dvoid **pprp );

この関数は、指定の子オブジェクト・グループのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループ、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fogcggp_GetBlobProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループへのポインタ、pnumにはプロパティ番号、クライアント指定の値にアクセスできる関数用のpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fogcgsb_SetBoolProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, boolean prp );

この関数は、指定の子オブジェクト・グループのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループ、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fogcgsn_SetNumProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, number prp );

この関数は、指定の子オブジェクト・グループの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループ、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fogcgst_SetTextProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, text *prp );

この関数は、指定の子オブジェクト・グループのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループ、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fogcgso_SetObjectProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, dvoid *prp );

この関数は、指定の子オブジェクト・グループのプロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループ、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fogcgsp_SetBlobProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2fogcには指定の「子オブジェクト・グループ」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fogcghp_HasProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum );

この関数は、指定のプロパティ用の指定の子オブジェクト・グループに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループ、pnumにはプロパティ番号を指定します

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fogcgip_InheritProp( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum );

この関数は、指定の子オブジェクト・グループを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2fogcには子オブジェクト・グループへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fogcgii_IspropInherited( d2fctx *pd2fctx, d2fogc *pd2fogc, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fogcには「子オブジェクト・グループ」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「オブジェクト・ライブラリ」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「オブジェクト・ライブラリ」オブジェクトについて説明します。

d2folbcr_Create( d2fctx *pd2fctx, d2fob *parent, d2folb **ppd2folb, text *name );

この関数は、オブジェクト・ライブラリを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「オブジェクト・ライブラリ」オブジェクト親へのポインタ、ppd2folbには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2fogcgに新しいオブジェクト・ライブラリを作成できると、この関数はD2FS_SUCCESSを戻します。

d2folbde_Destroy( d2fctx *pd2fctx, d2folb *pd2folb );

この関数は、指定のオブジェクト・ライブラリを破棄します。pd2fctxにはコンテキストへのポインタ、pd2folbには破棄するオブジェクト・ライブラリ子へのポインタを指定します。

d2folbdl_Delete( d2fctx *pd2fctx, text *name, boolean db );

この関数は、指定のオブジェクト・ライブラリを削除します。pd2fctxにはコンテキストへのポインタ、nameにはオブジェクト・ライブラリ名用のテキスト文字列へのポインタ、dbにはオブジェクト・ライブラリをデータベースから削除したかどうかを示すブール・フラグ（オープン・ライブラリ、フォーム・モジュール・メニュー・モジュールなど）を指定します。

dbがTRUEの場合、Forms APIは、データベースから指定のオブジェクト・ライブラリを削除するものとみなします。

d2folbdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2olb *pd2folb_src, d2folb **ppd2folb_dst, text *new_name );

この関数は、指定のオブジェクト・ライブラリを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2folb_srcにはオブジェクト・ライブラリ・ソースへのポインタ、ppd2folb_dstにはコピー先を格納する関数用のハンドル、新しいオブジェクト・ライブラリ名用のポインタ（new_name）を指定します。

この関数は、指定のオブジェクト・ライブラリを複製してそれをppd2folb_dstに保存できると、D2FS_SUCCESSを戻します。

d2folbao_AddObj( d2fctx *pd2fctx, d2folb *pd2folb, d2folt *pd2folt, d2fob *pd2fob, d2fob **ppd2fob, boolean replace );

この関数は、指定のオブジェクトのコピーをオブジェクト・ライブラリに追加します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリへのポインタ、pd2foltには「タブ・ページ」オブジェクトへのポインタ、pd2fobにはオブジェクト・ライブラリに追加するオブジェクトへのポインタ、ppdfobには新規作成オブジェクトを戻す関数用のハンドル、replaceにはオブジェクトがすでにこの名前で存在するイベント内で関数がするべきことを示すブール・フラグを指定します。

同一名のオブジェクトがすでに存在し、replaceをTRUEに設定した場合、関数は新しいオブジェクトで既存のオブジェクトを置き換えます。FALSEに設定した場合、関数はエラー（D2FS_OBJNOTUNIQUE)を戻します。

d2folbro_RemoveObj( d2fctx *pd2fctx, d2folb *po2olb, d2fob *pd2fob );

この関数は、オブジェクト・ライブラリから指定のオブジェクトを削除します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリへのポインタ、pd2fobにはオブジェクト・ライブラリから削除するオブジェクトへのポインタを指定します。

d2folbf2_Findobjbypos( d2fctx *pd2fctx, d2folb *pd2folb, number pos, d2fob **ppret_obj);

この関数は、オブジェクト・ライブラリ内の指定のオブジェクト位置を戻します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリへのポインタ、posにはオブジェクト・ライブラリ内のオブジェクト位置、ppret_objには戻されるオブジェクトへのハンドルを指定します。

D2FP_OBJ_COUNTというForms APIプロパティがあり、これを使用して、指定のオブジェクト・ライブラリ用に関連する全てのオブジェクト件数を検索できることに注意してください。

d2folbld_Load( d2fctx *pd2fctx, d2folb **pd2folb, text *olibname, boolean db );

この関数は、指定のオブジェクト・ライブラリをロードします。コンテキスト（pd2fctx）、オブジェクト・ライブラリを格納するのに使用する関数用のポインタへのハンドル（ppd2folb）、オブジェクト・ライブラリ名（olibname）、データベース内にオブジェクト・ライブラリがあるかどうかを示すブール・フラグ（db)を指定します。

dbをTRUEに設定すると、Forms APIはデータベース内の指定のオブジェクト・ライブラリを検索します。このことは、あるデータベースにすでに接続しているとみなすことに注意してください。d2fctx_Connect()にコールした後で、データベースからオブジェクト・ライブラリをロードしてください。

d2folbsv_Save( d2fctx *pd2fctx, d2folb *pd2folb, text *olibname, boolean db );

この関数は、指定のオブジェクト・ライブラリを保存します。コンテキスト（pd2fctx）、オブジェクト・ライブラリへのポインタ（pd2folb）、指定のオブジェクト・ライブラリ名（olibname）、データベース内にオブジェクト・ライブラリを保存するかどうかを示すブール・フラグ（db)を指定します。

dbをTRUEに設定すると、Forms APIはデータベース内の指定のオブジェクト・ライブラリを保存します。このことは、あるデータベースに前もって接続しているとみなすことに注意してください。d2fctx_Connect()にコールした後で、データベースにオブジェクト・ライブラリを保存してください。

オブジェクト・ライブラリをデフォルト名（作成時の名前）で保存する場合、テキスト文字列としてNULLをolibnameに渡してください。他の名前で保存したい場合は、テキスト文字列でolibnameに渡してください。

d2folbfv_FileVersion( d2fctx *pd2fctx, text *olibname, boolean db, number *version );

この関数は、ファイルのバージョンを戻します。コンテキスト（pd2fctx）、オブジェクト・ライブラリ名（olibname）、データベースまたはファイル・システム内にオブジェクト・ライブラリがあるかどうかを示すブール・フラグ（db）、関数が戻すバージョン用のポインタ（version)を指定します。

1度オブジェクト・ライブラリをロードしてしまうとファイル・バージョンは変更してしまうため、この関数をコールしてからd2folbld_Load()関数をコールする必要があることに注意してください。

d2folbgb_GetBoolProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, boolean *pprp );

この関数は、指定のオブジェクト・ライブラリ用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pnumにはプロパティ番号、ブール値を格納するpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2folbgn_GetNumProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, number *pprp );

この関数は、指定のオブジェクト・ライブラリ用のタイプ番号（実際のスカラー定数）のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pnumにはプロパティ番号、数値を格納するpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2folbgt_GetTextProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, text **pprp );

この関数は、指定のオブジェクト・ライブラリ用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定のオブジェクト・ライブラリ用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2folbgo_GetObjectProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, dvoid **pprp );

この関数は、指定のオブジェクト・ライブラリのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2folbgp_GetBlobProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリへのポインタ、pnumにはプロパティ番号、クライアント指定の値にアクセスできる関数用のpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2folbsb_SetBoolProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, boolean prp );

この関数は、指定のオブジェクト・ライブラリのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2folbsn_SetNumProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, number prp );

この関数は、指定のオブジェクト・ライブラリの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2folbst_SetTextProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, text *prp );

この関数は、指定のオブジェクト・ライブラリのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2folbso_SetObjectProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, dvoid *prp );

この関数は、指定のオブジェクト・ライブラリ・プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2folbsp_SetBlobProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2folbには指定のオブジェクト・ライブラリへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2folbhp_HasProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum );

この関数は、指定のプロパティ用の指定のオブジェクト・ライブラリに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2folbip_InheritProp( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum );

この関数は、指定のオブジェクト・ライブラリを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2folbii_IspropInherited( d2fctx *pd2fctx, d2folb *pd2folb, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2folbには「オブジェクト・ライブラリ」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2folbss_SetSmartclass( d2fctx *pd2fctx, d2folb *pd2folb, d2fob *pd2fob, boolean state);

この関数は、指定のオブジェクト・ライブラリをスマート・クラスのメンバーとして指定します。pd2fctxにはコンテキストへのポインタ、pd2folbには「オブジェクト・ライブラリ」オブジェクトへのポインタ、pd2fobにはスマート・クラス・メンバーにするオブジェクトへのポインタ、stateには指定のオブジェクトをスマート・クラスのメンバーとして設定するかどうかをForms APIに示すブール・トグルを指定します。stateをTRUEに設定すると、Forms APIは指定のオブジェクトにスマート・クラスのメンバーとしてフラグをたてます。stateをFALSEに設定すると、Forms APIはオブジェクトをスマートクラスの非メンバーとして設定します。

d2folbis_IsSmartclassed( d2fctx *pd2fctx, d2folb *pd2folb, d2fob *pd2fob );

この関数は、指定のオブジェクト（pd2fob）がスマート・クラスの場合にD2FS_YESを戻します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pd2fobにはオブジェクトを指定します。

d2folbsd_SetDesc ( d2fctx *pd2fctx, d2folb *pd2folb, d2fob *pd2fob, text *desc );

この関数は、Forms APIが指定のオブジェクトに短い記述を設定すると、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2folb,にはオブジェクト・ライブラリ、pd2fobにはオブジェクト、descには実際の短い記述へのポインタを指定します。

d2folbgd_GetDesc ( d2fctx *pd2fctx, d2folb *pd2folb, d2fob *pd2fob, text **desc );

この関数は、Forms APIが指定のオブジェクトの短い記述を検索すると、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2folbにはオブジェクト・ライブラリ、pd2fobにはオブジェクト、descには短い記述を戻す関数用のハンドルを指定します。


「プログラム単位」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「プログラム単位」オブジェクトの関数について説明します。

d2fpgucr_Create( d2fctx *pd2fctx, d2fob *parent, d2fpgu **ppd2fpgu, text *name );

この関数は、プログラム単位を作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「プログラム単位」オブジェクト親へのポインタ、ppd2fpguには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2fpguに新しいプログラム単位を作成できると、この関数はD2FS_SUCCESSを戻します。

d2fpgude_Destroy( d2fctx *pd2fctx, d2fpgu *pd2fpgu );

この関数は、指定のプログラム単位を破棄します。pd2fctxにはコンテキストへのポインタ、pd2fpguには破棄するプログラム単位へのポインタを指定します。

d2fpgudu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2pgu *pd2fpgu_src, d2fpgu **ppd2fpgu_dst, text *new_name );

この関数は、指定のプログラム単位を複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2fpgu_srcにはプログラム単位ソースへのポインタ、ppd2fpgu_dstにはコピー先を格納する関数用のハンドル、新しいプログラム単位名用のポインタ（new_name）を指定します。

この関数は、指定のプログラム単位を複製してそれをppd2fpgu_dstに保存できると、D2FS_SUCCESSを戻します。

d2fpguco_CompileObj ( d2fctx *pd2fctx, d2fpgu *pd2fpgu );

この関数は、プログラム単位に関連するすべてのPL/SQLコードをコンパイルします。pd2fctxにはコンテキストへのポインタ、pd2fpguにはコンパイルするオブジェクトへのポインタを指定します。

たとえば、この関数を使用して、プログラム単位にアタッチされるすべての「トリガー」オブジェクト、およびプログラム単位内の全項目にアタッチされる全ての「トリガー」オブジェクトをコンパイルできます。

d2fpgugb_GetBoolProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, boolean *pprp );

この関数は、指定のプログラム単位用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位、pnumにはプロパティ番号、ブール値を格納するpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fpgugn_GetNumProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, number *pprp );

この関数は、指定のプログラム単位用のタイプ番号（実際のスカラー定数）のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位、pnumにはプロパティ番号、数値を格納するpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fpgugt_GetTextProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, text **pprp );

この関数は、指定のプログラム単位用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定のプログラム単位用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fpgugo_GetObjectProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, dvoid **pprp );

この関数は、指定のプログラム単位のタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fpgugp_GetBlobProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2fpguには「プログラム単位」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値にアクセスできる関数用のpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fpgusb_SetBoolProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, boolean prp );

この関数は、指定のプログラム単位のブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fpgusn_SetNumProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, number prp );

この関数は、指定のプログラム単位の番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fpgust_SetTextProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, text *prp );

この関数は、指定のプログラム単位のテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fpguso_SetObjectProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, dvoid *prp );

この関数は、指定のプログラム単位プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fpgusp_SetBlobProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2fpguには指定の「プログラム単位」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fpguhp_HasProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum );

この関数は、指定のプロパティ用の指定のプログラム単位に問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fpguip_InheritProp( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum );

この関数は、指定のプログラム単位を使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2fpguには「プログラム単位」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fpguii_IspropInherited( d2fctx *pd2fctx, d2fpgu *pd2fpgu, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fpguには「プログラム単位」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fpgusc_SubClass( d2fctx *pd2fctx, d2fpgu *pd2fpgu, d2fob *parent, boolean keep_path);

この関数は、指定のプログラム単位（pd2fpgu）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2fpguにはプログラム単位へのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fpguis_IsSubclassed	( d2fctx *pd2fctx, d2fpgu *pd2fpgu );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fpguには「プログラム単位」オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「プロパティ・クラス」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「プロパティ・クラス」オブジェクトの関数について説明します。

d2fppccr_Create( d2fctx *pd2fctx, d2fob *parent, d2fppc **ppd2fppc, text *name );

この関数は、「プロパティ・クラス」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「プロパティ・クラス」オブジェクトの親へのポインタ、ppd2fppcには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2fppcに新しいプロパティ・クラスを作成できると、この関数はD2FS_SUCCESSを戻します。

d2fppcde_Destroy( d2fctx *pd2fctx, d2fppc *pd2fppc );

この関数は、指定のプロパティ・クラスを破棄します。pd2fctxにはコンテキストへのポインタ、pd2fppcには破棄するプロパティ・クラスへのポインタを指定します。

d2fppcdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2ppc *pd2fppc_src, d2fppc **ppd2fppc_dst, text *new_name );

この関数は、指定のプロパティ・クラスを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2fppc_srcにはプロパティ・クラス・ソースへのポインタ、ppd2fppc_dstにはコピー先を格納する関数用のハンドル、新しいプロパティ・クラス名用のポインタ（new_name）を指定します。

この関数は、指定のプロパティ・クラスを複製してそれをppd2fppc_dstに保存できると、D2FS_SUCCESSを戻します。

d2fppcrp_RemoveProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum );

この関数は、プロパティ・クラスから指定のプロパティを削除します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラス、pnumには削除するプロパティのプロパティ番号を指定します。

この関数は、指定のプロパティが削除済みの場合にD2FS_SUCCESSを戻します。

d2fppcgb_GetBoolProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, boolean *pprp );

この関数は、指定のプロパティ・クラス用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラス、pnumにはプロパティ番号、ブール値を格納するpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fppcgn_GetNumProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, number *pprp );

この関数は、指定のプロパティ・クラス用のタイプ番号（実際のスカラー定数）のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラス、pnumにはプロパティ番号、数値を格納するpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fppcgt_GetTextProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, text **pprp );

この関数は、指定のプロパティ・クラス用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラス、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定のプロパティ・クラス用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fppcgo_GetObjectProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, dvoid **pprp );

この関数は、指定のプロパティ・クラスのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティト・クラス、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fppcgp_GetBlobProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2fppcには「プロパティ・クラス」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値にアクセスできる関数用のpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fppcsb_SetBoolProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, boolean prp );

この関数は、指定のプロパティ・クラスのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラス、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fppcsn_SetNumProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, number prp );

この関数は、指定のプロパティ・クラスの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラス、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fppcst_SetTextProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, text *prp );

この関数は、指定のプロパティ・クラスのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラス、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fppcso_SetObjectProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, dvoid *prp );

この関数は、指定のプロパティ・クラス・プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラス、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fppcsp_SetBlobProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2fppcには指定の「プロパティ・クラス」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fppchp_HasProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum );

この関数は、指定のプロパティ用の指定のプロパティ・クラスに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラス、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fppcip_InheritProp( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum );

この関数は、指定のプロパティ・クラスを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラスへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fppcii_IspropInherited( d2fctx *pd2fctx, d2fppc *pd2fppc, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fppcには「プロパティ・クラス」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fppcsc_SubClass( d2fctx *pd2fctx, d2fppc *pd2fppc, d2fob *parent, boolean keep_path);

この関数は、指定のプロパティ・クラス（pd2fppc）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2fppcにはプロパティ・クラスへのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fppcis_IsSubclassed	( d2fctx *pd2fctx, d2fppc *pd2fppc );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fppcには指定の「プロパティ・クラス」オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「ラジオ・ボタン」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「ラジオ・ボタン」オブジェクトの関数について説明します。

d2frdbcr_Create( d2fctx *pd2fctx, d2fob *parent, d2frdb **ppd2frdb, text *name );

この関数は、「ラジオ・ボタン」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「ラジオ・ボタン」オブジェクトの親へのポインタ、ppd2frdbには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2frdbに新しいラジオ・ボタンを作成できると、この関数はD2FS_SUCCESSを戻します。

d2frdbde_Destroy( d2fctx *pd2fctx, d2frdb *pd2frdb );

この関数は、指定のラジオ・ボタンを破棄します。pd2fctxにはコンテキストへのポインタ、pd2frdbには破棄する「ラジオ・ボタン」オブジェクトへのポインタを指定します。

d2frdbdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2rdb *pd2frdb_src, d2frdb **ppd2frdb_dst, text *new_name );

この関数は、指定のラジオ・ボタンを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2frdb_srcにはラジオ・ボタン・ソースへのポインタ、ppd2frdb_dstにはコピー先を格納する関数用のハンドル、新しいラジオ・ボタン名用のポインタ（new_name）を指定します。

この関数は、指定のプロパティ・クラスを複製してそれをppd2frdb_dstに保存できると、D2FS_SUCCESSを戻します。

d2frdbgb_GetBoolProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, boolean *pprp );

この関数は、指定のラジオ・ボタン用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタン、pnumにはプロパティ番号、ブール値を格納するpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frdbgn_GetNumProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, number *pprp );

この関数は、指定のラジオ・ボタン用のタイプ番号（実際のスカラー定数）のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタン、pnumにはプロパティ番号、数値を格納するpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frdbgt_GetTextProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, text **pprp );

この関数は、指定のラジオ・ボタン用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタン、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定のラジオ・ボタン用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2frdbgo_GetObjectProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, dvoid **pprp );

この関数は、指定のラジオ・ボタンのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタン、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2frdbgp_GetBlobProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2frdbには「ラジオ・ボタン」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値にアクセスできる関数用のpprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2frdbsb_SetBoolProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, boolean prp );

この関数は、指定のラジオ・ボタンのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタン、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frdbsn_SetNumProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, number prp );

この関数は、指定のラジオ・ボタンの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタン、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frdbst_SetTextProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, text *prp );

この関数は、指定のラジオ・ボタンのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタン、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frdbso_SetObjectProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, dvoid *prp );

この関数は、指定のラジオ・ボタン・プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタン、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frdbsp_SetBlobProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2frdbには「ラジオ・ボタン」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2frdbhp_HasProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum );

この関数は、指定のプロパティ用の指定のラジオ・ボタンに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタン、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frdbip_InheritProp( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum );

この関数は、指定のラジオ・ボタンを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2fordbにはラジオ・ボタンへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frdbii_IspropInherited( d2fctx *pd2fctx, d2frdb *pd2frdb, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2frdbには「ラジオ・ボタン」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frdbsc_SubClass( d2fctx *pd2fctx, d2frdb *pd2frdb, d2fob *parent, boolean keep_path);

この関数は、指定のラジオ・ボタン（pd2frdb）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2frdbにはラジオ・ボタンへのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2frdbis_IsSubclassed	( d2fctx *pd2fctx, d2frdb *pd2frdb );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2frdbには「ラジオ・ボタン」オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「レコード・グループ」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「レコード・グループ」オブジェクトの関数について説明します。

d2frcgcr_Create( d2fctx *pd2fctx, d2fob *parent, d2frcg **ppd2frcg, text *name );

この関数は、「レコード・グループ」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「レコード・グループ」オブジェクトの親へのポインタ、ppd2frcgには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2frcgに新しいレコード・グループを作成できると、この関数はD2FS_SUCCESSを戻します。

d2frcgde_Destroy( d2fctx *pd2fctx, d2frcg *pd2frcg );

この関数は、指定の「レコード・グループ」オブジェクトを破棄します。pd2fctxにはコンテキストへのポインタ、pd2frcgには破棄する「レコード・グループ」オブジェクトへのポインタを指定します。

d2frcgdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2rcg *pd2frcg_src, d2frcg **ppd2frcg_dst, text *new_name );

この関数は、指定の「レコード・グループ」オブジェクトを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2frcg_srcには「レコード・グループ」オブジェクト・ソースへのポインタ、ppd2frcg_dstにはコピー先を格納する関数用のハンドル、新しい「レコード・グループ」オブジェクト名用のポインタ（new_name）を指定します。

この関数は、指定のプロパティ・クラスを複製してそれをppd2frcg_dstに保存できると、D2FS_SUCCESSを戻します。

d2frcggb_GetBoolProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, boolean *pprp );

この関数は、指定の「レコード・グループ」オブジェクト用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクト、pnumにはプロパティ番号、ブール値を格納するpprpへのポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frcggn_GetNumProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, number *pprp );

この関数は、指定の「レコード・グループ」オブジェクト用のタイプ番号（実際のスカラー定数）のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクト、pnumにはプロパティ番号、数値を格納するpprpへのポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frcggt_GetTextProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, text **pprp );

この関数は、指定の「レコード・グループ」オブジェクト用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクト、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定の「レコード・グループ」オブジェクト用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2frcggo_GetObjectProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, dvoid **pprp );

この関数は、指定の「レコード・グループ」オブジェクトのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクト、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2frcggp_GetBlobProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値へアクセスできる関数用のprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2frcgsb_SetBoolProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, boolean prp );

この関数は、指定の「レコード・グループ」オブジェクトのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクト、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frcgsn_SetNumProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, number prp );

この関数は、指定の「レコード・グループ」オブジェクトの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクト、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frcgst_SetTextProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, text *prp );

この関数は、指定の「レコード・グループ」オブジェクトのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクト、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frcgso_SetObjectProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, dvoid *prp );

この関数は、指定の「レコード・グループ」オブジェクト・プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクト、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frcgsp_SetBlobProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2frcghp_HasProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum );

この関数は、指定のプロパティ用の指定の「レコード・グループ」オブジェクトに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクト、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frcgip_InheritProp( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum );

この関数は、指定の「レコード・グループ」オブジェクトを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frcgii_IspropInherited( d2fctx *pd2fctx, d2frcg *pd2frcg, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frcgsc_SubClass( d2fctx *pd2fctx, d2frcg *pd2frcg, d2fob *parent, boolean keep_path);

この関数は、指定の「レコード・グループ」オブジェクト（pd2frcg）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクトへのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2frcgis_IsSubclassed	( d2fctx *pd2fctx, d2frcg *pd2frcg );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2frcgには「レコード・グループ」オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「レコード・グループ列仕様部」オブジェクト関数

  関連項目

この項では、Form Builder Open API「レコード・グループ列仕様部」オブジェクトの関数について説明します。

d2frcscr_Create( d2fctx *pd2fctx, d2fob *parent, d2frcs **ppd2frcs, text *name );

この関数は、「レコード・グループ列仕様部」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「レコード・グループ列仕様部」オブジェクトの親へのポインタ、ppd2frcsには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2frcsに新しいレコード・グループ列仕様部を作成できると、この関数はD2FS_SUCCESSを戻します。

d2frcsde_Destroy( d2fctx *pd2fctx, d2frcs *pd2frcs );

この関数は、指定のレコード・グループ列仕様部を破棄します。pd2fctxにはコンテキストへのポインタ、pd2frcsには破棄するレコード・グループ列仕様部へのポインタを指定します。

d2frcsdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2rcs *pd2frcs_src, d2frcs **ppd2frcs_dst, text *new_name );

この関数は、指定のレコード・グループ列仕様部を複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2frcs_srcにはレコード・グループ列仕様部ソースへのポインタ、ppd2frcs_dstにはコピー先を格納する関数用のハンドル、新しいレコード・グループ列仕様部名用のポインタ（new_name）を指定します。

この関数は、指定のレコード・グループ列仕様部を複製してそれをppd2frcs_dstに保存できると、D2FS_SUCCESSを戻します。

d2frcsir_InsertRow( d2fctx *pd2fctx, d2frcs *pd2frcs, number index, text *dat );

この関数は、指定の「レコード・グループ仕様部」オブジェクトに行を挿入します。pd2fctxにはコンテキストへのポインタ、pd2frcsには「レコード・グループ仕様部」オブジェクトへのポインタ、indexには行を挿入する関数のある行リストへの索引、datにはデータへのポインタを指定します。

まずレコード・グループ・オブジェクトを作成し、次に新しい「レコード・グループ列」オブジェクトを作成し、最後に関連する列の値へ行を挿入する必要があることに注意してください。

D2FP_COL_VALS_COUNTというForms APIプロパティがあり、これを使用して、レコード・グループ列仕様部用の全ての列件数を検索できることに注意してください。

d2frcsdr_DeleteRow( d2fctx *pd2fctx, d2frcs *pd2frcs, number index );

この関数は、指定の「レコード・グループ仕様部」オブジェクトから指定の行を削除します。pd2fctxにはコンテキストへのポインタ、pd2frcsには「レコード・グループ仕様部」オブジェクトへのポインタ、indexには行を削除する関数がある行リストの索引を指定します。

D2FP_COL_VALS_COUNTというForms APIプロパティがあり、これを使用して、レコード・グループ列仕様部用の全ての列件数を検索できることに注意してください。

d2frcsgr_GetRow( d2fctx *pd2fctx, d2frcs *pd2frcs, number index, text **dat );

この関数は、指定の「レコード・グループ仕様部」オブジェクトから行を検出します。pd2fctxにはコンテキストへのポインタ、pd2frcsには「レコード・グループ仕様部」オブジェクトへのポインタ、indexには行を検索する関数がある行リストの索引、datには行を戻す関数用のハンドルを指定します。

D2FP_COL_VALS_COUNTというForms APIプロパティがあり、これを使用して、レコード・グループ列仕様部用の全ての列件数を検索できることに注意してください。

d2frcsgb_GetBoolProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, boolean *pprp );

この関数は、指定のレコード・グループ列仕様部用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frcsにはレコード・グループ列仕様部、pnumにはプロパティ番号、pprpにはブール値を格納するポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frcsgn_GetNumProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, number *pprp );

この関数は、指定のレコード・グループ列仕様部用のタイプ番号のプロパティ（実際のスカラー定数）を検索します。pd2fctxにはコンテキストへのポインタ、pd2frcsにはレコード・グループ列仕様部、pnumにはプロパティ番号、pprpには数値を格納するポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frcsgt_GetTextProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, text **pprp );

この関数は、指定のレコード・グループ列仕様部用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frcsにはレコード・グループ列仕様部、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定のレコード・グループ列仕様部用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2frcsgo_GetObjectProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, dvoid **pprp );

この関数は、指定のレコード・グループ列仕様部のタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frcsにはレコード・グループ列仕様部、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2frcsgp_GetBlobProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2frcsには「レコード・グループ列仕様部」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値へアクセスできる関数用のprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2frcssb_SetBoolProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, boolean prp );

この関数は、指定のレコード・グループ列仕様部のブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frcsにはレコード・グループ列仕様部、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frcssn_SetNumProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, number prp );

この関数は、指定のレコード・グループ列仕様部の番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frcsにはレコード・グループ列仕様部、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frcsst_SetTextProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, text *prp );

この関数は、指定のレコード・グループ列仕様部のテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frcsにはレコード・グループ列仕様部、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frcsso_SetObjectProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, dvoid *prp );

この関数は、指定のレコード・グループ列仕様部プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2frcsにはレコード・グループ列仕様部、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frcssp_SetBlobProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2frcsには「レコード・グループ列仕様部」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2frcshp_HasProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum );

この関数は、指定のプロパティ用の指定のレコード・グループ列仕様部に問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2frcsにはレコード・グループ列仕様部、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frcsip_InheritProp( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum );

この関数は、指定のレコード・グループ列仕様部を使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2frcsには「レコード・グループ列仕様部」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frcsii_IspropInherited( d2fctx *pd2fctx, d2frcs *pd2frcs, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2frcsには「レコード・グループ列仕様部」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「リレーション」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「リレーション」オブジェクトの関数について説明します。

d2frelcr_Create( d2fctx *pd2fctx, d2fob *parent, d2frel **ppd2frel, text *name );

この関数は、「リレーション」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「リレーション」オブジェクトの親へのポインタ、ppd2frelには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2frelに新しいリレーションを作成できると、この関数はD2FS_SUCCESSを戻します。

d2frelde_Destroy( d2fctx *pd2fctx, d2frel *pd2frel );

この関数は、指定のリレーションを破棄します。pd2fctxにはコンテキストへのポインタ、pd2frelには破棄する「リレーション」オブジェクトへのポインタを指定します。

d2frelup_Update( d2fctx *pd2fctx, d2frel *pd2frel );

この関数は、指定の「リレーション」オブジェクトを更新します。pd2fctxにはコンテキストへのポインタ、pd2frelには「リレーション」オブジェクトへのポインタを指定します。

従来型のFormsオブジェクトの場合は、まずオブジェクトを作成して、次にそのオブジェクト・プロパティの設定と検索を開始します。追加ステップを作成して「オブジェクトをインスタンシエート」してから、「リレーション」オブジェクトはその追加ステップを指定します。したがって、「リレーション」オブジェクトの場合は、まず「リレーション」オブジェクトを作成して、次に「リレーション」オブジェクトの指定のプロパティを設定してからこの更新関数をコールします。この関数をコールしない場合は、「リレーション」オブジェクトは不完全で、動作は未定義です。その後「リレーション」オブジェクトは不安定状態で存在します（不安定な「リレーション」オブジェクトに対して実際に何かを試みると、Forms APIはエラーを戻します）。

d2freldu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2rel *pd2frel_src, d2frel **ppd2frel_dst, text *new_name );

この関数は、指定のリレーションを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2frel_srcにはリレーション・ソースへのポインタ、ppd2frel_dstにはコピー先を格納する関数用のハンドル、新しいリレーション名用のポインタ（new_name）を指定します。

この関数は、指定のリレーションを複製してそれをppd2frel_dstに保存できると、D2FS_SUCCESSを戻します。

d2frelgb_GetBoolProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, boolean *pprp );

この関数は、指定のリレーション用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frelにはリレーション、pnumにはプロパティ番号、pprpにはブール値を格納するポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frelgn_GetNumProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, number *pprp );

この関数は、指定のリレーション用のタイプ番号のプロパティ（実際のスカラー定数）を検索します。pd2fctxにはコンテキストへのポインタ、pd2frelにはリレーション、pnumにはプロパティ番号、pprpには数値を格納するポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frelgt_GetTextProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, text **pprp );

この関数は、指定のリレーション用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frelにはリレーション、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定のリレーション用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2frelgo_GetObjectProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, dvoid **pprp );

この関数は、指定のリレーションのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frelにはリレーション、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2frelgp_GetBlobProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2frelには「リレーション」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値へアクセスできる関数用のprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2frelsb_SetBoolProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, boolean prp );

この関数は、指定のリレーションのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frelにはリレーション、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frelsn_SetNumProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, number prp );

この関数は、指定のリレーションの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frelにはリレーション、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frelst_SetTextProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, text *prp );

この関数は、指定のリレーションのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frelにはリレーション、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frelso_SetObjectProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, dvoid *prp );

この関数は、指定のリレーションプロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2frelにはリレーション、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frelsp_SetBlobProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2frelには「リレーション」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2frelhp_HasProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum );

この関数は、指定のプロパティ用の指定のリレーションに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2frelにはリレーション、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frelip_InheritProp( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum );

この関数は、指定のリレーションを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2frelには「リレーション」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frelii_IspropInherited( d2fctx *pd2fctx, d2frel *pd2frel, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2frelには「リレーション」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「レポート」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「レポート」オブジェクトの関数について説明します。

d2frptcr_Create( d2fctx *pd2fctx, d2fob *parent, d2frpt **ppd2frpt, text *name );

この関数は、「レポート」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「レポート」オブジェクトの親へのポインタ、ppd2frptには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2frptに新しいレポートを作成できると、この関数はD2FS_SUCCESSを戻します。

d2frptde_Destroy( d2fctx *pd2fctx, d2frpt *pd2frpt );

この関数は、指定のレポートを破棄します。pd2fctxにはコンテキストへのポインタ、pd2frptには破棄する「レポート」オブジェクトへのポインタを指定します。

d2frptdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2rpt *pd2frpt_src, d2frpt **ppd2frpt_dst, text *new_name );

この関数は、指定のレポートを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2frpt_srcには「レポート」オブジェクト・ソースへのポインタ、ppd2frpt_dstにはコピー先を格納する関数用のハンドル、新しい「レポート」オブジェクト名用のポインタ（new_name）を指定します。

この関数は、指定のリレーションを複製してそれをppd2frpt_dstに保存できると、D2FS_SUCCESSを戻します。

d2frptgb_GetBoolProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, boolean *pprp );

この関数は、指定の「レポート」オブジェクト用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクト、pnumにはプロパティ番号、pprpにはブール値を格納するポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frptgn_GetNumProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, number *pprp );

この関数は、指定の「レポート」オブジェクト用のタイプ番号のプロパティ（実際のスカラー定数）を検索します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクト、pnumにはプロパティ番号、pprpには数値を格納するポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2frptgt_GetTextProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, text **pprp );

この関数は、指定の「レポート」オブジェクト用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクト、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定の「レポート」オブジェクト用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2frptgo_GetObjectProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, dvoid **pprp );

この関数は、指定の「レポート」オブジェクトのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクト、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2frptgp_GetBlobProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値へアクセスできる関数用のprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2frptsb_SetBoolProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, boolean prp );

この関数は、指定の「レポート」オブジェクトのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクト、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frptsn_SetNumProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, number prp );

この関数は、指定の「レポート」オブジェクトの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクト、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frptst_SetTextProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, text *prp );

この関数は、指定の「レポート」オブジェクトのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクト、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frptso_SetObjectProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, dvoid *prp );

この関数は、指定の「レポート」オブジェクト・プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクト、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2frptsp_SetBlobProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2frpthp_HasProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum );

この関数は、指定のプロパティ用の指定の「レポート」オブジェクトに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクト、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frptip_InheritProp( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum );

この関数は、指定の「レポート」オブジェクトを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frptii_IspropInherited( d2fctx *pd2fctx, d2frpt *pd2frpt, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2frptsc_SubClass( d2fctx *pd2fctx, d2frpt *pd2frpt, d2fob *parent, boolean keep_path);

この関数は、指定の「レポート」オブジェクト（pd2frpt）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2frptにはレポートへのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2frptis_IsSubclassed	( d2fctx *pd2fctx, d2frpt *pd2frpt );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2frptには「レポート」オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「タブ・ページ」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「タブ・ページ」オブジェクトの関数について説明します。

d2ftbpcr_Create( d2fctx *pd2fctx, d2fob *parent, d2ftbp **ppd2ftbp, text *name );

この関数は、「タブ・ページ」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「タブ・ページ」オブジェクトの親へのポインタ、ppd2ftbpには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2ftbpに新しいレポートを作成できると、この関数はD2FS_SUCCESSを戻します。

d2ftbpde_Destroy( d2fctx *pd2fctx, d2ftbp *pd2ftbp );

この関数は、指定の「タブ・ページ」オブジェクトを破棄します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには破棄したい「タブ・ページ」オブジェクトへのポインタを指定します。

d2ftbpdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2tbp *pd2ftbp_src, d2ftbp **ppd2ftbp_dst, text *new_name );

この関数は、指定の「タブ・ページ」オブジェクトを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2ftbp_srcには「タブ・ページ」オブジェクト・ソースへのポインタ、ppd2ftbp_dstにはコピー先を格納する関数用のハンドル、新しい「タブ・ページ」オブジェクト名用のポインタ（new_name）を指定します。

この関数は、指定の「タブ・ページ」オブジェクトを複製してそれをppd2ftbp_dstに保存できると、D2FS_SUCCESSを戻します。

d2ftbpgb_GetBoolProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, boolean *pprp );

この関数は、指定の「タブ・ページ」オブジェクト用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクト、pnumにはプロパティ番号、pprpにはブール値を格納するポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2ftbpgn_GetNumProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, number *pprp );

この関数は、指定の「タブ・ページ」オブジェクト用のタイプ番号のプロパティ（実際のスカラー定数）を検索します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクト、pnumにはプロパティ番号、pprpには数値を格納するポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2ftbpgt_GetTextProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, text **pprp );

この関数は、指定の「タブ・ページ」オブジェクト用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクト、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定の「レポート」オブジェクト用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2ftbpgo_GetObjectProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, dvoid **pprp );

この関数は、指定の「タブ・ページ」オブジェクトのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクト、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2ftbpgp_GetBlobProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値へアクセスできる関数用のprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2ftbpsb_SetBoolProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, boolean prp );

この関数は、指定の「タブ・ページ」オブジェクトのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクト、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ftbpsn_SetNumProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, number prp );

この関数は、指定の「タブ・ページ」オブジェクトの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクト、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ftbpst_SetTextProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, text *prp );

この関数は、指定の「タブ・ページ」オブジェクトのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクト、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ftbpso_SetObjectProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, dvoid *prp );

この関数は、指定の「タブ・ページ」オブジェクト・プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクト、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ftbpsp_SetBlobProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2ftbphp_HasProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum );

この関数は、指定のプロパティ用の指定の「タブ・ページ」オブジェクトに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクト、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ftbpip_InheritProp( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum );

この関数は、指定の「タブ・ページ」オブジェクトを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ftbpii_IspropInherited( d2fctx *pd2fctx, d2ftbp *pd2ftbp, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ftbpsc_SubClass( d2fctx *pd2fctx, d2ftbp *pd2ftbp, d2fob *parent, boolean keep_path);

この関数は、指定の「タブ・ページ」オブジェクト（pd2ftbp）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクトへのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2ftbpis_IsSubclassed	( d2fctx *pd2fctx, d2ftbp *pd2ftbp );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2ftbpには「タブ・ページ」オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「トリガー」オブジェクトの関数

関連項目

この項では、Form Builder Open API「トリガー」オブジェクトの関数について説明します。

d2ftrgcr_Create( d2fctx *pd2fctx, d2fob *parent, d2ftrg **ppd2ftrg, text *name );

この関数は、「トリガー」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「トリガー」オブジェクトの親へのポインタ、ppd2ftrgには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2ftrgに新しいレポートを作成できると、この関数はD2FS_SUCCESSを戻します。

d2ftrgde_Destroy( d2fctx *pd2fctx, d2ftrg *pd2ftrg );

この関数は、指定の「トリガー」オブジェクトを破棄します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには破棄する「トリガー」オブジェクトへのポインタを指定します。

d2ftrgdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2trg *pd2ftrg_src, d2ftrg **ppd2ftrg_dst, text *new_name );

この関数は、指定の「トリガー」オブジェクトを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2ftrg_srcには「トリガー」オブジェクト・ソースへのポインタ、ppd2ftrg_dstにはコピー先を格納する関数用のハンドル、新しい「トリガー」オブジェクト名用のポインタ（new_name）を指定します。

この関数は、指定の「トリガー」オブジェクトを複製してそれをppd2ftrg_dstに保存できると、D2FS_SUCCESSを戻します。

d2ftrgco_CompileObj( d2fctx *pd2fctx, d2ftrg *pdftrg);

この関数は、指定の「トリガー」オブジェクトに関連するすべてのPL/SQLコードをコンパイルします。pd2fctxにはコンテキストへのポインタ、pd2ftrgにはコンパイルするオブジェクトへのポインタを指定します。

d2ftrggb_GetBoolProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, boolean *pprp );

この関数は、指定の「トリガー」オブジェクト用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクト、pnumにはプロパティ番号、pprpにはブール値を格納するポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2ftrggn_GetNumProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, number *pprp );

この関数は、指定の「トリガー」オブジェクト用のタイプ番号のプロパティ（実際のスカラー定数）を検索します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクト、pnumにはプロパティ番号、pprpには数値を格納するポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2ftrggt_GetTextProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, text **pprp );

この関数は、指定の「トリガー」オブジェクト用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクト、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定の「トリガー」オブジェクト用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2ftrggo_GetObjectProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, dvoid **pprp );

この関数は、指定の「トリガー」オブジェクトのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクト、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2ftrggp_GetBlobProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値へアクセスできる関数用のprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2ftrgsb_SetBoolProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, boolean prp );

この関数は、指定の「トリガー」オブジェクトのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクト、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ftrgsn_SetNumProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, number prp );

この関数は、指定の「トリガー」オブジェクトの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクト、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ftrgst_SetTextProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, text *prp );

この関数は、指定の「トリガー」オブジェクトのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクト、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ftrgso_SetObjectProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, dvoid *prp );

この関数は、指定の「トリガー」オブジェクト・プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクト、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2ftrgsp_SetBlobProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2ftrghp_HasProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum );

この関数は、指定のプロパティ用の指定の「トリガー」オブジェクトに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクト、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ftrgip_InheritProp( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum );

この関数は、指定の「トリガー」オブジェクトを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ftrgii_IspropInherited( d2fctx *pd2fctx, d2ftrg *pd2ftrg, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2ftrgsc_SubClass( d2fctx *pd2fctx, d2ftrg *pd2ftrg, d2fob *parent, boolean keep_path);

この関数は、指定の「トリガー」オブジェクト（pd2ftrg）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクトへのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2ftrgis_IsSubclassed	( d2fctx *pd2fctx, d2ftrg *pd2ftrg );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「トリガー」オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「可視属性」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「可視属性」オブジェクトの関数について説明します。

d2fvatcr_Create( d2fctx *pd2fctx, d2fob *parent, d2fvat **ppd2fvat, text *name );

この関数は、「可視属性」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「可視属性」オブジェクトの親へのポインタ、ppd2fvatには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2fvatに新しい「可視属性」オブジェクトを作成できると、この関数はD2FS_SUCCESSを戻します。

d2fvatde_Destroy( d2fctx *pd2fctx, d2fvat *pd2fvat );

この関数は、指定の「可視属性」オブジェクトを破棄します。pd2fctxにはコンテキストへのポインタ、pd2fvatには破棄する「可視属性」オブジェクトへのポインタを指定します。

d2fvatdu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2vat *pd2fvat_src, d2fvat **ppd2fvat_dst, text *new_name );

この関数は、指定の「可視属性」オブジェクトを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2fvat_srcには「可視属性」オブジェクト・ソースへのポインタ、ppd2fvat_dstにはコピー先を格納する関数用のハンドル、新しい「可視属性」オブジェクト名用のポインタ（new_name）を指定します。

この関数は、指定の「可視属性」オブジェクトを複製してそれをppd2fvat_dstに保存できると、D2FS_SUCCESSを戻します。

d2fvatco_CompileObj( d2fctx *pd2fctx, d2fvat *pdfvat);

この関数は、指定の「可視属性」オブジェクトに関連するすべてのPL/SQLコードをコンパイルします。pd2fctxにはコンテキストへのポインタ、pd2fvatにはコンパイルするオブジェクトへのポインタを指定します。

d2fvatgb_GetBoolProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, boolean *pprp );

この関数は、指定の「可視属性」オブジェクト用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクト、pnumにはプロパティ番号、pprpにはブール値を格納するポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fvatgn_GetNumProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, number *pprp );

この関数は、指定の「可視属性」オブジェクト用のタイプ番号のプロパティ（実際のスカラー定数）を検索します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクト、pnumにはプロパティ番号、pprpには数値を格納するポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fvatgt_GetTextProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, text **pprp );

この関数は、指定の「可視属性」オブジェクト用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクト、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定の「可視属性」オブジェクト用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fvatgo_GetObjectProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, dvoid **pprp );

この関数は、指定の「可視属性」オブジェクトのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクト、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fvatgp_GetBlobProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値へアクセスできる関数用のprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fvatsb_SetBoolProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, boolean prp );

この関数は、指定の「可視属性」オブジェクトのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクト、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fvatsn_SetNumProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, number prp );

この関数は、指定の「可視属性」オブジェクトの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクト、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fvatst_SetTextProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, text *prp );

この関数は、指定の「可視属性」オブジェクトのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクト、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fvatso_SetObjectProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, dvoid *prp );

この関数は、指定の「可視属性」オブジェクト・プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクト、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fvatsp_SetBlobProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fvathp_HasProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum );

この関数は、指定のプロパティ用の指定の「可視属性」オブジェクトに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクト、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fvatip_InheritProp( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum );

この関数は、指定の「可視属性」オブジェクトを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fvatii_IspropInherited( d2fctx *pd2fctx, d2fvat *pd2fvat, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fvatには「可視属性」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fvatsc_SubClass( d2fctx *pd2fctx, d2fvat *pd2fvat, d2fob *parent, boolean keep_path);

この関数は、指定の「可視属性」オブジェクト（pd2fvat）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「可視属性」オブジェクトへのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fvatis_IsSubclassed	( d2fctx *pd2fctx, d2fvat *pd2fvat );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2ftrgには「可視属性」オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


「ウィンドウ」オブジェクトの関数

  関連項目

この項では、Form Builder Open API「ウィンドウ」オブジェクトの関数について説明します。

d2fwincr_Create( d2fctx *pd2fctx, d2fob *parent, d2fwin **ppd2fwin, text *name );

この関数は、「ウィンドウ」オブジェクトを作成します。pd2fctxにはコンテキストへのポインタ、parentには新しい「ウィンドウ」オブジェクトの親へのポインタ、ppd2fwinには新規作成オブジェクトを格納する関数用のハンドル、nameには新しいオブジェクト名を指定します。

ppd2fwinに新しい「ウィンドウ」オブジェクトを作成できると、この関数はD2FS_SUCCESSを戻します。

d2fwinde_Destroy( d2fctx *pd2fctx, d2fwin *pd2fwin );

この関数は、指定の「ウィンドウ」オブジェクトを破棄します。pd2fctxにはコンテキストへのポインタ、pd2fwinには破棄する「ウィンドウ」オブジェクトへのポインタを指定します。

d2fwindu_Duplicate( d2fctx *pd2fctx, d2fob *new_parent, d2win *pd2fwin_src, d2fwin **ppd2fwin_dst, text *new_name );

この関数は、指定の「ウィンドウ」オブジェクトを複製します。pd2fctxにはコンテキストへのポインタ、new_parentには新しい親へのポインタ、pd2fwin_srcには「ウィンドウ」オブジェクト・ソースへのポインタ、ppd2fwin_dstにはコピー先を格納する関数用のハンドル、新しい「ウィンドウ」オブジェクト名用のポインタ（new_name）を指定します。

この関数は、指定の「ウィンドウ」オブジェクトを複製してそれをppd2fwin_dstに保存できると、D2FS_SUCCESSを戻します。

d2fwinco_CompileObj( d2fctx *pd2fctx, d2fwin *pdfwin);

この関数は、指定のウィンドウ(pd2fwin)に関連するすべてのPL/SQLコードをコンパイルします。pd2fctxにはコンテキストへのポインタ、pd2fwinにはコンパイルするオブジェクトへのポインタを指定します。

たとえば、この関数を使用して、ウィンドウにアタッチされるすべての「トリガー」オブジェクト、およびウィンドウ内の全項目にアタッチされる全ての「トリガー」オブジェクトをコンパイルできます。

d2fwingb_GetBoolProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, boolean *pprp );

この関数は、指定の「ウィンドウ」オブジェクト用のタイプ・ブール値のプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクト、pnumにはプロパティ番号、pprpにはブール値を格納するポインタを指定します。

この関数は、ブール型プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fwingn_GetNumProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, number *pprp );

この関数は、指定の「ウィンドウ」オブジェクト用のタイプ番号のプロパティ（実際のスカラー定数）を検索します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクト、pnumにはプロパティ番号、pprpには数値を格納するポインタを指定します。

この関数は、番号プロパティの値をpprpに格納すると、D2FS_SUCCESSを戻します。

d2fwingt_GetTextProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, text **pprp );

この関数は、指定の「ウィンドウ」オブジェクト用のタイプ・テキストのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクト、pnumにはプロパティ番号、テキスト・プロパティ値を格納する関数用のpprp内の文字の配列へのハンドルを指定します。

この関数は、供給された配列に、pprpの指定の「ウィンドウ」オブジェクト用のテキスト・プロパティ値のコピーを充填すると、D2FS_SUCCESSを戻します。

この関数を使用して戻したテキストを使用可能にします。

d2fwingo_GetObjectProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, dvoid **pprp );

この関数は、指定の「ウィンドウ」オブジェクトのタイプ・オブジェクトのプロパティを検索します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクト、pnumにはプロパティ番号、オブジェクト・プロパティ値を格納する関数用のpprpへのハンドルを指定します。

この関数は、適切なオブジェクト・プロパティへのハンドルをpprpに格納すると、D2FS_SUCCESSを戻します。

d2fwingp_GetBlobProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, dvoid **pprp );

この関数は、クライアント指定のハンドルから値を検索します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクトへのポインタ、pnumにはプロパティ番号、クライアント指定の値へアクセスできる関数用のprpへのハンドルを指定します。

この関数は、プロパティへのハンドルをprpに格納すると、D2FS_SUCCESSを戻します。

d2fwinsb_SetBoolProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, boolean prp );

この関数は、指定の「ウィンドウ」オブジェクトのブール型プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクト、pnumにはプロパティ番号、prpにはブール値を指定します。

この関数は、prpで指定する値を持つブール型プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fwinsn_SetNumProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, number prp );

この関数は、指定の「ウィンドウ」オブジェクトの番号プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクト、pnumにはプロパティ番号、prpには番号値を指定します。

この関数は、prpに指定する値を持つ番号プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fwinst_SetTextProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, text *prp );

この関数は、指定の「ウィンドウ」オブジェクトのテキスト・プロパティ値を設定します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクト、pnumにはプロパティ番号、prpにはテキスト値へのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のテキスト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fwinso_SetObjectProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, dvoid *prp );

この関数は、指定の「ウィンドウ」オブジェクト・プロパティのオブジェクトを設定します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクト、pnumにはプロパティ番号、prpにはオブジェクト・プロパティへのハンドルを指定します。

この関数は、prpに格納する値を持つ指定のオブジェクト・プロパティを設定すると、D2FS_SUCCESSを戻します。

d2fwinsp_SetBlobProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum, dvoid *prp );

この関数は、クライアント指定のハンドルを設定します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクトへのポインタ、pnumにはプロパティ番号、prpにはクライアント指定の値へのポインタを指定します。

この関数は、prpに格納する値を持つクライアント指定のハンドルを設定すると、D2FS_SUCCESSを戻します。

d2fwinhp_HasProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum );

この関数は、指定のプロパティ用の指定の「ウィンドウ」オブジェクトに問合せを実行します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクト、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトに指定のプロパティがあるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fwinip_InheritProp( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum );

この関数は、指定の「ウィンドウ」オブジェクトを使用可能にし、指定のプロパティを継承します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、オブジェクトが変更されて指定のプロパティを継承するかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fwinii_IspropInherited( d2fctx *pd2fctx, d2fwin *pd2fwin, ub2 pnum );

この関数は、指定のオブジェクト・プロパティが親オブジェクトからそのまま継承されることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクトへのポインタ、pnumにはプロパティ番号を指定します。

関数が成功すると、プロパティが指定のオブジェクト親から継承されるかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。

d2fwinsc_SubClass( d2fctx *pd2fctx, d2fwin *pd2fwin, d2fob *parent, boolean keep_path);

この関数は、指定の「ウィンドウ」オブジェクト（pd2fwin）が指定の親（parent）のサブクラスになる場合に、D2FS_SUCCESSを戻します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクトへのポインタ、parentには親オブジェクトへのポインタ、keep_pathには親オブジェクトへのパスを保存するブール・フラグを指定します。

Forms APIはブールkeep_path引数を使用して実際のパス情報を保存します。別のマシンに移動するとこの情報を失ってしまうことがあるので、keep_pathをTRUEに設定しないことをお薦めします。keep_pathをTRUEに設定すると、Forms APIは実際のパスを.fmbファイルに保存します。したがって、次にフォームをロードするときは、環境変数Forms 4.5または5.0パスをどのように定義するかによって、Forms APIは、環境変数が定義する指定のディレクトリのうちの1つで親フォームを検索します。

d2fwinis_IsSubclassed	( d2fctx *pd2fctx, d2fwin *pd2fwin );

この関数は、指定のオブジェクトが別のオブジェクトのサブクラスであることを検証します。pd2fctxにはコンテキストへのポインタ、pd2fwinには「ウィンドウ」オブジェクトへのポインタを指定します。

関数が成功すると、指定のオブジェクトが別のオブジェクトのサブクラスかどうかによって、D2FS_YESまたはD2FS_NOを戻します。関数に問題があると、固有の環境によって異なりますが、関数は多数の可能な戻り値を戻します。有効なOpen Forms API戻り値の全リストは、「Open API関数リターン・コードについて」を参照してください。


Open API関数のリターン・コードについて

  関連項目

この項では、さまざまなForm Builder Open API関数リターン・コードについて説明します。

D2FS_SUCCESS

このリターン・コードは、操作が成功したことを示します。

D2FS_FAIL

このリターン・コードは、操作が失敗したことを示します。

D2FS_YES

このリターン・コードは、操作が「Yes」を戻したことを示します。

D2FS_NO

このリターン・コードは、操作が「No」を戻したことを示します。

D2FS_BADARG

このリターン・コードは、不良な引数があることを示します。

D2FS_BADCONTEXT

このリターン・コードは、不良なコンテキストがあったことを示します。

D2FS_BADPROP

このリターン・コードは、指定のプロパティが不良なことを示します。

D2FS_BADTYPE

このリターン・コードは、オブジェクト・タイプが不明なことを示します。

D2FS_DONTHAVE

このリターン・コードは、オブジェクトに指定のプロパティがないことを示します。

D2FS_GENFAILED

このリターン・コードは、生成が失敗したことを示します。

D2FS_INVALIDDATA

このリターン・コードは、渡されたデータが無効なことを示します。

D2FS_INVALIDINDEX

このリターン・コードは、索引が無効なことを示します。

D2FS_NOMEMORY

このリターン・コードは、メモリー不足を示します。

D2FS_NOINSTANCEHANDLE

このリターン・コードは、NULLインスタンス・ハンドルを受信したために初期化に失敗したことを示します。

このリターン・コードはMicrosoft Windowsプラットフォームのみに適用します。

D2FS_NOMSGFILE

このリターン・コードは、指定のメッセージ・ファイルが検索されなかったことを示します。

D2FS_NOTCONNECTED

このリターン・コードは、データベースに接続されていないことを示します。

D2FS_NOTIMPLEMENTED

このリターン・コードは、操作が現在は使用可能でないことを示します。

D2FS_NOTTRANSMODE

このリターン・コードは、変換モードでは関数のコールしかできないことを示します。

D2FS_NULLCONTAINER

このリターン・コードは、操作によってオブジェクトにNULLポインタを戻したことを示します。

D2FS_NULLDATA

このリターン・コードは、関数にNULLデータを渡したことを示します。

D2FS_NULLOBJ

このリターン・コードは、操作がNULLオブジェクトを戻したことを示します。

D2FS_NULLPROPERTY

このリターン・コードは、操作がNULLプロパティを戻したことを示します。

D2FS_OBJNOTFOUND

このリターン・コードは、指定のオブジェクトが検索されなかったことを示します。

D2FS_OBJNOTUNIQUE

このリターン・コードは、作成または設定されるオブジェクトが一意でなかったために操作が失敗したことを示します。この名前のオブジェクトがすでに存在しています。

D2FS_TYPEMISMATCH

このリターン・コードは、渡したタイプが実際のオブジェクトに一致しないことを示します。

D2FS_WARN

このリターン・コードは、操作が部分的に失敗したけれども致命的なエラーではなかったことを示します。

D2FS_WRONGOBJ

このリターン・コードは、予期しないオブジェクトを設定したことを示します。

D2FS_WRONGPARENT

このリターン・コードは、予期しない親を指定したことを示します。


Open APIのオブジェクト別マクロについて

  関連項目

この項では、Form Builder Open APIのヘッダー・ファイル内に表示されるマクロについて説明します。関連するForms Open APIオブジェクトで関数を編成します。各マクロには、引数リストと短い記述があります。

オブジェクトによるAPIマクロ

警告

連結ライブラリ

ブロック

キャンバス

データ・ソース引数

データ・ソース列

エディタ

フォーム・モジュール

フォーム・パラメータ

グラフィックス

項目

値リスト別マッピング

値リスト

メニュー・オブジェクト

メニュー・モジュール

メニュー項目

メニュー・パラメータ

オブジェクト（一般オブジェクト）

オブジェクト・グループ

子オブジェクト・グループ

オブジェクト・ライブラリ

プログラム単位

プロパティ・クラス

ラジオ・ボタン

レコード・グループ

レコード・グループ列仕様部

リレーション・オブジェクト

レポート・オブジェクト

タブ・ページ

トリガー

可視属性

ウィンドウ


「警告」オブジェクトのマクロ

  関連項目

この項では、Form Builder Open API「警告」オブジェクトのマクロについて説明します。

d2faltg_alt_msg( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_ALT_MSGプロパティ値をタイプ・テキストとして戻します。

d2faltg_alt_sty( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_ALT_STYプロパティ値をタイプ番号として戻します。

d2faltg_back_color( ctx, obj, val );

このマクロは、「警告」オブジェクトの「バックグラウンド・カラー」プロパティをタイプ・テキストとして戻します。

d2faltg_btn_1_lbl( ctx, obj, val );

このマクロは、「警告」オブジェクトの「ボタン1のラベル」プロパティ値をタイプ・テキストとして戻します。

d2faltg_btn_2_lbl( ctx, obj, val );

このマクロは、「警告」オブジェクトの「ボタン2のラベル」プロパティ値をタイプ・テキストとして戻します。

d2faltg_btn_3_lbl( ctx, obj, val );

このマクロは、「警告」オブジェクトの「ボタン3のラベル」プロパティ値をタイプ・テキストとして戻します。

d2faltg_client_info( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_CLIENT_INFOプロパティ値をボイド・ポインタとして戻します。

d2faltg_comment( ctx, obj, val );

このマクロは、「警告」オブジェクトの「コメント」プロパティ値をタイプ・テキストとして戻します。

d2faltg_dflt_alt_btn( ctx, obj, val );

このマクロは、「警告」オブジェクトの「デフォルト警告ボタン」プロパティ値をタイプ番号として戻します。

d2faltg_fill_pat( ctx, obj, val );

このマクロは、「警告」オブジェクトの「塗りパターン」プロパティ値をタイプ・テキストとして戻します。

d2faltg_font_nam( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォント名」プロパティ値をタイプ・テキストとして戻します。

d2faltg_font_siz( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォント・サイズ」プロパティ値をタイプ番号として戻します。

d2faltg_font_spcing( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォント間隔」プロパティ値をタイプ番号として戻します。

d2faltg_font_sty( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォント・スタイル」プロパティ値をタイプ番号として戻します。

d2faltg_font_wght( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォントの太さ」プロパティ値をタイプ番号として戻します。

d2faltg_fore_color( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォアグラウンド・カラー」プロパティ値をタイプ・テキストとして戻します。

d2faltg_lang_dir( ctx, obj, val );

このマクロは、「警告」オブジェクトの「方向」プロパティ値をタイプ番号として戻します。

d2faltg_module( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_MODULEプロパティ値をタイプ・オブジェクトとして戻します。

d2faltg_name( ctx, obj, val );

このマクロは、「警告」オブジェクトの「名前」プロパティ値をタイプ・テキストとして戻します。

d2faltg_next( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_NEXTプロパティ値をタイプ・オブジェクトとして戻します。

d2faltg_owner( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_OWNERプロパティ値をタイプ・オブジェクトとして戻します。

d2faltg_par_flnam( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_FLNAMプロパティ値をタイプ・テキストとして戻します。

d2faltg_par_flpath( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_FLPATHプロパティ値をタイプ・テキストとして戻します。

d2faltg_par_modstr( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_MODSTRプロパティ値をタイプ番号として戻します。

d2faltg_par_modtyp( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_MODTYPEプロパティ値をタイプ番号として戻します。

d2faltg_par_module( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_MODULEプロパティ値をタイプ・テキストとして戻します。

d2faltg_par_nam( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_NAMプロパティ値をタイプ・テキストとして戻します。

d2faltg_previous( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PREVIOUSプロパティ値をタイプ・オブジェクトとして戻します。

d2faltg_source( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_SOURCEプロパティ値をタイプ・オブジェクトとして戻します。

d2faltg_title( ctx, obj, val );

このマクロは、「警告」オブジェクトの「タイトル｣プロパティ値をタイプ・テキストとして戻します。

d2faltg_vat_nam( ctx, obj, val );

このマクロは、「警告」オブジェクトの「可視属性グループ」プロパティ値をタイプ・テキストとして戻します。

d2faltg_vat_obj( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_VAT_OBJプロパティ値をタイプ・オブジェクトとして戻します。

d2faltg_white_on_black( ctx, obj, val );

このマクロは、「警告」オブジェクトの｢白黒｣プロパティ値をタイプ・ブール値として戻します。

d2falts_alt_msg( ctx, obj, val );

このマクロは、「警告」オブジェクトの「警告メッセージ」プロパティ値を設定します。

d2falts_alt_sty( ctx, obj, val );

このマクロは、「警告」オブジェクトの「警告スタイル」プロパティ値を設定します。

d2falts_back_color( ctx, obj, val );

このマクロは、「警告」オブジェクトの「バックグラウンド・カラー」プロパティ値を設定します。

d2falts_btn_1_lbl( ctx, obj, val );

このマクロは、「警告」オブジェクトの「ボタン1のラベル」プロパティ値を設定します。

d2falts_btn_2_lbl( ctx, obj, val );

このマクロは、「警告」オブジェクトの「ボタン2のラベル」プロパティ値を設定します。

d2falts_btn_3_lbl( ctx, obj, val );

このマクロは、「警告」オブジェクトの「ボタン3のラベル」プロパティ値を設定します。

d2falts_client_info( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_CLIENT_INFOプロパティ値を設定します。

d2falts_comment( ctx, obj, val );

このマクロは、「警告」オブジェクトの「コメント」プロパティ値を設定します。

d2falts_dflt_alt_btn( ctx, obj, val );

このマクロは、「警告」オブジェクトの「デフォルト警告ボタン」プロパティ値を設定します。

d2falts_fill_pat( ctx, obj, val );

このマクロは、「警告」オブジェクトの「塗りパターン」プロパティ値を設定します。

d2falts_font_nam( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォント名」プロパティ値を設定します。

d2falts_font_siz( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォント・サイズ」プロパティ値を設定します。

d2falts_font_spcing( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォント間隔」プロパティ値を設定します。

d2falts_font_sty( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォント・スタイル」プロパティ値を設定します。

d2falts_font_wght( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォントの太さ」プロパティ値を設定します。

d2falts_fore_color( ctx, obj, val );

このマクロは、「警告」オブジェクトの「フォアグラウンド・カラー」プロパティ値を設定します。

d2falts_lang_dir( ctx, obj, val );

このマクロは、「警告」オブジェクトの「方向」プロパティ値を設定します。

d2falts_module( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_MODULEプロパティ値を設定します。

d2falts_name( ctx, obj, val );

このマクロは、「警告」オブジェクトの「名前」プロパティ値を設定します。

d2falts_next( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_NEXTプロパティ値を設定します。

d2falts_owner( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_OWNERプロパティ値を設定します。

d2falts_par_flnam( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_FLNAMプロパティ値を設定します。

d2falts_par_flpath( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_FLPATHプロパティ値を設定します。

d2falts_par_modstr( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_MODSTRプロパティ値を設定します。

d2falts_par_modtyp( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_MODTYPプロパティ値を設定します。

d2falts_par_module( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_MODULEプロパティ値を設定します。

d2falts_par_nam( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PAR_NAMプロパティ値を設定します。

d2falts_previous( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_PREVIOUSプロパティ値を設定します。

d2falts_source( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_SOURCEプロパティ値を設定します。

d2falts_title( ctx, obj, val );

このマクロは、「警告」オブジェクトの「タイトル」プロパティ値を設定します。

d2falts_vat_nam( ctx, obj, val );

このマクロは、「警告」オブジェクトの「可視属性グループ」プロパティ値を設定します。

d2falts_vat_obj( ctx, obj, val );

このマクロは、「警告」オブジェクトのD2FP_VAT_OBJプロパティ値を設定します。

d2falts_white_on_black( ctx, obj, val );

このマクロは、「警告」オブジェクトの「白黒」プロパティ値を設定します。


「連結ライブラリ」オブジェクトのマクロ

  関連項目

この項では、Form Builder Open API「連結ライブラリ」オブジェクトのマクロについて説明します。

d2falbg_client_info( ctx, obj, val );

このマクロは、「連結ライブラリ」のD2FP_CLIENT_INFOプロパティ値をボイド・ポインタとして戻します。

d2falbg_comment( ctx, obj, val );

このマクロは、「連結ライブラリ」の「コメント」プロパティ値をタイプ・テキストとして戻します。

d2falbg_lib_loc( ctx, obj, val );

このマクロは、「連結ライブラリ」の「PL/SQLライブラリ位置」プロパティ値をタイプ・テキストとして戻します。

d2falbg_lib_src( ctx, obj, val );

このマクロは、「連結ライブラリ」の「PL/SQLライブラリ・ソース」プロパティ値をタイプ番号として戻します。

d2falbg_name( ctx, obj, val );

このマクロは、「連結ライブラリ」の「名前」プロパティ値をタイプ・テキストとして戻します。

d2falbg_next( ctx, obj, val );

このマクロは、「連結ライブラリ」のD2FP_NEXTプロパティ値をタイプ・オブジェクトとして戻します。

d2falbg_previous( ctx, obj, val );

このマクロは、「連結ライブラリ」のD2FP_PREVIOUSプロパティ値をタイプ・オブジェクトとして戻します。

d2falbs_client_info( ctx, obj, val );

このマクロは、「連結ライブラリ」のD2FP_CLIANT_INFOプロパティ値を設定します。

d2falbs_comment( ctx, obj, val );

このマクロは、「連結ライブラリ」の「コメント」プロパティ値を設定します。


「ブロック」オブジェクトのマクロ

  関連項目

この項では、Form Builder Open API「ブロック」オブジェクトのマクロについて説明します。

d2fblkg_back_color( ctx, obj, val );

このマクロは、「ブロック」の「バックグラウンド・カラー」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_blk_description( ctx, obj, val );

このマクロは、「ブロック」の「データ・ブロック説明」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_client_info( ctx, obj, val );

このマクロは、「ブロック」のD2FP_CLIENT_INFOプロパティ値をボイド・ポインタとして戻します。

d2fblkg_comment( ctx, obj, val );

このマクロは、「ブロック」の「コメント」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_db_blk( ctx, obj, val );

このマクロは、「ブロック」の「データベース・ブロック」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_del_allowed( ctx, obj, val );

このマクロは、「ブロック」の「削除可」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_del_dat_src_arg( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソース引数削除」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_del_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソース列削除」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_del_proc_nam( ctx, obj, val );

このマクロは、「ブロック」の「削除プロシージャ名」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_dml_ary_siz( ctx, obj, val );

このマクロは、「ブロック」の「DML配列の大きさ」プロパティ値をタイプ番号として戻します。

d2fblkg_dml_dat_nam( ctx, obj, val );

このマクロは、「ブロック」の「DMLデータ宛先名」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_dml_dat_typ( ctx, obj, val );

このマクロは、「ブロック」の「DMLデータ宛先タイプ」プロパティ値をタイプ番号として戻します。

d2fblkg_enfrc_col_security( ctx, obj, val );

このマクロは、「ブロック」の「列セキュリティの強化」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_enfrc_prmry_key( ctx, obj, val );

このマクロは、「ブロック」の｢主キーの強化」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_fill_pat( ctx, obj, val );

このマクロは、「ブロック」の「塗りパターン」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_font_nam( ctx, obj, val );

このマクロは、「ブロック」の「フォント名」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_font_siz( ctx, obj, val );

このマクロは、「ブロック」の「フォント・サイズ」プロパティ値をタイプ番号として戻します。

d2fblkg_font_spcing( ctx, obj, val );

このマクロは、「ブロック」の「フォント間隔」プロパティ値をタイプ番号として戻します。

d2fblkg_font_sty( ctx, obj, val );

このマクロは、「ブロック」の「フォント・スタイル」プロパティ値をタイプ番号として戻します。

d2fblkg_font_wght( ctx, obj, val );

このマクロは、「ブロック」の「フォントの太さ」プロパティ値をタイプ番号として戻します。

d2fblkg_fore_color( ctx, obj, val );

このマクロは、「ブロック」の「フォアグラウンド・カラー」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_ins_dat_src_arg( ctx, obj, val );

このマクロは、「ブロック」のD2FP_INS_DAT_SRC_ARGプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_ins_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」のD2FP_INS_DAT_SRC_COLプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_insrt_allowed( ctx, obj, val );

このマクロは、「ブロック」の「挿入可」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_insrt_proc_nam( ctx, obj, val );

このマクロは、「ブロック」の「挿入プロシージャ名」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_item( ctx, obj, val );

このマクロは、「ブロック」のD2FP_ITEMプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_key_mode( ctx, obj, val );

このマクロは、「ブロック」の「キー・モード」プロパティ値をタイプ番号として戻します。

d2fblkg_lang_dir( ctx, obj, val );

このマクロは、「ブロック」の「方向」プロパティ値をタイプ番号として戻します。

d2fblkg_lock_dat_src( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソースのロック」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_lock_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソース列のロック」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_lock_mode( ctx, obj, val );

このマクロは、「ブロック」の「ロック・モード」プロパティ値をタイプ番号として戻します。

d2fblkg_lock_proc_nam( ctx, obj, val );

このマクロは、「ブロック」の「ロック・プロシージャ名」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_lst_in_blk_mnu( ctx, obj, val );

このマクロは、「ブロック」の「ブロック・メニューにリスト」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_max_qry_time( ctx, obj, val );

このマクロは、「ブロック」の「最長問合せ時間」プロパティ値をタイプ番号として戻します。

d2fblkg_max_recs_fetched( ctx, obj, val );

このマクロは、「ブロック」のD2FP_MAX_RECORDS_FETCHEDプロパティ値をタイプ番号として戻します。

d2fblkg_module( ctx, obj, val );

このマクロは、「ブロック」のD2FP_MODULEプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_name( ctx, obj, val );

このマクロは、「ブロック」の「名前」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_navigation_sty( ctx, obj, val );

このマクロは、「ブロック」の「ナビゲーション形式｣プロパティ値をタイプ番号として戻します。

d2fblkg_next( ctx, obj, val );

このマクロは、「ブロック」のD2FP_NEXTプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_nxt_navigation_blk_nam( ctx, obj, val );

このマクロは、「ブロック」の「次のナビゲーション・データ・ブロック」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_nxt_navigation_blk_obj( ctx, obj, val );

このマクロは、「ブロック」の「次のナビゲーション・データ・ブロック」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_opt_hint( ctx, obj, val );

このマクロは、「ブロック」の「オプティマイザ・ヒント」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_ordr_by_clause( ctx, obj, val );

このマクロは、「ブロック」の「ORDER BY句」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_owner( ctx, obj, val );

このマクロは、「ブロック」のD2FP_OWNERプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_par_flnam( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_FLNAMプロパティ値をタイプ・テキストとして戻します。

d2fblkg_par_flpath( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_FLPATHプロパティ値をタイプ・テキストとして戻します。

d2fblkg_par_modstr( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_MODSTRプロパティ値をタイプ番号として戻します。

d2fblkg_par_modtyp( ctx, obj, val );

このマクロは、「ブロック」のD2FP_MODTYPEプロパティ値をタイプ番号として戻します。

d2fblkg_par_module( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_MODULEプロパティ値をタイプ・テキストとして戻します。

d2fblkg_par_nam( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_NAMEプロパティ値をタイプ・テキストとして戻します。

d2fblkg_precomp_summ( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PRECOMP_SUMMNOプロパティ値をタイプ・ブール値として戻します。

d2fblkg_prev_navigation_blk_nam( ctx, obj, val );

このマクロは、「ブロック」の「前のナビゲーション・データ・ブロック」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_prev_navigation_blk_obj( ctx, obj, val );

このマクロは、「ブロック」の「前のナビゲーション・データ・ブロック」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_previous( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PREVIOUSプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_qry_all_recs( ctx, obj, val );

このマクロは、「ブロック」の「全レコードの問合せ」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_qry_allowed( ctx, obj, val );

このマクロは、「ブロック」の「問合せ可」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_qry_dat_src_arg( ctx, obj, val );

このマクロは、「ブロック」の「問合せデータ・ソース名」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_qry_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」の「問合せデータ・ソース列」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_qry_dat_src_nam( ctx, obj, val );

このマクロは、「ブロック」の「問合せデータ・ソース名」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_qry_dat_src_typ( ctx, obj, val );

このマクロは、「ブロック」の「問合せデータ・ソース・タイプ」プロパティ値をタイプ番号として戻します。

d2fblkg_rec_ornt( ctx, obj, val );

このマクロは、「ブロック」の「レコード方向」プロパティ値をタイプ番号として戻します。

d2fblkg_rec_vat_grp_nam( ctx, obj, val );

このマクロは、「ブロック」の「現レコード可視属性グループ」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_rec_vat_grp_obj( ctx, obj, val );

このマクロは、「ブロック」のD2FP_REC_VAT_GRP_OBJプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_recs_buffered_count( ctx, obj, val );

このマクロは、「ブロック」の「バッファ・レコード数」プロパティ値をタイプ番号として戻します。

d2fblkg_recs_disp_count( ctx, obj, val );

このマクロは、「ブロック」の「表示レコード数」プロパティ値をタイプ番号として戻します。

d2fblkg_recs_fetched_count( ctx, obj, val );

このマクロは、「ブロック」のD2FP_RECS_FETCHED_COUNTプロパティ値をタイプ番号として戻します。

d2fblkg_rel( ctx, obj, val );

このマクロは、「ブロック」のD2FP_RELプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_rev_dir( ctx, obj, val );

このマクロは、「ブロック」の「逆転再生」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_scrlbr_cnv_nam( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー・キャンバス」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_scrlbr_cnv_obj( ctx, obj, val );

このマクロは、「ブロック」のD2FP_SCRLBR_CNV_OBJプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_scrlbr_hgt( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー高さ」プロパティ値をタイプ番号として戻します。

d2fblkg_srclbr_ornt( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー位置」プロパティ値をタイプ番号として戻します。

d2fblkg_scrlbr_tbp_nam( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー・タブ・ページ」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_scrlbr_tbp_obj( ctx, obj, val );

このマクロは、「ブロック」のD2FP_SCRLBR_TSP_OBJプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_scrlbr_wid( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー幅」プロパティ値をタイプ番号として戻します。

d2fblkg_scrlbr_x_pos( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バーX位置」プロパティ値をタイプ番号として戻します。

d2fblkg_scrlbr_y_pos( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バーY位置」プロパティ値をタイプ番号として戻します。

d2fblkg_show_scrlbr( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー表示」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_sngl_rec( ctx, obj, val );

このマクロは、「ブロック」の「単一レコード」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_source( ctx, obj, val );

このマクロは、「ブロック」のD2FP_SOURCEプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_trigger( ctx, obj, val );

このマクロは、「ブロック」のD2FP_TRIGGERプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_upd_dat_src_arg( ctx, obj, val );

このマクロは、「ブロック」の「更新データ・ソース引数」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_upd_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」の「更新データ・ソース列」プロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_updt_allowed( ctx, obj, val );

このマクロは、「ブロック」の「更新可」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_updt_changed_cols( ctx, obj, val );

このマクロは、「ブロック」の「更新変更列のみ」プロパティ値をタイプ・ブール値として戻します。

d2fblkg_updt_proc_name( ctx, obj, val );

このマクロは、「ブロック」の「更新プロシージャ名」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_vat_nam( ctx, obj, val );

このマクロは、「ブロック」の「可視属性グループ」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_vat_obj( ctx, obj, val );

このマクロは、「ブロック」のD2FP_VAT_OBJプロパティ値をタイプ・オブジェクトとして戻します。

d2fblkg_where_clause( ctx, obj, val );

このマクロは、「ブロック」の「WHERE句」プロパティ値をタイプ・テキストとして戻します。

d2fblkg_white_on_black( ctx, obj, val );

このマクロは、「ブロック」の「白黒」プロパティ値をタイプ・ブール値として戻します。

d2fblks_back_color( ctx, obj, val );

このマクロは、「ブロック」の「バックグラウンド・カラー」プロパティ値を設定します。

d2fblks_blk_description( ctx, obj, val );

このマクロは、「ブロック」の「データ・ブロック説明」プロパティ値を設定します。

d2fblks_client_info( ctx, obj, val );

このマクロは、「ブロック」のD2FP_CLIENT_INFOプロパティ値を設定します。

d2fblks_comment( ctx, obj, val );

このマクロは、「ブロック」の「コメント」プロパティ値を設定します。

d2fblks_db_blk( ctx, obj, val );

このマクロは、「ブロック」の「データベース・ブロック」プロパティ値を設定します。

d2fblks_del_allowed( ctx, obj, val );

このマクロは、「ブロック」の「削除可」プロパティ値を設定します。

d2fblks_del_dat_src_arg( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソース引数削除」プロパティ値を設定します。

d2fblks_del_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソース列削除」プロパティ値を設定します。

d2fblks_del_proc_nam( ctx, obj, val );

このマクロは、「ブロック」の「削除プロシージャ名」プロパティ値を設定します。

d2fblks_dml_ary_siz( ctx, obj, val );

このマクロは、「ブロック」の「DML配列の大きさ」プロパティ値を設定します。

d2fblks_dml_dat_nam( ctx, obj, val );

このマクロは、「ブロック」の「DMLデータ宛先名」プロパティ値を設定します。

d2fblks_dml_dat_typ( ctx, obj, val );

このマクロは、「ブロック」の「DMLデータ宛先タイプ」プロパティ値を設定します。

d2fblks_enfrc_col_security( ctx, obj, val );

このマクロは、「ブロック」の「列セキュリティの強化」プロパティ値を設定します。

d2fblks_enfrc_prmry_key( ctx, obj, val );

このマクロは、「ブロック」の「主キーの強化」プロパティ値を設定します。

d2fblks_fill_pat( ctx, obj, val );

このマクロは、「ブロック」の「塗りパターン」プロパティ値を設定します。

d2fblks_font_nam( ctx, obj, val );

このマクロは、「ブロック」の「フォント名」プロパティ値を設定します。

d2fblks_font_siz( ctx, obj, val );

このマクロは、「ブロック」の「フォント・サイズ」プロパティ値を設定します。

d2fblks_font_spcing( ctx, obj, val );

このマクロは、「ブロック」の「フォント間隔」プロパティ値を設定します。

d2fblks_font_sty( ctx, obj, val );

このマクロは、「ブロック」の「フォント・サイズ」プロパティ値を設定します。

d2fblks_font_wght( ctx, obj, val );

このマクロは、「ブロック」の「フォントの太さ」プロパティ値を設定します。

d2fblks_fore_color( ctx, obj, val );

このマクロは、「ブロック」の「フォアグラウンド・カラー」プロパティ値を設定します。

d2fblks_ins_dat_src_arg( ctx, obj, val );

このマクロは、「ブロック」のD2FP_INS_DAT_SRC_ARGプロパティ値を設定します。

d2fblks_ins_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」のD2FP_INS_DAT_SRC_COLプロパティ値を設定します。

d2fblks_insrt_allowed( ctx, obj, val );

このマクロは、「ブロック」の「挿入可｣プロパティ値を設定します。

d2fblks_insrt_proc_nam( ctx, obj, val );

このマクロは、「ブロック」の「挿入プロシージャ名」プロパティ値を設定します。

d2fblks_item( ctx, obj, val );

このマクロは、「ブロック」のD2FP_ITEMプロパティ値を設定します。

d2fblks_key_mode( ctx, obj, val );

このマクロは、「ブロック」の「キー・モード」プロパティ値を設定します。

d2fblks_lang_dir( ctx, obj, val );

このマクロは、「ブロック」の「方向」プロパティ値を設定します。

d2fblks_lock_dat_src( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソースのロック」プロパティ値を設定します。

d2fblks_lock_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソース列のロック」プロパティ値を設定します。

d2fblks_lock_mode( ctx, obj, val );

このマクロは、「ブロック」の「ロック・モード」プロパティ値を設定します。

d2fblks_lock_proc_nam( ctx, obj, val );

このマクロは、「ブロック」の「ロック・プロシージャ名」プロパティ値を設定します。

d2fblks_lst_in_blk_mnu( ctx, obj, val );

このマクロは、「ブロック」の「ブロック・メニューのリスト」プロパティ値を設定します。

d2fblks_max_qry_time( ctx, obj, val );

このマクロは、「ブロック」の「最長問合せ時間」プロパティ値を設定します。

d2fblks_max_recs_fetched( ctx, obj, val );

このマクロは、「ブロック」の「フェッチ･レコードの最大数」プロパティ値を設定します。

d2fblks_module( ctx, obj, val );

このマクロは、「ブロック」のD2FP_MODULEプロパティ値を設定します。

d2fblks_name( ctx, obj, val );

このマクロは、「ブロック」の「名前」プロパティ値を設定します。

d2fblks_navigation_sty( ctx, obj, val );

このマクロは、「ブロック」の「ナビゲーション・スタイル」プロパティ値を設定します。

d2fblks_next( ctx, obj, val );

このマクロは、「ブロック」のD2FP_NEXTプロパティ値を設定します。

d2fblks_nxt_navigation_blk_nam( ctx, obj, val );

このマクロは、「ブロック」の「次のナビゲーション・データ・ブロック」プロパティ値を設定します。

d2fblks_nxt_navigation_blk_obj( ctx, obj, val );

このマクロは、「ブロック」の「次のナビゲーション・データ・ブロック」プロパティ値を設定します。

d2fblks_opt_hint( ctx, obj, val );

このマクロは、「ブロック」の「オプティマイザ・ヒント」プロパティ値を設定します。

d2fblks_ordr_by_clause( ctx, obj, val );

このマクロは、「ブロック」の「ORDER BY句」プロパティ値を設定します。

d2fblks_owner( ctx, obj, val );

このマクロは、「ブロック」のD2FP_OWNERプロパティ値を設定します。

d2fblks_par_flnam( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_FLNAMプロパティ値を設定します。

d2fblks_par_flpath( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_FLPATHプロパティ値を設定します。

d2fblks_par_modstr( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_MODSTRプロパティ値を設定します。

d2fblks_par_modtyp( ctx, obj, val );

このマクロは、「ブロック」のD2FP_MODTYPEプロパティ値を設定します。

d2fblks_par_module( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_MODULEプロパティ値を設定します。

d2fblks_par_nam( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PAR_NAMEプロパティ値を設定します。

d2fblks_precomp_summ( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PRECOMP_SUMMNOプロパティ値を設定します。

d2fblks_prev_navigation_blk_nam( ctx, obj, val );

このマクロは、「ブロック」の「前のナビゲーション・・データ・ブロック」プロパティ値を設定します。

d2fblks_prev_navigation_blk_obj( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PREV_NAVIGATION_BLK_OBJプロパティ値を設定します。

d2fblks_previous( ctx, obj, val );

このマクロは、「ブロック」のD2FP_PREVIOUSプロパティ値を設定します。

d2fblks_qry_all_recs( ctx, obj, val );

このマクロは、「ブロック」の「全レコードの問合せ」プロパティ値を設定します。

d2fblks_qry_allowed( ctx, obj, val );

このマクロは、「ブロック」の「問合せ可」プロパティ値を設定します。

d2fblks_qry_dat_src_arg( ctx, obj, val );

このマクロは、「ブロック」の「問合せデータ・ソース名」プロパティ値を設定します。

d2fblks_qry_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」の「問合せデータ・ソース列」プロパティ値を設定します。

d2fblks_qry_dat_src_nam( ctx, obj, val );

このマクロは、「ブロック」の「問合せデータ・ソース名」プロパティ値を設定します。

d2fblks_qry_dat_src_typ( ctx, obj, val );

このマクロは、「ブロック」の「問合せデータ・ソース・タイプ」プロパティ値を設定します。

d2fblks_rec_ornt( ctx, obj, val );

このマクロは、「ブロック」の「レコード位置」プロパティ値を設定します。

d2fblks_rec_vat_grp_nam( ctx, obj, val );

このマクロは、「ブロック」の「現レコード可視属性グループ」プロパティ値を設定します。

d2fblks_rec_vat_grp_obj( ctx, obj, val );

このマクロは、「ブロック」のD2FP_REC_VAT_GRP_OBJプロパティ値を設定します。

d2fblks_recs_buffered_count( ctx, obj, val );

このマクロは、「ブロック」の「バッファ・レコードの数」プロパティ値を設定します。

d2fblks_recs_disp_count( ctx, obj, val );

このマクロは、「ブロック」の「表示レコード数」プロパティ値を設定します。

d2fblks_recs_fetched_count( ctx, obj, val );

このマクロは、「ブロック」のD2FP_RECS_FETCHED_COUNTプロパティ値を設定します。

d2fblks_rel( ctx, obj, val );

このマクロは、「ブロック」のD2FP_RELプロパティ値を設定します。

d2fblks_rev_dir( ctx, obj, val );

このマクロは、「ブロック」の「逆転再生方向」プロパティ値を設定します。

d2fblks_scrlbr_cnv_nam( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー・キャンバス」プロパティ値を設定します。

d2fblks_scrlbr_cnv_obj( ctx, obj, val );

このマクロは、「ブロック」のD2FP_SCRLBR_CNV_OBJプロパティ値を設定します。

d2fblks_scrlbr_hgt( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー高さ」プロパティ値を設定します。

d2fblks_srclbr_ornt( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー位置」プロパティ値を設定します。

d2fblks_scrlbr_tbp_nam( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー・タブ・ページ」プロパティ値を設定します。

d2fblks_scrlbr_tbp_obj( ctx, obj, val );

このマクロは、「ブロック」のD2FP_SCRLBR_TSP_OBJプロパティ値を設定します。

d2fblks_scrlbr_wid( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー幅」プロパティ値を設定します。

d2fblks_scrlbr_x_pos( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バーX位置」プロパティ値を設定します。

d2fblks_scrlbr_y_pos( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バーY位置」プロパティ値を設定します。

d2fblks_show_scrlbr( ctx, obj, val );

このマクロは、「ブロック」の「スクロール・バー表示」プロパティ値を設定します。

d2fblks_sngl_rec( ctx, obj, val );

このマクロは、「ブロック」の「単一レコード｣プロパティ値を設定します。

d2fblks_source( ctx, obj, val );

このマクロは、「ブロック」のD2FP_SOURCEプロパティ値を設定します。

d2fblks_trigger( ctx, obj, val );

このマクロは、「ブロック」のD2FP_TRIGGERプロパティ値を設定します。

d2fblks_upd_dat_src_arg( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソース引数更新」プロパティ値を設定します。

d2fblks_upd_dat_src_col( ctx, obj, val );

このマクロは、「ブロック」の「データ・ソース列更新」プロパティ値を設定します。

d2fblks_updt_allowed( ctx, obj, val );

このマクロは、「ブロック」の「更新可」プロパティ値を設定します。

d2fblks_updt_changed_cols( ctx, obj, val );

このマクロは、「ブロック」の「更新変更列のみ」プロパティ値を設定します。

d2fblks_updt_proc_name( ctx, obj, val );

このマクロは、「ブロック」の「更新プロシージャ名」プロパティ値を設定します。

d2fblks_vat_nam( ctx, obj, val );

このマクロは、「ブロック」の「可視属性グループ」プロパティ値を設定します。

d2fblks_vat_obj( ctx, obj, val );

このマクロは、「ブロック」のD2FP_VAT_OBJプロパティ値を設定します。

d2fblks_where_clause( ctx, obj, val );

このマクロは、「ブロック」の「WHERE句」プロパティ値を設定します。

d2fblks_white_on_black( ctx, obj, val );

このマクロは、「ブロック」の「白黒」プロパティ値を設定します。


「キャンバス」オブジェクトのマクロ

関連項目

この項では、Form Builder Open API「キャンバス」オブジェクトのマクロについて説明します。

d2fcnvg_back_color( ctx, obj, val );

このマクロは、「キャンバス」の「バックグラウンド・カラー」プロパティをタイプ・テキストとして戻します。

d2fcnvg_bevel( ctx, obj, val );

このマクロは、「キャンバス」の「凸凹」プロパティをタイプ番号として戻します。

d2fcnvg_client_info( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_CLIENT_INFOプロパティをボイド・ポインタとして戻します。

d2fcnvg_cnv_typ( ctx, obj, val );

このマクロは、「キャンバス」の「キャンバス・タイプ」プロパティをタイプ番号として戻します。

d2fcnvg_comment( ctx, obj, val );

このマクロは、「キャンバス」の「コメント」プロパティをタイプ・テキストとして戻します。

d2fcnvg_fill_pat( ctx, obj, val );

このマクロは、「キャンバス」の「塗りパターン」プロパティをタイプ・テキストとして戻します。

d2fcnvg_font_nam( ctx, obj, val );

このマクロは、「キャンバス」の「フォント名」プロパティをタイプ・テキストとして戻します。

d2fcnvg_font_siz( ctx, obj, val );

このマクロは、「キャンバス」の「フォント・サイズ」プロパティをタイプ番号として戻します。

d2fcnvg_font_spcing( ctx, obj, val );

このマクロは、「キャンバス」の「フォント間隔」プロパティをタイプ番号として戻します。

d2fcnvg_font_sty( ctx, obj, val );

このマクロは、「キャンバス」の「フォント・スタイル」プロパティをタイプ番号として戻します。

d2fcnvg_font_wght( ctx, obj, val );

このマクロは、「キャンバス」の「フォントの太さ」プロパティをタイプ番号として戻します。

d2fcnvg_fore_color( ctx, obj, val );

このマクロは、「キャンバス」の「フォアグラウンド・カラー」プロパティをタイプ・テキストとして戻します。

d2fcnvg_graphic( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_GRAPHICプロパティをタイプ・オブジェクトとして戻します。

d2fcnvg_height( ctx, obj, val );

このマクロは、「キャンバス」の「幅」プロパティをタイプ番号として戻します。

d2fcnvg_lang_dir( ctx, obj, val );

このマクロは、「キャンバス」の「方向」プロパティをタイプ番号として戻します。

d2fcnvg_module( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_MODULEプロパティをタイプ・オブジェクトとして戻します。

d2fcnvg_name( ctx, obj, val );

このマクロは、「キャンバス」の「名前」プロパティをタイプ・テキストとして戻します。

d2fcnvg_next( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_NEXTプロパティをタイプ・オブジェクトとして戻します。

d2fcnvg_owner( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_OWNERプロパティをタイプ・オブジェクトとして戻します。

d2fcnvg_par_flnam( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_FLNAMプロパティをタイプ・テキストとして戻します。

d2fcnvg_par_flpath( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_FLPATHプロパティをタイプ・テキストとして戻します。

d2fcnvg_par_modstr( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_MODSTRプロパティをタイプ番号として戻します。

d2fcnvg_par_modtyp( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_MODTYPEプロパティをタイプ番号として戻します。

d2fcnvg_par_module( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_MODULEプロパティをタイプ・テキストとして戻します。

d2fcnvg_par_nam( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_NAMEプロパティをタイプ・テキストとして戻します。

d2fcnvg_popup_mnu_nam( ctx, obj, val );

このマクロは、「キャンバス」の｢ポップアップ・メニュー」プロパティをタイプ・テキストとして戻します。

d2fcnvg_popup_mnu_obj( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_POPUP_MNU_OBJプロパティをタイプ・テキストとして戻します。

d2fcnvg_previous( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PREVIOUSプロパティをタイプ・オブジェクトとして戻します。

d2fcnvg_raise_on_ent( ctx, obj, val );

このマクロは、「キャンバス」の「エントリーでレイズ」プロパティをタイプ・ブール値として戻します。

d2fcnvg_show_horz_scrlbr( ctx, obj, val );

このマクロは、「キャンバス」の「水平スクロール・バー表示」プロパティをタイプ・ブール値として戻します。

d2fcnvg_show_vert_scrlbr( ctx, obj, val );

このマクロは、「キャンバス」の「垂直スクロール・バー表示」プロパティをタイプ・ブール値として戻します。

d2fcnvg_source( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_SOURCEプロパティをタイプ・オブジェクトとして戻します。

d2fcnvg_tab_att_edge( ctx, obj, val );

このマクロは、「キャンバス」の「タブ連結枠」プロパティをタイプ番号として戻します。

d2fcnvg_tab_page( ctx, obj, val );

このマクロは、「キャンバス」の「タブ・ページ」プロパティをタイプ・オブジェクトとして戻します。

d2fcnvg_tab_style( ctx, obj, val );

このマクロは、「キャンバス」の「タブ・スタイル」プロパティをタイプ番号として戻します。

d2fcnvg_vat_nam( ctx, obj, val );

このマクロは、「キャンバス」の「可視属性グループ」プロパティをタイプ・テキストとして戻します。

d2fcnvg_vat_obj( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_VAT_OBJプロパティをタイプ・オブジェクトとして戻します。

d2fcnvg_visible( ctx, obj, val );

このマクロは、「キャンバス」の「可視」プロパティをタイプ・ブール値として戻します。

d2fcnvg_vprt_hgt( ctx, obj, val );

このマクロは、「キャンバス」の「ビューポイントの高さ」プロパティをタイプ番号として戻します。

d2fcnvg_vprt_wid( ctx, obj, val );

このマクロは、「キャンバス」の「ビューポイントの幅」プロパティをタイプ番号として戻します。

d2fcnvg_vprt_x_pos( ctx, obj, val );

このマクロは、「キャンバス」の「ビューポイントのX位置」プロパティをタイプ番号として戻します。

d2fcnvg_vprt_x_pos_on_cnv( ctx, obj, val );

このマクロは、「キャンバス」の「キャンバス上ビューポイントX位置」プロパティをタイプ番号として戻します。

d2fcnvg_vprt_y_pos( ctx, obj, val );

このマクロは、「キャンバス」の「ビューポイントのY位置」プロパティをタイプ番号として戻します。

d2fcnvg_vprt_y_pos_on_cnv( ctx, obj, val );

このマクロは、「キャンバス」の「キャンバス上ビューポイントY位置」プロパティをタイプ番号として戻します。

d2fcnvg_white_on_black( ctx, obj, val );

このマクロは、「キャンバス」の「白黒」プロパティをタイプ・ブール値として戻します。

d2fcnvg_width( ctx, obj, val );

このマクロは、「キャンバス」の「幅」プロパティをタイプ番号として戻します。

d2fcnvg_wnd_nam( ctx, obj, val );

このマクロは、「キャンバス」の「ウィンドウ」プロパティをタイプ・テキストとして戻します。

d2fcnvg_wnd_obj( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_WND_OBJプロパティをタイプ・オブジェクトとして戻します。

d2fcnvs_back_color( ctx, obj, val );

このマクロは、「キャンバス」の「バックグラウンド・カラー」プロパティ値を設定します。

d2fcnvs_bevel( ctx, obj, val );

このマクロは、「キャンバス」の「凸凹」プロパティ値を設定します。

d2fcnvs_client_info( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_CLIENT_INFOプロパティ値を設定します。

d2fcnvs_cnv_typ( ctx, obj, val );

このマクロは、「キャンバス」の「キャンバス・タイプ」プロパティ値を設定します。

d2fcnvs_comment( ctx, obj, val );

このマクロは、「キャンバス」の「コメント」プロパティ値を設定します。

d2fcnvs_fill_pat( ctx, obj, val );

このマクロは、「キャンバス」の「塗りパターン」プロパティ値を設定します。

d2fcnvs_font_nam( ctx, obj, val );

このマクロは、「キャンバス」の「フォント名」プロパティ値を設定します。

d2fcnvs_font_siz( ctx, obj, val );

このマクロは、「キャンバス」の「フォント・サイズ」プロパティ値を設定します。

d2fcnvs_font_spcing( ctx, obj, val );

このマクロは、「キャンバス」の「フォント間隔」プロパティ値を設定します。

d2fcnvs_font_sty( ctx, obj, val );

このマクロは、「キャンバス」の「フォント・スタイル」プロパティ値を設定します。

d2fcnvs_font_wght( ctx, obj, val );

このマクロは、「キャンバス」の「フォントの太さ」プロパティ値を設定します。

d2fcnvs_fore_color( ctx, obj, val );

このマクロは、「キャンバス」の「フォアグラウンド・カラー」プロパティ値を設定します。

d2fcnvs_graphic( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_GRAPHICプロパティ値を設定します。

d2fcnvs_height( ctx, obj, val );

このマクロは、「キャンバス」の「幅」プロパティ値を設定します。

d2fcnvs_lang_dir( ctx, obj, val );

このマクロは、「キャンバス」の「方向」プロパティ値を設定します。

d2fcnvs_module( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_MODULEプロパティ値を設定します。

d2fcnvs_name( ctx, obj, val );

このマクロは、「キャンバス」の「名前」プロパティ値を設定します。

d2fcnvs_next( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_NEXTプロパティ値を設定します。

d2fcnvs_owner( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_OWNERプロパティ値を設定します。

d2fcnvs_par_flnam( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_FLNAMプロパティ値を設定します。

d2fcnvs_par_flpath( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_FLPATHプロパティ値を設定します。

d2fcnvs_par_modstr( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_MODSTRプロパティ値を設定します。

d2fcnvs_par_modtyp( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_MODTYPEプロパティ値を設定します。

d2fcnvs_par_module( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_MODULEプロパティ値を設定します。

d2fcnvs_par_nam( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PAR_NAMEプロパティ値を設定します。

d2fcnvs_popup_mnu_nam( ctx, obj, val );

このマクロは、「キャンバス」の「ポップアップ・メニュー」プロパティ値を設定します。

d2fcnvs_popup_mnu_obj( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_POPUP_MNU_OBJプロパティ値を設定します。

d2fcnvs_previous( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_PREVIOUSプロパティ値を設定します。

d2fcnvs_raise_on_ent( ctx, obj, val );

このマクロは、「キャンバス」の「エントリでレイズ」プロパティ値を設定します。

d2fcnvs_show_horz_scrlbr( ctx, obj, val );

このマクロは、「キャンバス」の「水平スクロール･バーの表示」プロパティ値を設定します。

d2fcnvs_show_vert_scrlbr( ctx, obj, val );

このマクロは、「キャンバス」の「垂直スクロール・バーの表示」プロパティ値を設定します。

d2fcnvs_source( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_SOURCEプロパティ値を設定します。

d2fcnvs_tab_att_edge( ctx, obj, val );

このマクロは、「キャンバス」の「タブ接続境界線」プロパティ値を設定します。

d2fcnvs_tab_page( ctx, obj, val );

このマクロは、「キャンバス」の「タブ･ページ」プロパティ値を設定します。

d2fcnvs_tab_style( ctx, obj, val );

このマクロは、「キャンバス」の「タブ・スタイル」プロパティ値を設定します。

d2fcnvs_vat_nam( ctx, obj, val );

このマクロは、「キャンバス」の「可視属性グループ」プロパティ値を設定します。

d2fcnvs_vat_obj( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_VAT_OBJプロパティ値を設定します。

d2fcnvs_visible( ctx, obj, val );

このマクロは、「キャンバス」の「参照可能」プロパティ値を設定します。

d2fcnvs_vprt_hgt( ctx, obj, val );

このマクロは、「キャンバス」の「ビューポートの高さ」プロパティ値を設定します。

d2fcnvs_vprt_wid( ctx, obj, val );

このマクロは、「キャンバス」の「ビューポートの幅」プロパティ値を設定します。

d2fcnvs_vprt_x_pos( ctx, obj, val );

このマクロは、「キャンバス」の「ビューポートのX位置」プロパティ値を設定します。

d2fcnvs_vprt_x_pos_on_cnv( ctx, obj, val );

このマクロは、「キャンバス」の「キャンバス上のビューポートX位置」プロパティ値を設定します。

d2fcnvs_vprt_y_pos( ctx, obj, val );

このマクロは、「キャンバス」の「ビューポートのY位置」プロパティ値を設定します。

d2fcnvs_vprt_y_pos_on_cnv( ctx, obj, val );

このマクロは、「キャンバス」の「キャンバス上のビューポートY位置」プロパティ値を設定します。

d2fcnvs_white_on_black( ctx, obj, val );

このマクロは、「キャンバス」の「白黒」プロパティ値を設定します。

d2fcnvs_width( ctx, obj, val );

このマクロは、「キャンバス」の「幅」プロパティ値を設定します。

d2fcnvs_wnd_nam( ctx, obj, val );

このマクロは、「キャンバス」の「ウィンドウ」プロパティ値を設定します。

d2fcnvs_wnd_obj( ctx, obj, val );

このマクロは、「キャンバス」のD2FP_WND_OBJプロパティ値を設定します。


「データ・ソース引数」オブジェクトのマクロ

  関連項目

この項では、Form Builder Open API「データ・ソース引数」オブジェクトのマクロについて説明します。

d2fdsag_client_info( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_CLIENT_INFOプロパティ値をDVOIDポインタとして戻します。

d2fdsag_dsa_mode( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_MODEプロパティ値を数値型数値型として戻します。

d2fdsag_dsa_nam( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_NAMプロパティ値をテキスト型として戻します。

d2fdsag_dsa_typ( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_TYPプロパティ値を数値型数値型として戻します。

d2fdsag_dsa_typ_nam( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_TYP_NAMプロパティ値をテキスト型として戻します。

d2fdsag_dsa_val( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_VALプロパティ値をテキスト型として戻します。

d2fdsag_next( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_NEXTプロパティ値をオブジェクト型として戻します。

d2fdsag_previous( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_PREVIOUSプロパティ値をオブジェクト型として戻します。

d2fdsas_client_info( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_CLIENT_INFOプロパティ値を設定します。

d2fdsas_dsa_mode( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_MODEプロパティ値を設定します。

d2fdsas_dsa_nam( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_NAMプロパティ値を設定します。

d2fdsas_dsa_typ( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_TYPプロパティ値を設定します。

d2fdsas_dsa_typ_nam( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_TYP_NAMプロパティ値を設定します。

d2fdsas_dsa_val( ctx, obj, val );

このマクロは、「データ・ソース引数」オブジェクトのD2FP_DSA_VALプロパティ値を設定します。


「データ・ソース列」オブジェクトのマクロ

  関連項目

この項では、Form Builder Open API「データ・ソース列」オブジェクトのマクロについて説明します。

d2fdscg_client_info( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_CLIENT_INFOプロパティ値をDVOIDポインタとして戻します。

d2fdscg_dsc_len( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_LENプロパティ値を数値型数値型として戻します。

d2fdscg_dsc_mandatory( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_MANDATORYプロパティ値をブール型として戻します。

d2fdscg_dsc_nam( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_NAMプロパティ値をテキスト型として戻します。

d2fdscg_dsc_precision( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_PRECISIONプロパティ値を数値型数値型として戻します。

d2fdscg_dsc_scale( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_SCALEプロパティ値を数値型数値型として戻します。

d2fdscg_dsc_typ( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_TYPプロパティ値を数値型数値型として戻します。

d2fdscg_next( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_NEXTプロパティ値をオブジェクト型として戻します。

d2fdscg_previous( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_PREVIOUSプロパティ値をオブジェクト型として戻します。

d2fdscs_client_info( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_CLIENT_INFOプロパティ値を設定します。

d2fdscs_dsc_len( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_LENプロパティ値を設定します。

d2fdscs_dsc_mandatory( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_MANDATORYプロパティ値を設定します。

d2fdscs_dsc_nam( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_NAMプロパティ値を設定します。

d2fdscs_dsc_precision( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_PRECISIONプロパティ値を設定します。

d2fdscs_dsc_scale( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_SCALEプロパティ値を設定します。

d2fdscs_dsc_typ( ctx, obj, val );

このマクロは、「データ・ソース列」オブジェクトのD2FP_DSC_TYPプロパティ値を設定します。


「エディタ」オブジェクトのマクロ

  関連項目

この項では、Form Builder Open API「エディタ」オブジェクトのマクロについて説明します。

d2fedtg_back_color( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「バックグラウンド・カラー」プロパティ値をテキスト型として戻します。

d2fedtg_btm_ttl( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「最下部タイトル」プロパティ値をテキスト型として戻します。

d2fedtg_client_info( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_CLIENT_INFOプロパティ値をDVOIDポインタとして戻します。

d2fedtg_comment( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「コメント」プロパティ値をテキスト型として戻します。

d2fedtg_fill_pat( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「塗りパターン」プロパティ値をテキスト型として戻します。

d2fedtg_font_nam( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォント名」プロパティ値をテキスト型として戻します。

d2fedtg_font_siz( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォント・サイズ」プロパティ値を数値型数値型として戻します。

d2fedtg_font_spcing( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォント間隔」プロパティ値を数値型数値型として戻します。

d2fedtg_font_sty( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォント・スタイル」プロパティ値を数値型数値型として戻します。

d2fedtg_font_wght( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォントの太さ」プロパティ値を数値型数値型として戻します。

d2fedtg_fore_color( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォアグラウンド・カラー」プロパティ値をテキスト型として戻します。

d2fedtg_height( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「高さ」プロパティ値を数値型数値型として戻します。

d2fedtg_module( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_MODULEプロパティ値をオブジェクト型として戻します。

d2fedtg_name( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「名前」プロパティ値をテキスト型として戻します。

d2fedtg_next( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_NEXTプロパティ値をオブジェクト型として戻します。

d2fedtg_owner( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_OWNERプロパティ値をオブジェクト型として戻します。

d2fedtg_par_flnam( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_FLNAMプロパティ値をテキスト型として戻します。

d2fedtg_par_flpath( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_FLPATHプロパティ値をテキスト型として戻します。

d2fedtg_par_modstr( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_MODSTRプロパティ値を数値型数値型として戻します。

d2fedtg_par_modtyp( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_MODTYPプロパティ値を数値型数値型として戻します。

d2fedtg_par_module( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_MODULEプロパティ値をテキスト型として戻します。

d2fedtg_par_nam( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_NAMプロパティ値をテキスト型として戻します。

d2fedtg_previous( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PREVIOUSプロパティ値をオブジェクト型として戻します。

d2fedtg_show_horz_scrlbr( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「水平スクロール・バーを表示」プロパティ値をブール型として戻します。

d2fedtg_show_vert_scrlbr( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「垂直スクロール・バーを表示」プロパティ値をブール型として戻します。

d2fedtg_source( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_SOURCEプロパティ値をオブジェクト型として戻します。

d2fedtg_title( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「タイトル」プロパティ値をテキスト型として戻します。

d2fedtg_vat_nam( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「可視属性グループ」プロパティ値をテキスト型として戻します。

d2fedtg_vat_obj( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_VAT_OBJプロパティ値をオブジェクト型として戻します。

d2fedtg_white_on_black( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「白黒」プロパティ値をブール型として戻します。

d2fedtg_width( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「幅」プロパティ値を数値型数値型として戻します。

d2fedtg_wrap_sty( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「折返しスタイル」プロパティ値を数値型数値型として戻します。

d2fedtg_x_pos( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「X位置/Y位置」プロパティ値を数値型数値型として戻します。

d2fedtg_y_pos( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「X位置/Y位置」プロパティ値を数値型数値型として戻します。

d2fedts_back_color( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「バックグラウンド・カラー」プロパティ値を設定します。

d2fedts_btm_ttl( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「最下部タイトル」プロパティ値を設定します。

d2fedts_client_info( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_CLIENT_INFOプロパティ値を設定します。

d2fedts_comment( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「コメント」プロパティ値を設定します。

d2fedts_fill_pat( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「塗りパターン」プロパティ値を設定します。

d2fedts_font_nam( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォント名」プロパティ値を設定します。

d2fedts_font_siz( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォント・サイズ」プロパティ値を設定します。

d2fedts_font_spcing( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォント間隔」プロパティ値を設定します。

d2fedts_font_sty( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォント・スタイル」プロパティ値を設定します。

d2fedts_font_wght( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォントの太さ」プロパティ値を設定します。

d2fedts_fore_color( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「フォアグラウンド・カラー」プロパティ値を設定します。

d2fedts_height( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「高さ」プロパティ値を設定します。

d2fedts_module( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_MODULEプロパティ値を設定します。

d2fedts_name( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「名前」プロパティ値を設定します。

d2fedts_next( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_NEXTプロパティ値を設定します。

d2fedts_owner( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_OWNERプロパティ値を設定します。

d2fedts_par_flnam( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_FLNAMプロパティ値を設定します。

d2fedts_par_flpath( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_FLPATHプロパティ値を設定します。

d2fedts_par_modstr( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_MODSTRプロパティ値を設定します。

d2fedts_par_modtyp( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_MODTYPプロパティ値を設定します。

d2fedts_module( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_MODULEプロパティ値を設定します。

d2fedts_par_nam( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PAR_NAMプロパティ値を設定します。

d2fedts_previous( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_PREVIOUSプロパティ値を設定します。

d2fedts_show_horz_scrlbr( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「水平スクロール・バーを表示」プロパティ値を設定します。

d2fedts_show_vert_scrlbr( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「垂直スクロール・バーを表示」プロパティ値を設定します。

d2fedts_source( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_SOURCEプロパティ値を設定します。

d2fedts_title( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「タイトル」プロパティ値を設定します。

d2fedts_vat_nam( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「可視属性グループ」プロパティ値を設定します。

d2fedts_vat_obj( ctx, obj, val );

このマクロは、「エディタ」オブジェクトのD2FP_VAT_OBJプロパティ値を設定します。

d2fedts_white_on_black( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「白黒」プロパティ値を設定します。

d2fedts_width( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「幅」プロパティ値を設定します。

d2fedts_wrap_sty( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「折返しスタイル」プロパティ値を設定します。

d2fedts_x_pos( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「X位置/Y位置」プロパティ値を設定します。

d2fedts_y_pos( ctx, obj, val );

このマクロは、「エディタ」オブジェクトの「X位置/Y位置」プロパティ値を設定します。


「フォーム・モジュール」オブジェクトのマクロ

  関連項目

この項では、Form Builder Open API「フォーム・モジュール」オブジェクトのマクロについて説明します。

d2ffmdg_alert( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_ALERTプロパティ値をオブジェクト型として戻します。

d2ffmdg_att_lib( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_ATT_LIBプロパティ値をオブジェクト型として戻します。

d2ffmdg_block( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_BLOCKプロパティ値をオブジェクト型として戻します。

d2ffmdg_canvas( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_CANVASプロパティ値をオブジェクト型として戻します。

d2ffmdg_client_info( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_CLIENT_INFOプロパティ値をDVOIDポインタとして戻します。

d2ffmdg_comment( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「コメント」プロパティ値をテキスト型として戻します。

d2ffmdg_console_win( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「コンソール・ウィンドウ」プロパティ値をテキスト型として戻します。

d2ffmdg_crsr_mode( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「カーソル・モード」プロパティ値を数値型数値型として戻します。

d2ffmdg_defer_req_enf( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_DEFER_REQ_ENFプロパティ値をブール型として戻します。

d2ffmdg_editor( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「エディタ」プロパティ値をオブジェクト型として戻します。

d2ffmdg_form_param( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_FORM_PARAMプロパティ値をオブジェクト型として戻します。

d2ffmdg_frst_navigation_blk_nam( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「最初のナビゲーション・ブロック」プロパティ値をテキスト型として戻します。

d2ffmdg_frst_navigation_blk_obj( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_FRST_NAVIGATION_BLK_OBJプロパティ値をオブジェクト型として戻します。

d2ffmdg_horz_tlbr_cnv( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「水平ツール・バー・キャンバス」プロパティ値をテキスト型として戻します。

d2ffmdg_inhrt_sty( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_INHRT_STYプロパティ値を数値型数値型として戻します。

d2ffmdg_init_mnu( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「初期メニュー」プロパティ値をテキスト型として戻します。

d2ffmdg_interaction_mode( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「相互作用モード」プロパティ値を数値型数値型として戻します。

d2ffmdg_isolation_mode( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「孤立モード」プロパティ値を数値型数値型として戻します。

d2ffmdg_lang_dir( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「方向」プロパティ値を数値型数値型として戻します。

d2ffmdg_lov( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「値リスト」プロパティ値をオブジェクト型として戻します。

d2ffmdg_max_qry_time( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「最長問合せ時間」プロパティ値を数値型として戻します。

d2ffmdg_max_recs_fetched( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「フェッチ･レコードの最大数」プロパティ値を数値型として戻します。

d2ffmdg_menu( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_MENUプロパティ値をオブジェクト型として戻します。

d2ffmdg_mnu_mod( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「メニュー・モジュール」プロパティ値を戻します。

d2ffmdg_mnu_role( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「メニュー・ロール」プロパティ値をテキスト型として戻します。

d2ffmdg_mnu_src( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「メニュー・ソース」プロパティ値をテキスト型として戻します。

d2ffmdg_mnu_sty( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「メニュー・スタイル」プロパティ値を数値型として戻します。

d2ffmdg_mouse_navigation_lmt( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「マウス・ナビゲーション制限」プロパティ値を数値型として戻します。

d2ffmdg_name( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「名前」プロパティ値をテキスト型として戻します。

d2ffmdg_next( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_NEXTプロパティ値をオブジェクト型として戻します。

d2ffmdg_obj_grp( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_OBJ_GRPプロパティ値をオブジェクト型として戻します。

d2ffmdg_previous( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_PREVIOUSプロパティ値をオブジェクト型として戻します。

d2ffmdg_prog_unit( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_PROG_UNITプロパティ値をオブジェクト型として戻します。

d2ffmdg_prop_class( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「プロパティ・クラス」プロパティ値をオブジェクト型として戻します。

d2ffmdg_rec_grp( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「レコード・グループ」プロパティ値をオブジェクト型として戻します。

d2ffmdg_rec_vat_grp_nam( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「現行レコード可視属性グループ」プロパティ値をテキスト型として戻します。

d2ffmdg_rec_vat_grp_obj( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_REC_VAT_GRP_OBJプロパティ値をオブジェクト型として戻します。

d2ffmdg_report( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_REPORTプロパティ値をオブジェクト型として戻します。

d2ffmdg_runtime_comp( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_RUNTIME_COMPプロパティ値を数値型として戻します。

d2ffmdg_svpnt_mode( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「セーブポイント・モード」プロパティ値をブール型として戻します。

d2ffmdg_title( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「タイトル」プロパティ値をテキスト型として戻します。

d2ffmdg_trigger( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_TRIGGERプロパティ値をオブジェクト型として戻します。

d2ffmdg_use_3D_cntrls( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「3Dコントロールの使用」プロパティ値をブール型として戻します。

d2ffmdg_validation_unit( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「検証単位」プロパティ値を数値型として戻します。

d2ffmdg_vert_tlbr_cnv( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「垂直ツール・バー・キャンバス」プロパティ値をテキスト型として戻します。

d2ffmdg_vis_attr( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_VIS_ATTRプロパティ値をオブジェクト型として戻します。

d2ffmdg_window( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「ウィンドウ」プロパティ値をオブジェクト型として戻します。

d2ffmds_alert( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_ALERTプロパティ値を設定します。

d2ffmds_att_lib( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_ATT_LIBプロパティ値を設定します。

d2ffmds_block( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_BLOCKプロパティ値を設定します。

d2ffmds_canvas( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_CANVAプロパティ値を設定します。

d2ffmds_client_info( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_CLIENT_INFOプロパティ値を設定します。

d2ffmds_comment( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「コメント」プロパティ値を設定します。

d2ffmds_console_win( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「コンソール・ウィンドウ」プロパティ値を設定します。

d2ffmds_crsr_mode( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「カーソル・モード」プロパティ値を設定します。

d2ffmds_defer_req_enf( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_DEFER_REQ_ENFプロパティ値を設定します。

d2ffmds_editor( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「エディタ」プロパティ値を設定します。

d2ffmds_form_param( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_FORM_PARAMプロパティ値を設定します。

d2ffmds_frst_navigation_blk_nam( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「最初のナビゲーション・ブロック」プロパティ値を設定します。

d2ffmds_frst_navigation_blk_obj( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_FRST_NAVIGATION_BLK_OBJプロパティ値を設定します。

d2ffmds_horz_tlbr_cnv( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「水平ツール・バー・キャンバス」プロパティ値を設定します。

d2ffmds_inhrt_sty( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトのD2FP_INHRT_STYプロパティ値を設定します。

d2ffmds_init_mnu( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「初期メニュー」プロパティ値を設定します。

d2ffmds_interaction_mode( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「相互作用モード」プロパティ値を設定します。

d2ffmds_isolation_mode( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「孤立モード」プロパティ値を設定します。

d2ffmds_lang_dir( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「方向」プロパティ値を設定します。

d2ffmds_lov( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「値リスト」プロパティ値を設定します。

d2ffmds_max_qry_time( ctx, obj, val );

このマクロは、「フォーム・モジュール」オブジェクトの「最長問合せ時間」プロパティ値を設定します。

d2ffmds_max_recs_fetched( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「フェッチ･レコードの最大数」プロパティの値を設定します。

d2ffmds_menu( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトのD2FP_MENUプロパティの値を設定します。

d2ffmds_mnu_mod( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「メニュー・モジュール」プロパティの値を設定します。

d2ffmds_mnu_role( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「メニュー・ロール」プロパティの値を設定します。

d2ffmds_mnu_src( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「メニュー・ソース」プロパティの値を設定します。

d2ffmds_mnu_sty( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「メニュー・スタイル」プロパティの値を設定します。

d2ffmds_mouse_navigation_lmt( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「マウス・ナビゲーション制限」プロパティの値を設定します。

d2ffmds_name( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「名前」プロパティの値を設定します。

d2ffmds_next( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトのD2FP_NEXTの値を設定します。

d2ffmds_obj_grp( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトのD2FP_OBJ_GRPプロパティの値を設定します。

d2ffmds_previous( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2ffmds_prog_unit( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトのD2FP_PROG_UNITの値を設定します。

d2ffmds_prop_class( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「プロパティ・クラス」プロパティの値を設定します。

d2ffmds_rec_grp( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「レコード・グループ」プロパティの値を設定します。

d2ffmds_rec_vat_grp_nam( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「現行レコードの可視属性グループ」プロパティの値を設定します。

d2ffmds_rec_vat_grp_obj( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトのD2FP_REC_VAT_GRP_OBJプロパティの値を設定します。

d2ffmds_report( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトのD2FP_REPORTプロパティの値を設定します。

d2ffmds_runtime_comp( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトのD2FP_RUNTIME_COMPプロパティの値を設定します。

d2ffmds_svpnt_mode( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「セーブポイント・モード」プロパティの値を設定します。

d2ffmds_title( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「タイトル」プロパティの値を設定します。

d2ffmds_trigger( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトのD2FP_TRIGGERプロパティの値を設定します。

d2ffmds_use_3D_cntrls( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「3Dコントロールの使用」プロパティの値を設定します

d2ffmds_validation_unit( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「検証単位」プロパティの値を設定します。

d2ffmds_vert_tlbr_cnv( ctx, obj, val );

このマクロでは、「フォーム・モジュール」オブジェクトの「垂直ツール・バーのキャンバス」プロパティの値を設定します。


「フォーム・パラメータ」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen APIフォーム・パラメータ・オブジェクトのマクロについて説明します。

d2ffpmg_client_info( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2ffpmg_comment( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2ffpmg_max_len( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「最大長」プロパティの値を数値型で戻します。

d2ffpmg_module( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2ffpmg_name( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2ffpmg_next( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2ffpmg_owner( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2ffpmg_par_flnam( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2ffpmg_par_flpath( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2ffpmg_par_modstr( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2ffpmg_par_modtyp( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2ffpmg_par_module( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2ffpmg_par_nam( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2ffpmg_param_dat_typ( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「パラメータ・データ型」プロパティの値を数値型で戻します。

d2ffpmg_param_init_val( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「パラメータ初期値」プロパティの値をテキスト型で戻します。

d2ffpmg_previous( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2ffpmg_source( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2ffpms_client_info( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2ffpms_comment( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「コメント」プロパティの値を設定します。

d2ffpms_max_len( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「最大長」プロパティの値を設定します。

d2ffpms_module( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_MODULEプロパティの値を設定します。

d2ffpms_name( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「名前」プロパティの値を設定します。

d2ffpms_next( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2ffpms_owner( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_OWNERプロパティの値を設定します。

d2ffpms_par_flnam( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2ffpms_par_flpath( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2ffpms_par_modstr( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2ffpms_par_modtyp( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2ffpms_par_module( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2ffpms_par_nam( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2ffpms_param_dat_typ( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「パラメータ・データ型」プロパティの値を設定します。

d2ffpms_param_init_val( ctx, obj, val );

このマクロでは、「フォーム・パラメータ」オブジェクトの「パラメータ初期値」プロパティの値を設定します。


｢グラフィックス｣オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API｢グラフィックス｣オブジェクトのマクロについて説明します。

d2fgrag_allow_expansion( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「拡張可」プロパティの値をブール型で戻します。

d2fgrag_allow_mlt_lin_prmpts( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「プロンプトの複数行許可」プロパティの値をブール型で戻します。

d2fgrag_allow_strt_att_prmpts( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「プロンプトの起動時連結許可」プロパティの値をブール型で戻します。

d2fgrag_allow_top_att_prmpts( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「プロンプトの先頭連結許可」プロパティの値をブール型で戻します。

d2fgrag_arrow_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「線矢印スタイル」プロパティの値を数値型で戻します。

d2fgrag_back_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「バックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fgrag_bevel( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「凹凸」プロパティの値を数値型で戻します。

d2fgrag_bounding_bx_scalable( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「バウンディング・ボックスのスケール許可」プロパティの値をブール型で戻します。

d2fgrag_cap_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「端形式」プロパティの値を数値型で戻します。

d2fgrag_client_info( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fgrag_clip_hgt( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「切り取る四角形の高さ」プロパティの値を数値型で戻します。

d2fgrag_clip_wid( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「切り取る四角形の幅」プロパティの値を数値型で戻します。

d2fgrag_clip_x_pos( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「切り取る四角形のX原点」プロパティの値を数値型で戻します。

d2fgrag_clip_y_pos( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「切り取る四角形のY原点」プロパティの値を数値型で戻します。

d2fgrag_closed( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「多角形フラグ/円弧の閉じ」プロパティの値をブール型で戻します。

d2fgrag_corner_radius_x( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「丸い四角形の角の丸め半径のX原点」プロパティの値を数値型で戻します。

d2fgrag_corner_radius( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「丸い四角形の角の丸め半径のY原点」プロパティの値を数値型で戻します。

d2fgrag_cstm_spcing( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「カスタム・スペース」プロパティの値を数値型で戻します。

d2fgrag_dash_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクト枠の種類」プロパティの値を数値型で戻します。

d2fgrag_disp_qlty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「画質」プロパティの値を数値型で戻します。

d2fgrag_dist_btwn_recs( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「レコード間の距離」プロパティの値を数値型で戻します。

d2fgrag_dither( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・ディザ・イメージ」プロパティの値をブール型で戻します。

d2fgrag_edge_back_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクト枠のバックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fgrag_edge_fore_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクト枠のフォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fgrag_edge_pat( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_EDGE_PATプロパティの値をテキスト型で戻します。

d2fgrag_fill_pat( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「塗りパターン」プロパティの値をテキスト型で戻します。

d2fgrag_fixed_bounding_bx( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_FIXED_BOUNDING_BXプロパティの値をブール型で戻します。

d2fgrag_font_scaleable( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクトのポイント・サイズ・スケール」プロパティの値をブール型で戻します。

d2fgrag_fore_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「フォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fgrag_frame_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠整列」プロパティの値を数値型で戻します。

d2fgrag_frame_ttl( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトル」プロパティの値をテキスト型で戻します。

d2fgrag_frame_ttl_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトル整列」プロパティの値を数値型で戻します。

d2fgrag_frame_ttl_back_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのバックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fgrag_frame_ttl_fill_pat( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルの塗りパターン」プロパティの値をテキスト型で戻します。

d2fgrag_frame_ttl_font_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォント名」プロパティの値をテキスト型で戻します。

d2fgrag_frame_ttl_font_siz( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォント・サイズ」プロパティの値を数値型で戻します。

d2fgrag_frame_ttl_font_spcing( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォント間隔」プロパティの値を数値型で戻します。

d2fgrag_frame_ttl_font_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォント・スタイル」プロパティの値を数値型で戻します。

d2fgrag_frame_ttl_font_weight( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォントの太さ」プロパティの値を数値型で戻します。

d2fgrag_fram_ttl_fore_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fgrag_frame_ttl_ofst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのオフセット」プロパティの値を数値型で戻します。

d2fgrag_frame_ttl_spcing( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルの間隔」プロパティの値を数値型で戻します。

d2fgrag_frame_ttl_vat_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルの可視属性」プロパティの値をテキスト型で戻します。

d2fgrag_frame_ttl_vat_obj( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_FRAME_TTL_VAT_OBJプロパティの値をオブジェクト型で戻します。

d2fgrag_gra_font_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・フォント名」プロパティの値をテキスト型で戻します。

d2fgrag_gra_font_siz( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・フォント・サイズ」プロパティの値を数値型で戻します。

d2fgrag_gra_font_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・フォント・スタイル」プロパティの値を数値型で戻します。

d2fgrag_gra_text( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・テキスト」プロパティの値をテキスト型で戻します。

d2fgrag_graphic( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_GRAPHICプロパティの値をオブジェクト型で戻します。

d2fgrag_graphics_typ( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「｢グラフィックス｣オブジェクト・タイプ」プロパティの値を数値型で戻します。

d2fgrag_height( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2fgrag_horz_jst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「テキスト・オブジェクトの水平方向揃え」プロパティの値を数値型で戻します。

d2fgrag_horz_margn( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「水平マージン」プロパティの値を数値型で戻します。

d2fgrag_horz_obj_ofst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「水平オブジェクト・オフセット」プロパティの値を数値型で戻します。

d2fgrag_horz_orgn( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「原点に対する水平の位置関係」プロパティの値を数値型で戻します。

d2fgrag_internal_end_angle( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_INTERNAL_END_ANGLEプロパティの値を数値型で戻します。

d2fgrag_internal_lin_wid( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_INTERNAL_END_WIDプロパティの値を数値型で戻します。

d2fgrag_internal_rotation_angle( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_INTERNAL_ROTATION_ANGLEプロパティの値を数値型で戻します。

d2fgrag_internal_strt_angle( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_INTERNAL_STRT_ANGLEプロパティの値を数値型で戻します。

d2fgrag_join_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクト枠の結合形式」プロパティの値を数値型で戻します。

d2fgrag_lang_dir( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「方向」プロパティの値を数値型で戻します。

d2fgrag_laayout_data_blk_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「データ・ブロックのレイアウト」プロパティの値をテキスト型で戻します。

d2fgrag_layout_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「レイアウト・スタイル」プロパティの値を数値型で戻します。

d2fgrag_lin_spcing( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「行間」プロパティの値を数値型で戻します。

d2fgrag_max_objs( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「1行あたりの最大オブジェクト数」プロパティの値を数値型で戻します。

d2fgrag_module( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fgrag_name( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2fgrag_next( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fgrag_owner( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fgrag_par_flnam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fgrag_par_flpath( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fgrag_par_modstr( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fgrag_par_modtyp( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fgrag_par_module( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fgrag_par_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fgrag_point( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「フォントのポイント・サイズ」プロパティの値をオブジェクト型で戻します。

d2fgrag_previous( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fgrag_recs_disp_count( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「表示レコード数」プロパティの値を数値型で戻します。

d2fgrag_scrlbr_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「スクロール・バー整列」プロパティの値を数値型で戻します。

d2fgrag_scrlbr_wid( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「スクロール・バーの幅」プロパティの値を数値型で戻します。

d2fgrag_show_scrlbr( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_SHOW_SCRLBRプロパティの値をブール型で戻します。

d2fgrag_shrinkwrap( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「シュリンクラップ」プロパティの値をブール型で戻します。

d2fgrag_sngl_obj_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「単一オブジェクトの整列」プロパティの値を数値型で戻します。

d2fgrag_source( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fgrag_strt_prmpt_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「開始プロンプト整列」プロパティの値を数値型で戻します。

d2fgrag_strt_prmpt_ofst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「開始プロンプトのオフセット」プロパティの値を数値型で戻します。

d2fgrag_tbp_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_TBP_NAMプロパティの値をテキスト型で戻します。

d2fgrag_tbp_obj( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_TBP_OBJプロパティの値をオブジェクト型で戻します。

d2fgrag_top_prmpt_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「上プロンプト整列」プロパティの値を数値型で戻します。

d2fgrag_top_prmpt_pfst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「上プロンプトのオフセット」の値を数値型で戻します。

d2fgrag_ttl_reading_ordr( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「タイトル読み込み」プロパティの値を数値型で戻します。

d2fgrag_updt_layout( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「レイアウトを更新」プロパティの値を数値型で戻します。

d2fgrag_vert_fill( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「垂直方向の埋め込み」プロパティの値をブール型で戻します。

d2fgrag_vert_jst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「垂直文字揃え」プロパティの値を数値型で戻します。

d2fgrag_vert_margn( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「垂直方向のマージン」プロパティの値を数値型で戻します。

d2fgrag_vert_obj_ofst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「垂直方向のオブジェクトのオフセット」プロパティの値を数値型で戻します。

d2fgrag_vert_orgn( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「原点に対する垂直の位置関係」プロパティの値を数値型で戻します。

d2fgrag_width( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2fgrag_wrap_txt( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「テキストの折返し」プロパティの値をブール型で戻します。

d2fgrag_x_pos( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「X位置/Y位置」プロパティの値を数値型で戻します。

d2fgrag_y_pos( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「X位置/Y位置」プロパティの値を数値型で戻します。

d2fgras_allow_expansion( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「拡張可」プロパティの値を設定します。

d2fgras_allow_mlt_lin_prmpts( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「プロンプトの複数行許可」プロパティの値を設定します。

d2fgras_allow_strt_att_prmpts( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「プロンプトの起動時連結許可」プロパティの値を設定します。

d2fgras_allow_top_att_prmpts( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「プロンプトの先頭連結許可」プロパティの値を設定します。

d2fgras_arrow_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「線矢印スタイル」プロパティの値を設定します。

d2fgras_back_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「バックグラウンド・カラー」プロパティの値を設定します。

d2fgras_bevel( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「凹凸」プロパティの値を設定します。

d2fgras_bounding_bx_scalable( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「バウンディング・ボックスのスケール可能」プロパティの値を設定します。

d2fgras_cap_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「端形式」プロパティの値を設定します。

d2fgras_client_info( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fgras_clip_hgt( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「切り取る四角形の高さ」プロパティの値を設定します。

d2fgras_clip_wid( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「切り取る四角形の幅」プロパティの値を設定します。

d2fgras_clip_x_pos( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「切り取る四角形のX原点」プロパティの値を設定します。

d2fgras_clip_y_pos( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「切り取る四角形のY原点」プロパティの値を設定します。

d2fgras_closed( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「多角形フラグ/円弧の閉じ」プロパティの値を設定します。

d2fgras_corner_radius_x( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「丸い四角形の角の丸め半径のX原点」プロパティの値を設定します。

d2fgras_corner_radius( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「丸い四角形の角の丸め半径のY原点」プロパティの値を設定します。

d2fgras_cstm_spcing( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「カスタム・スペース」プロパティの値を設定します。

d2fgras_dash_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクト枠の種類」の値を設定します。

d2fgras_disp_qlty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「画質」プロパティの値を設定します。

d2fgras_dist_btwn_recs( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「レコード間の距離」プロパティの値を設定します。

d2fgras_dither( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・ディザ・イメージ」プロパティの値を設定します。

d2fgras_edge_back_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクト枠のバックグラウンド・カラー」プロパティの値を設定します。

d2fgras_edge_fore_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクト枠のフォアグラウンド・カラー」プロパティの値を設定します。

d2fgras_edge_pat( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_EDGE_PATプロパティの値を設定します。

d2fgras_fill_pat( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「塗りパターン」プロパティの値を設定します。

d2fgras_fixed_bounding_bx( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_FIXED_BOUNDING_BXプロパティの値を設定します。

d2fgras_font_scaleable( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクトのポイント・サイズ・スケール」プロパティの値を設定します。

d2fgras_fore_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「フォアグラウンド・カラー」プロパティの値を設定します。

d2fgras_frame_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠整列」プロパティの値を設定します。

d2fgras_frame_ttl( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトル」プロパティの値を設定します。

d2fgras_frame_ttl_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトル整列」プロパティの値を設定します。

d2fgras_frame_ttl_back_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのバックグラウンド・カラー」プロパティの値を設定します。

d2fgras_frame_ttl_fill_pat( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルの塗りパターン」プロパティの値を設定します。

d2fgras_frame_ttl_font_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォント名」プロパティの値を設定します。

d2fgras_frame_ttl_font_siz( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォント・サイズ」プロパティの値を設定します。

d2fgras_frame_ttl_font_spcing( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォント間隔」プロパティの値を設定します。

d2fgras_frame_ttl_font_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォント・スタイル」プロパティの値を設定します。

d2fgras_frame_ttl_font_weight( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォントの太さ」プロパティの値を設定します。

d2fgras_fram_ttl_fore_color( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのフォアグラウンド・カラー」プロパティの値を設定します。

d2fgras_frame_ttl_ofst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルのオフセット」プロパティの値を設定します。

d2fgras_frame_ttl_spcing( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルの間隔」プロパティの値を設定します。

d2fgras_frame_ttl_vat_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「枠タイトルの可視属性」プロパティの値を設定します。

d2fgras_frame_ttl_vat_obj( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_FRAME_TTL_VAT_OBJプロパティの値を設定します。

d2fgras_gra_font_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・フォント名」プロパティの値を設定します。

d2fgras_gra_font_siz( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・フォント・サイズ」プロパティの値を設定します。

d2fgras_gra_font_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・フォント・スタイル」プロパティの値を設定します。

d2fgras_gra_text( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「グラフィックス・テキスト」プロパティの値を設定します。

d2fgras_graphic( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_GRAPHICプロパティの値を設定します。

d2fgras_graphics_typ( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「｢グラフィックス｣オブジェクト・タイプ」プロパティの値を設定します。

d2fgras_height( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「幅と高さ」プロパティの値を設定します。

d2fgras_horz_jst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「テキスト・オブジェクトの水平方向揃え」プロパティの値を設定します。

d2fgras_horz_margn( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「水平マージン」プロパティの値を設定します。

d2fgras_horz_obj_ofst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「水平オブジェクト・オフセット」プロパティの値を設定します。

d2fgras_horz_orgn( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「原点に対する水平の位置関係」プロパティの値を設定します。

d2fgras_internal_end_angle( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_INTERNAL_END_ANGLEプロパティの値を設定します。

d2fgras_internal_lin_wid( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_INTERNAL_END_WIDプロパティの値を設定します。

d2fgras_internal_rotation_angle( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_INTERNAL_ROTATION_ANGLEプロパティの値を設定します。

d2fgras_internal_strt_angle( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_INTERNAL_STRT_ANGLEプロパティの値を設定します。

d2fgras_join_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「オブジェクト枠の結合形式」プロパティの値を設定します。

d2fgras_lang_dir( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「方向」プロパティの値を設定します。

d2fgras_laayout_data_blk_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「データ・ブロックのレイアウト」プロパティの値を設定します。

d2fgras_layout_sty( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「レイアウト・スタイル」プロパティの値を設定します。

d2fgras_lin_spcing( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「行間」プロパティの値を設定します。

d2fgras_max_objs( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「1行あたりの最大オブジェクト数」プロパティの値を設定します。

d2fgras_module( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_MODULEプロパティの値を設定します。

d2fgras_name( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「名前」プロパティの値を設定します。

d2fgras_next( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2fgras_owner( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_OWNERプロパティの値を設定します。

d2fgras_par_flnam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fgras_par_flpath( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fgras_par_modstr( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fgras_par_modtyp( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fgras_par_module( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fgras_par_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2fgras_point( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「フォント・ポイント・サイズ」プロパティの値を設定します。

d2fgras_previous( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2fgras_recs_disp_count( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「表示レコード数」プロパティの値を設定します。

d2fgras_scrlbr_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「スクロール・バー整列」プロパティの値を設定します。

d2fgras_scrlbr_wid( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「スクロール・バーの幅」プロパティの値を設定します。

d2fgras_show_scrlbr( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_SHOW_SCRLBRプロパティの値を設定します。

d2fgras_shrinkwrap( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「シュリンクラップ」プロパティの値を設定します。

d2fgras_sngl_obj_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「単一オブジェクトの整列」プロパティの値を設定します。

d2fgras_source( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_SOURCEプロパティの値を設定します。

d2fgras_strt_prmpt_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「開始プロンプト整列」プロパティの値を設定します。

d2fgras_strt_prmpt_ofst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「開始プロンプトのオフセット」プロパティの値を設定します。

d2fgras_tbp_nam( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_TBP_NAMプロパティの値を設定します。

d2fgras_tbp_obj( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトのD2FP_TBP_OBJプロパティの値を設定します。

d2fgras_top_prmpt_align( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「上プロンプト整列」プロパティの値を設定します。

d2fgras_top_prmpt_pfst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「上プロンプトのオフセット」プロパティの値を設定します。

d2fgras_ttl_reading_ordr( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「タイトル読み込み」プロパティの値を設定します。

d2fgras_updt_layout( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「レイアウトを更新」プロパティの値を設定します。

d2fgras_vert_fill( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「垂直方向の埋め込み」プロパティの値を設定します。

d2fgras_vert_jst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「垂直文字揃え」プロパティの値を設定します。

d2fgras_vert_margn( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「垂直方向のマージン」プロパティの値を設定します。

d2fgras_vert_obj_ofst( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「垂直方向のオブジェクト・オフセット」プロパティの値を設定します。

d2fgras_vert_orgn( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「原点に対する垂直の位置関係」の値を設定します。

d2fgras_width( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「幅と高さ」プロパティの値を設定します。

d2fgras_wrap_txt( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「テキストの折返し」プロパティの値を設定します。

d2fgras_x_pos( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「X位置/Y位置」プロパティの値を設定します。

d2fgras_y_pos( ctx, obj, val );

このマクロでは、｢グラフィックス｣オブジェクトの「X位置/Y位置」プロパティの値を設定します。


「項目」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API｢項目｣オブジェクトのマクロについて説明します。

d2fitmg_access_key( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「アクセス・キー」プロパティの値をテキスト型で戻します。

d2fitmg_activex_class( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_ACTIVEX_CLASSプロパティの値をテキスト型で戻します。

d2fitmg_activex_val_prop( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_ACTIVEX_VAL_PROPプロパティの値をテキスト型で戻します。

d2fitmg_audio_chnnls( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「オーディオ・チャンネル」プロパティの値を数値型で戻します。

d2fitmg_auto_hint( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ヒントの自動表示」プロパティの値をブール型で戻します。

d2fitmg_auto_skip( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「自動スキップ」プロパティの値をブール型で戻します。

d2fitmg_back_color( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「バックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fitmg_bevel( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「凹凸」プロパティの値を数値型で戻します。

d2fitmg_calc_mode( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「計算モード」プロパティの値を数値型で戻します。

d2fitmg_case_insensitive_qry( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「大文字小文字を区別しない問合わせ」プロパティの値をブール型で戻します。

d2fitmg_case_rstrction( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「大文字小文字の制約」プロパティの値を数値型で戻します。

d2fitmg_chk_bx_other_vals( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「その他の値のチェックボックスのマッピング」プロパティの値を戻します。

d2fitmg_chked_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「チェックあり」プロパティの値をテキスト型で戻します。

d2fitmg_client_info( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fitmg_cmprssion_qlty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_CMPRSSION_QLTYプロパティの値を数値型で戻します。

d2fitmg_cnv_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「キャンバス・キー」プロパティの値をテキスト型で戻します。

d2fitmg_cnv_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_CNV_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_col_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「列名」プロパティの値をテキスト型で戻します。

d2fitmg_comm_mode( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「通信モード」プロパティの値を数値型で戻します。

d2fitmg_comment( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2fitmg_compress( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「圧縮」プロパティの値を数値型で戻します。

d2fitmg_conceal_data( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データの非表示」プロパティの値をブール型で戻します。

d2fitmg_copy_val_from_itm( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データを項目からコピー」プロパティの値をテキスト型で戻します。

d2fitmg_dat_src_blk( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データ・ソース・ブロック」プロパティの値をテキスト型で戻します。

d2fitmg_dat_src_x_axs( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データ・ソースのX軸」プロパティの値をテキスト型で戻します。

d2fitmg_dat_src_y_axs( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データ・ソースのY軸」プロパティの値をテキスト型で戻します。

d2fitmg_dat_typ( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データ型」プロパティの値を数値型で戻します。

d2fitmg_db_itm( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データベース項目」プロパティの値をブール型で戻します。

d2fitmg_dflt_btn( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「デフォルト・ボタン」プロパティの値をブール型で戻します。

d2fitmg_disp_qlty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「画質」プロパティの値を数値型で戻します。

d2fitmg_dist_btwn_recs( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「レコード間の距離」プロパティの値を数値型で戻します。

d2fitmg_edt_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「エディタ」プロパティの値をテキスト型で戻します。

d2fitmg_edt_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_EDT_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_edt_x_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「エディタのX位置、エディタのY位置」プロパティの値を数値型で戻します。

d2fitmg_edt_y_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「エディタのX位置、エディタのY位置」プロパティの値を数値型で戻します。

d2fitmg_enabled( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「使用可能」プロパティの値をブール型で戻します。

d2fitmg_exec_mode( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「実行モード」プロパティの値を数値型で戻します。

d2fitmg_fill_pat( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「塗りパターン」プロパティの値をテキスト型で戻します。

d2fitmg_fixed_len( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「固定長」プロパティの値をブール型で戻します。

d2fitmg_flnam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ファイル名」プロパティの値をテキスト型で戻します。

d2fitmg_fmt_msk( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「書式マスク」プロパティの値をテキスト型で戻します。

d2fitmg_font_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォント名」プロパティの値をテキスト型で戻します。

d2fitmg_font_siz( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォント・サイズ」プロパティの値を数値型で戻します。

d2fitmg_font_spcing( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォント間隔」プロパティの値を数値型で戻します。

d2fitmg_font_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォント・スタイル」プロパティの値を数値型で戻します。

d2fitmg_font_wgth( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォントの太さ」プロパティの値を数値型で戻します。

d2fitmg_fore_color( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fitmg_formula( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「式」プロパティの値をテキスト型で戻します。

d2fitmg_height( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2fitmg_highest_allowed_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「最大許容値と最小許容値」プロパティの値をテキスト型で戻します。

d2fitmg_hint( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ヒント」プロパティの値をテキスト型で戻します。

d2fitmg_icon_flnam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「アイコン・ファイル名」プロパティの値をテキスト型で戻します。

d2fitmg_iconic( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「アイコン」プロパティの値をブール型で戻します。

d2fitmg_img_dpth( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「イメージの深さ」プロパティの値を数値型で戻します。

d2fitmg_img_fmt( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「イメージ・フォーマット」プロパティの値を数値型で戻します。

d2fitmg_init_kbrd_dir( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「初期キーボード方向」プロパティの値を数値型で戻します。

d2fitmg_init_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「初期値」プロパティの値をテキスト型で戻します。

d2fitmg_insrt_allowed( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「挿入可」プロパティの値をブール型で戻します。

d2fitmg_itm_typ( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「項目タイプ」プロパティの値を数値型で戻します。

d2fitmg_itms_disp( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「表示項目数」プロパティの値を数値型で戻します。

d2fitmg_justification( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「文字揃え」プロパティの値を数値型で戻します。

d2fitmg_kbrd_navigable( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「キーボード・ナビゲート」プロパティの値をブール型で戻します。

d2fitmg_kbrd_state( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_KBRD_STATEプロパティの値を数値型で戻します。

d2fitmg_keep_crsr_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「カーソル位置の維持」プロパティの値をブール型で戻します。

d2fitmg_label( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ラベル」プロパティの値をテキスト型で戻します。

d2fitmg_lang_dir( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの方向プロパティの値を数値型で戻します。

d2fitmg_lock_rec( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「レコードのロック」プロパティの値をブール型で戻します。

d2fitmg_lov_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_LOV_NAMプロパティの値をテキスト型で戻します。

d2fitmg_lov_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_LOV_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_lov_x_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「X位置のリスト」プロパティの値を数値型で戻します。

d2fitmg_lov_y_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「Y位置のリスト」プロパティの値を数値型で戻します。

d2fitmg_lowest_allowed_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「最大許容値と最小許容値」プロパティの値をテキスト型で戻します。

d2fitmg_lst_element_cnt( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「リストの要素数」プロパティの値を数値型で戻します。

d2fitmg_lst_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「リスト・スタイル」プロパティの値を数値型で戻します。

d2fitmg_max_len( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「最大長」プロパティの値を数値型で戻します。

d2fitmg_mlt_lin( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「複数行」プロパティの値をブール型で戻します。

d2fitmg_module( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fitmg_mouse_navigate( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「マウス・ナビゲート」プロパティの値をブール型で戻します。

d2fitmg_name( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2fitmg_next( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fitmg_nxt_navigation_itm_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_NAVIGATION_ITM_NAMプロパティの値をテキスト型で戻します。

d2fitmg_nxt_navigation_itm_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_NAVIGATION_ITM_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_ole_act_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLE有効スタイル」プロパティの値を数値型で戻します。

d2fitmg_ole_class( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEクラス」プロパティの値をテキスト型で戻します。

d2fitmg_ole_in_place_act( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLE配置有効化」プロパティの値をブール型で戻します。

d2fitmg_ole_insd_out_support( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLE徹底サポート」プロパティの値をブール型で戻します。

d2fitmg_ole_popup_mnu_itms( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEポップアップ・メニュー項目」プロパティの値を数値型で戻します。

d2fitmg_ole_resiz_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEサイズ変更スタイル」プロパティの値を数値型で表示されます。

d2fitmg_ole_show_popup_menu( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEポップアップ・メニューの表示」プロパティの値をブール型で戻します。

d2fitmg_ole_show_tnnt_typ( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEテナント・タイプの表示」プロパティの値をブール型で戻します。

d2fitmg_ole_tnnt_aspct( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEテナント・アスペクト」プロパティの値を数値型で戻します。

d2fitmg_ole_tnnt_typ( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEテナント・タイプ」プロパティの値を数値型で戻します。

d2fitmg_other_vals( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「その他の値のマッピング」プロパティの値をテキスト型で戻します。

d2fitmg_owner( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fitmg_par_flnam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fitmg_par_flpath( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fitmg_par_modstr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_STRプロパティの値を数値型で戻します。

d2fitmg_par_modtyp( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fitmg_par_module( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fitmg_par_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fitmg_popup_mnu_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ポップアップ・メニュー」プロパティの値をテキスト型で戻します。

d2fitmg_popup_mnu_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_POPUP_MNU_OBJプロパティの値をテキスト型で戻します。

d2fitmg_popup_va_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_POPUP_VA_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_prev_navigation_itm_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「前ナビゲーション項目名」プロパティの値をテキスト型で戻します。

d2fitmg_prev_navigation_itm_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PREV_NAVIGATION_ITM_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_previous( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fitmg_prmpt( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト」プロパティの値をテキスト型で戻します。

d2fitmg_prmpt_align( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトの配置」プロパティの値を数値型で戻します。

d2fitmg_prmpt_align_ofst( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト整列オフセット」プロパティの値を数値型で戻します。

d2fitmg_prmpt_att_edge( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト連結枠」プロパティの値を数値型で戻します。

d2fitmg_prmpt_att_ofst( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト連結オフセット」プロパティの値を数値型で戻します。

d2fitmg_prmpt_back_color( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのバックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fitmg_prmpt_disp_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト表示スタイル」プロパティの値を数値型で戻します。

d2fitmg_prmpt_fill_pat( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトの塗りパターン」プロパティの値をテキスト型で戻します。

d2fitmg_prmpt_font_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォント名」プロパティの値をテキスト型で戻します。

d2fitmg_prmpt_font_siz( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォント・サイズ」プロパティの値を数値型で戻します。

d2fitmg_prmpt_font_spcing( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト・フォントの間隔」プロパティの値を数値型で戻します。

d2fitmg_prmpt_font_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォント・スタイル」プロパティの値を数値型で戻します。

d2fitmg_prmpt_font_wght( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォントの太さ」プロパティの値を数値型で戻します。

d2fitmg_prmpt_fore_color( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fitmg_prmpt_jst( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトの文字位置」プロパティの値を数値型で戻します。

d2fitmg_prmpt_reading_ordr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトの読込み順」プロパティの値を数値型で戻します。

d2fitmg_prmpt_vat_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトの可視属性グループ」プロパティの値をテキスト型で戻します。

d2fitmg_prmpt_vat_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PRMPT_VAT_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_prmry_key( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「主キー」プロパティの値をブール型で戻します。

d2fitmg_qry_allowed( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「問合せ可」プロパティの値をブール型で戻します。

d2fitmg_qry_len( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「問合せの長さ」プロパティの値を数値型で戻します。

d2fitmg_qry_only( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「問合せ専用」プロパティの値をブール型で戻します。

d2fitmg_rad_but( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_RAD_BUTプロパティの値をオブジェクト型で戻します。

d2fitmg_reading_ordr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「読込み順」プロパティの値を数値型で戻します。

d2fitmg_rec_vat_grp_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「現行レコードの可視属性グループ」プロパティの値をテキスト型で戻します。

d2fitmg_rec_vat_grp_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_REC_VAT_GRP_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_rendered( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「処理完了」プロパティの値をブール型で戻します。

d2fitmg_required( ctx, obj, val );

このマクロでは、｢項目｣オブジェクト「必須」プロパティの値をブール型で戻します。

d2fitmg_show_fast_fwd( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「早送りボタン表示」プロパティの値をブール型で戻します。

d2fitmg_show_horz_scrlbr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「水平スクロール・バー表示」プロパティの値をブール型で戻します。

d2fitmg_show_palette( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「パレット表示」プロパティの値をブール型で戻します。

d2fitmg_show_play( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「再生ボタン表示」プロパティの値をブール型で戻します。

d2fitmg_show_rec( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「録音ボタン表示」プロパティの値をブール型で戻します。

d2fitmg_show_rewind( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「巻き戻しボタン表示」プロパティの値をブール型で戻します。

d2fitmg_show_slider( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「スライダ・ボタン表示」プロパティの値をブール型で戻します。

d2fitmg_show_time( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「時間表示」プロパティの値をブール型で戻します。

d2fitmg_show_vert_scrlbr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「垂直スクロール・バー表示」プロパティの値をブール型で戻します。

d2fitmg_show_volume( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ボリューム・コントロール表示」プロパティの値をブール型で戻します。

d2fitmg_sizing_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サイズ設定スタイル」プロパティの値を数値型で戻します。

d2fitmg_snd_fmt( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サウンド形式」プロパティの値を数値型で戻します。

d2fitmg_snd_qlty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サウンド品質」プロパティの値を数値型で戻します。

d2fitmg_source( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fitmg_summ_blk_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サマリー済みブロック」プロパティの値をテキスト型で戻します。

d2fitmg_summ_func( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サマリー･ファンクション」プロパティの値を数値型で戻します。

d2fitmg_summ_itm_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サマリー結果項目」プロパティの値をテキスト型で戻します。

d2fitmg_sync_itm_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「項目と同期」プロパティの値をテキスト型で戻します。

d2fitmg_sync_itm_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_SYNC_ITM_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_tbp_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_TBP_NAMプロパティの値をテキスト型で戻します。

d2fitmg_tbp_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_TBP_OBJプロパティの値をオブジェクト型で戻します。

d2fitmg_tooltip( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ツールチップ」プロパティの値をテキスト型で戻します。

d2fitmg_tooltip_vat_grp( ctx, obj, val );

このマクロでは、項目・オブジェクトの「ツールチップ可視属性グループ」プロパティの値をテキスト型で戻します。

d2fitmg_trigger( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_TRIGGERプロパティの値をオブジェクト型で戻します。

d2fitmg_unchked_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「チェックなしの値」プロパティの値をテキスト型で戻します。

d2fitmg_updt_allowed( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「更新許可」プロパティの値をブール型で戻します。

d2fitmg_updt_commit( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「コミット更新」プロパティの値をブール型で戻します。

d2fitmg_updt_if_null( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「NULLの場合のみ更新」プロパティの値をブール型で戻します。

d2fitmg_updt_qry( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「問合せ更新」プロパティの値をブール型で戻します。

d2fitmg_validate_from_lst( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「妥当性をリストから確認」プロパティの値をブール型で戻します。

d2fitmg_vat_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「可視属性グループ」プロパティの値をテキスト型で戻します。

d2fitmg_val_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_VAT_GRPプロパティの値をオブジェクト型で戻します。

d2fitmg_visible( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「参照可能」プロパティの値をブール型で戻します。

d2fitmg_while_on_black( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「白黒」プロパティの値をブール型で戻します。

d2fitmg_width( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2fitmg_wrap_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「折返しスタイル」プロパティの値を数値型で戻します。

d2fitmg_x_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「X位置/Y位置」プロパティの値を数値型で戻します。

d2fitmg_y_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「X位置/Y位置」プロパティの値を数値型で戻します。

d2fitms_access_key( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「アクセス・キー」プロパティの値を設定します。

d2fitms_activex_class( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_ACTIVEX_CLASSプロパティの値を設定します。

d2fitms_activex_val_prop( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_ACTIVEX_VAL_PROPプロパティの値を設定します。

d2fitms_audio_chnnls( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「オーディオ・チャンネル」プロパティの値を設定します。

d2fitms_auto_hint( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ヒントの自動表示」プロパティの値を設定します。

d2fitms_auto_skip( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「自動スキップ」プロパティの値を設定します。

d2fitms_back_color( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「バックグラウンド・カラー」プロパティの値を設定します。

d2fitms_bevel( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「凹凸」プロパティの値を設定します。

d2fitms_calc_mode( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「計算モード」プロパティの値を設定します。

d2fitms_case_insensitive_qry( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「大文字小文字を区別しない問合せ」プロパティの値を設定します。

d2fitms_case_rstrction( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「大文字小文字の制約」プロパティの値を設定します。

d2fitms_chk_bx_other_vals( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「その他の値のチェックボックスのマッピング」プロパティの値を設定します。

d2fitms_chked_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「チェックあり」プロパティの値を設定します。

d2fitms_client_info( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fitms_cmprssion_qlty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_CMPRSSION_QLTYプロパティの値を設定します。

d2fitms_cnv_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「キャンバス・キー」プロパティの値を設定します。

d2fitms_cnv_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_CNV_OBJプロパティの値を設定します。

d2fitms_col_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「列名」プロパティの値を設定します。

d2fitms_comm_mode( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「通信モード」プロパティの値を設定します。

d2fitms_comment( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「コメント」プロパティの値を設定します。

d2fitms_compress( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「圧縮」プロパティの値を設定します。

d2fitms_conceal_data( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データの非表示」プロパティの値を設定します。

d2fitms_copy_val_from_itm( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データを項目からコピー」プロパティの値を設定します。

d2fitms_dat_src_blk( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データ・ソース・ブロック」プロパティの値を設定します。

d2fitms_dat_src_x_axs( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データ・ソースのX軸」プロパティの値を設定します。

d2fitms_dat_src_y_axs( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データ・ソースのY軸」プロパティの値を設定します。

d2fitms_dat_typ( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データ型」プロパティの値を設定します。

d2fitms_db_itm( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「データベース項目」プロパティの値を設定します。

d2fitms_dflt_btn( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「デフォルト・ボタン」プロパティの値を設定します。

d2fitms_disp_qlty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「画質」プロパティの値を設定します。

d2fitms_dist_btwn_recs( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「レコード間の距離」プロパティの値を設定します。

d2fitms_edt_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「エディタ」プロパティの値を設定します。

d2fitms_edt_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_EDT_OBJプロパティの値を設定します。

d2fitms_edt_x_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「エディタのX位置、エディタのY位置」プロパティの値を設定します。

d2fitms_edt_y_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「エディタのX位置、エディタのY位置」プロパティの値を設定します。

d2fitms_enabled( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「使用可能」プロパティの値を設定します。

d2fitms_exec_mode( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「実行モード」プロパティの値を設定します。

d2fitms_fill_pat( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「塗りパターン」プロパティの値を設定します。

d2fitms_fixed_len( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「固定長」プロパティの値を設定します。

d2fitms_flnam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ファイル名」プロパティの値を設定します。

d2fitms_fmt_msk( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「書式マスク」プロパティの値を設定します。

d2fitms_font_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォント名」プロパティの値を設定します。

d2fitms_font_siz( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォント・サイズ」プロパティの値を設定します。

d2fitms_font_spcing( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォント間隔」プロパティの値を設定します。

d2fitms_font_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォント・スタイル」プロパティの値を設定します。

d2fitms_font_wgth( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォントの太さ」プロパティの値を設定します。

d2fitms_fore_color( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「フォアグラウンド・カラー」プロパティの値を設定します。

d2fitms_formula( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「式」プロパティの値を設定します。

d2fitms_height( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「幅と高さ」プロパティの値を設定します。

d2fitms_highest_allowed_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「最大許容値と最小許容値」プロパティの値を設定します。

d2fitms_hint( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ヒント」プロパティの値を設定します。

d2fitms_icon_flnam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「アイコンのファイル名」プロパティの値を設定します。

d2fitms_iconic( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「アイコン」プロパティの値を設定します。

d2fitms_img_dpth( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「イメージの深さ」プロパティの値を設定します。

d2fitms_img_fmt( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「イメージ・フォーマット」プロパティの値を設定します。

d2fitms_init_kbrd_dir( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「初期キーボード方向」プロパティの値を設定します。

d2fitms_init_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「初期値」プロパティの値を設定します。

d2fitms_insrt_allowed( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「挿入可」プロパティの値を設定します。

d2fitms_itm_typ( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「項目タイプ」プロパティの値を設定します。

d2fitms_itms_disp( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「表示項目数」の値を設定します。

d2fitms_justification( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「文字位置」プロパティの値を設定します。

d2fitms_kbrd_navigable( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「キーボードのナビゲート可能」プロパティの値を設定します。

d2fitms_kbrd_state( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_KBRD_STATEプロパティの値を設定します。

d2fitms_keep_crsr_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「カーソル位置の保管」プロパティの値を設定します。

d2fitms_label( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ラベル」プロパティの値を設定します。

d2fitms_lang_dir( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの方向プロパティの値を設定します。

d2fitms_lock_rec( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「レコードのロック」プロパティの値を設定します。

d2fitms_lov_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_LOV_NAMプロパティの値を設定します。

d2fitms_lov_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_LOV_OBJプロパティの値を設定します。

d2fitms_lov_x_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「X位置のリスト」プロパティの値を設定します。

d2fitms_lov_y_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「Y位置のリスト」プロパティの値を設定します。

d2fitms_lowest_allowed_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「最大許容値と最小許容値」プロパティの値を設定します。

d2fitms_lst_element_cnt( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「リストの要素数」プロパティの値を設定します。

d2fitms_lst_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「リストのスタイル」プロパティの値を設定します。

d2fitms_max_len( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「最大長」プロパティの値を設定します。

d2fitms_mlt_lin( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「複数行」プロパティの値を設定します。

d2fitms_module( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_MODULEプロパティの値を設定します。

d2fitms_mouse_navigate( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「マウス・ナビゲート」プロパティの値を設定します。

d2fitms_name( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「名前」プロパティの値を設定します。

d2fitms_next( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2fitms_nxt_navigation_itm_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_NAVIGATION_ITM_NAMプロパティの値を設定します。

d2fitms_nxt_navigation_itm_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_NAVIGATION_ITM_OBJプロパティの値を設定します。

d2fitms_ole_act_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLE有効スタイル」プロパティの値を設定します。

d2fitms_ole_class( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEクラス」プロパティの値を設定します。

d2fitms_ole_in_place_act( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLE配置有効化」プロパティの値を設定します。

d2fitms_ole_insd_out_support( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLE徹底サポート」プロパティの値を設定します。

d2fitms_ole_popup_mnu_itms( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEポップアップ・メニュー項目」プロパティの値を設定します。

d2fitms_ole_resiz_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEサイズ変更スタイル」プロパティの値を設定します。

d2fitms_ole_show_popup_menu( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEポップアップ・メニューの表示」プロパティの値を設定します。

d2fitms_ole_show_tnnt_typ( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEテナント・タイプの表示」プロパティの値を設定します。

d2fitms_ole_tnnt_aspct( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEテナント・アスペクト」プロパティの値を設定します。

d2fitms_ole_tnnt_typ( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「OLEテナント・タイプ」プロパティの値を設定します。

d2fitms_other_vals( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「その他の値のマッピング」プロパティの値を設定します。

d2fitms_owner( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_OWNERプロパティの値を設定します。

d2fitms_par_flnam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fitms_par_flpath( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fitms_par_modstr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_STRプロパティの値を設定します。

d2fitms_par_modtyp( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fitms_par_module( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fitms_par_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2fitms_popup_mnu_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ポップアップ・メニュー」プロパティの値を設定します。

d2fitms_popup_mnu_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_POPUP_MNU_OBJプロパティの値を設定します。

d2fitms_popup_va_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_POPUP_VA_OBJプロパティの値を設定します。

d2fitms_prev_navigation_itm_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「前ナビゲーション項目名」プロパティの値を設定します。

d2fitms_prev_navigation_itm_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PREV_NAVIGATION_ITM_OBJプロパティの値を設定します。

d2fitms_previous( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2fitms_prmpt( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト」プロパティの値を設定します。

d2fitms_prmpt_align( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト整列」プロパティの値を設定します。

d2fitms_prmpt_align_ofst( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト整列オフセット」プロパティの値を設定します。

d2fitms_prmpt_att_edge( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト連結枠」プロパティの値を設定します。

d2fitms_prmpt_att_ofst( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト連結オフセット」プロパティの値を設定します。

d2fitms_prmpt_back_color( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのバックグラウンド・カラー」プロパティの値を設定します。

d2fitms_prmpt_disp_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプト表示スタイル」プロパティの値を設定します。

d2fitms_prmpt_fill_pat( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトの塗りパターン」プロパティの値を設定します。

d2fitms_prmpt_font_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォント名」プロパティの値を設定します。

d2fitms_prmpt_font_siz( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォント・サイズ」プロパティの値を設定します。

d2fitms_prmpt_font_spcing( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォント間隔」プロパティの値を設定します。

d2fitms_prmpt_font_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォント・スタイル」プロパティの値を設定します。

d2fitms_prmpt_font_wght( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトのフォントの太さ」プロパティの値を設定します。

d2fitms_prmpt_fore_color( ctx, obj, val );

このマクロでは、項目・オブジェクトの「プロンプトのフォアグラウンド・カラー」プロパティの値を設定します。

d2fitms_prmpt_jst( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトの文字位置」プロパティの値を設定します。

d2fitms_prmpt_reading_ordr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトの読込み順」プロパティの値を設定します。

d2fitms_prmpt_vat_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「プロンプトの可視属性グループ」プロパティの値を設定します。

d2fitms_prmpt_vat_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_PRMPT_VAT_OBJプロパティの値を設定します。

d2fitms_prmry_key( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「主キー」プロパティの値を設定します。

d2fitms_qry_allowed( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「問合わせ許可」プロパティの値を設定します。

d2fitms_qry_len( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「問合わせの長さ」プロパティの値を設定します。

d2fitms_qry_only( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「問合せ専用」プロパティの値を設定します。

d2fitms_rad_but( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_RAD_BUTプロパティの値を設定します。

d2fitms_reading_ordr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「読込み順」プロパティの値を設定します。

d2fitms_rec_vat_grp_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「現行レコードの可視属性グループ」プロパティの値を設定します。

d2fitms_rec_vat_grp_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_REC_VAT_GRP_OBJプロパティの値を設定します。

d2fitms_rendered( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「処理完了」プロパティの値を設定します。

d2fitms_required( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「必須」プロパティの値を設定します。

d2fitms_show_fast_fwd( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「早送りボタン表示」プロパティの値を設定します。

d2fitms_show_horz_scrlbr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「水平スクロール・バー表示」プロパティの値を設定します。

d2fitms_show_palette( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「パレット表示」プロパティの値を設定します。

d2fitms_show_play( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「再生ボタン表示」プロパティの値を設定します。

d2fitms_show_rec( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「録音ボタン表示」プロパティの値を設定します。

d2fitms_show_rewind( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「巻き戻しボタン表示」プロパティの値を設定します。

d2fitms_show_slider( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「スライダ・ボタン表示」プロパティの値を設定します。

d2fitms_show_time( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「時間表示」プロパティの値を設定します。

d2fitms_show_vert_scrlbr( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「垂直スクロール・バー表示」プロパティの値を設定します。

d2fitms_show_volume( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ボリューム・コントロール表示」プロパティの値を設定します。

d2fitms_sizing_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サイズ設定スタイル」プロパティの値を設定します。

d2fitms_snd_fmt( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サウンド形式」プロパティの値を設定します。

d2fitms_snd_qlty( ctx, obj, val );

T子のマクロでは、｢項目｣オブジェクトの「サウンド品質」プロパティの値を設定します。

d2fitms_source( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_SOURCEプロパティの値を設定します。

d2fitms_summ_blk_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サマリー済みブロック」プロパティの値を設定します。

d2fitms_summ_func( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サマリー･ファンクション」プロパティの値を設定します。

d2fitms_summ_itm_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「サマリー結果項目」プロパティの値を設定します。

d2fitms_sync_itm_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「項目と同期」プロパティの値を設定します。

d2fitms_sync_itm_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_SYNC_ITM_OBJプロパティの値を設定します。

d2fitms_tbp_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_TBP_NAMプロパティの値を設定します。

d2fitms_tbp_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_TBP_OBJプロパティの値を設定します。

d2fitms_tooltip( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ツールチップ」プロパティの値を設定します。

d2fitms_tooltip_vat_grp( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「ツールチップ可視属性グループ」プロパティの値を設定します。

d2fitms_trigger( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_TRIGGERプロパティの値を設定します。

d2fitms_unchked_val( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「チェックなしの値」プロパティの値を設定します。

d2fitms_updt_allowed( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「更新許可」プロパティの値を設定します。

d2fitms_updt_commit( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「コミット更新」プロパティの値を設定します。

d2fitms_updt_if_null( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「NULLの場合のみ更新」プロパティの値を設定します。

d2fitms_updt_qry( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「問合せ更新」プロパティの値を設定します。

d2fitms_validate_from_lst( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「妥当性をリストから確認」プロパティの値を設定します。

d2fitms_vat_nam( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「可視属性グループ」プロパティの値を設定します。

d2fitms_val_obj( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトのD2FP_VAT_GRPプロパティの値を設定します。

d2fitms_visible( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「参照可能」プロパティの値を設定します。

d2fitms_while_on_black( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「白黒」プロパティの値を設定します。

d2fitms_width( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「幅と高さ」プロパティの値を設定します。

d2fitms_wrap_sty( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「折返しスタイル」プロパティの値を設定します。

d2fitms_x_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「X位置/Y位置」プロパティの値を設定します。

d2fitms_y_pos( ctx, obj, val );

このマクロでは、｢項目｣オブジェクトの「X位置/Y位置」プロパティの値を設定します。


「値リスト列マッピング」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「値リスト列マッピング」オブジェクトのマクロについて説明します。

d2flcmg_client_info( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2flcmg_disp_wid( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトの「表示幅」プロパティの値を数値型で戻します。

d2flcmg_name( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2flcmg_next( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2flcmg_previous( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2flcmg_rtrn_itm( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトの「戻り値リスト列マッピング」プロパティの値をテキスト型で戻します。

d2flcmg_title( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトの「タイトル」プロパティの値をテキスト型で戻します。

d2flcms_client_info( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2flcms_disp_wid( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトの「表示幅」プロパティの値を設定します。

d2flcms_name( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトの「名前」プロパティの値を設定します。

d2flcms_rtrn_itm( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトの「戻り値リスト列マッピング」プロパティの値を設定します。

d2flcms_title( ctx, obj, val );

このマクロでは、「値リスト列マッピング」オブジェクトの「タイトル」プロパティの値を設定します。


「値リスト（LOV）」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API値リスト （LOV）オブジェクトのマクロについて説明します。

d2flovg_auto_col_wid( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「列幅の自動調整」プロパティの値をブール型で戻します。

d2flovg_auto_disp( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動表示」プロパティの値をブール型で戻します。

d2flovg_auto_pos( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動位置決め」プロパティの値をブール型で戻します。

d2flovg_auto_rfrsh( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動リフレッシュ」プロパティの値をブール型で戻します。

d2flovg_auto_skip( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動スキップ」プロパティの値をブール型で戻します。

d2flovg_auto_slct( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動選択」プロパティの値をブール型で戻します。

d2flovg_back_color( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「バックグラウンド・カラー」プロパティの値を戻します。

d2flovg_client_info( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2flovg_col_map( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「値リスト列マッピング」プロパティの値をオブジェクト型で戻します。

d2flovg_comment( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2flovg_fill_pat( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「塗りパターン」プロパティの値をテキスト型で戻します。

d2flovg_fltr_before_disp( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フィルタ適用後表示」プロパティの値をブール型で戻します。

d2flovg_font_nam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォント名」プロパティの値をテキスト型で戻します。

d2flovg_font_siz( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォント・サイズ」プロパティの値を数値型で戻します。

d2flovg_font_spcing( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォント間隔」プロパティの値を数値型で戻します。

d2flovg_font_sty( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォント・スタイル」プロパティの値を数値型で戻します。

d2flovg_font_wght( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォントの太さ」プロパティの値を数値型で戻します。

d2flovg_fore_color( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2flovg_height( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2flovg_lang_dir( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの方向プロパティの値を数値型で戻します。

d2flovg_lst_typ( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「リスト・タイプ」プロパティの値を数値型で戻します。

d2flovg_module( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2flovg_name( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2flovg_next( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2flovg_old_lov_txt( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「旧値リストテキスト」プロパティの値をテキスト型で戻します。

d2flovg_owner( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2flovg_par_flnam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2flovg_par_flpath( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2flovg_par_modstr( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2flovg_par_modtyp( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2flovg_par_module( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2flovg_par_nam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2flovg_previous( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2flovg_rec_grp_nam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「レコード・グループ」プロパティの値をテキスト型で戻します。

d2flovg_rec_grp_obj( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_REC_GRP_OBJプロパティの値をオブジェクト型で戻します。

d2flovg_source( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2flovg_title( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「タイトル」プロパティの値をテキスト型で戻します。

d2flovg_vat_nam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「可視属性グループ」プロパティの値をテキスト型で戻します。

d2flovg_vat_obj( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_VAT_OBJプロパティの値をオブジェクト型で戻します。

d2flovg_white_on_black( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「白黒」プロパティの値をブール型で戻します。

d2flovg_width( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2flovg_x_pos( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「X位置/Y位置」プロパティの値を数値型で戻します。

d2flovg_y_pos( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「X位置/Y位置」プロパティの値を数値型で戻します。

d2flovs_auto_col_wid( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「列幅の自動調整」プロパティの値を設定します。

d2flovs_auto_disp( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動表示」プロパティの値を設定します。

d2flovs_auto_pos( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動位置決め」プロパティの値を設定します。

d2flovs_auto_rfrsh( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動リフレッシュ」プロパティの値を設定します。

d2flovs_auto_skip( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動スキップ」プロパティの値を設定します。

d2flovs_auto_slct( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「自動選択」プロパティの値を設定します。

d2flovs_back_color( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「バックグラウンド・カラー」プロパティの値を設定します。

d2flovs_client_info( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2flovs_col_map( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「値リスト列マッピング」プロパティの値を設定します。

d2flovs_comment( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「コメント」プロパティの値を設定します。

d2flovs_fill_pat( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「塗りパターン」プロパティの値を設定します。

d2flovs_fltr_before_disp( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フィルタ適用後表示」プロパティの値を設定します。

d2flovs_font_nam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォント名」プロパティの値を設定します。

d2flovs_font_siz( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォント・サイズ」プロパティの値を設定します。

d2flovs_font_spcing( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォント間隔」プロパティの値を設定します。

d2flovs_font_sty( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォント・スタイル」プロパティの値を設定します。

d2flovs_font_wght( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォントの太さ」プロパティの値を設定します。

d2flovs_fore_color( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「フォアグラウンド・カラー」オブジェクトの値を設定します。

d2flovs_height( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「幅と高さ」プロパティの値を設定します。

d2flovs_lang_dir( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの方向プロパティの値を設定します。

d2flovs_lst_typ( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「リスト・タイプ」プロパティの値を設定します。

d2flovs_module( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_MODULEプロパティの値を設定します。

d2flovs_name( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「名前」プロパティの値を設定します。

d2flovs_next( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2flovs_old_lov_txt( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「旧LOVテキスト」プロパティの値を設定します。

d2flovs_owner( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_OWNERプロパティの値を設定します。

d2flovs_par_flnam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2flovs_par_flpath( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2flovs_par_modstr( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2flovs_par_modtyp( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2flovs_par_module( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2flovs_par_nam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2flovs_previous( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2flovs_rec_grp_nam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「レコード・グループ」プロパティの値を設定します。

d2flovs_rec_grp_obj( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_REC_GRP_OBJプロパティの値を設定します。

d2flovs_source( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_SOURCEプロパティの値を設定します。

d2flovs_title( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「タイトル」プロパティの値を設定します。

d2flovs_vat_nam( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「可視属性グループ」プロパティの値を設定します。

d2flovs_xxx( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「XXX」プロパティの値を設定します。

d2flovs_vat_obj( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトのD2FP_VAT_OBJプロパティの値を設定します。

d2flovs_white_on_black( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「白黒」プロパティの値を設定します。

d2flovs_width( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「幅と高さ」プロパティの値を設定します。

d2flovs_x_pos( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「X位置/Y位置」プロパティの値を設定します。

d2flovs_y_pos( ctx, obj, val );

このマクロでは、「値リスト」オブジェクトの「X位置/Y位置」プロパティの値を設定します。


「メニュー」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「メニュー」オブジェクトのマクロについて説明します。

d2fmnug_btm_ttl( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「下部タイトル」プロパティの値をテキスト型で戻します。

d2fmnug_client_info( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fmnug_comment( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2fmnug_mnu_itm( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「メニュー項目タイプ」プロパティの値をオブジェクト型で戻します。

d2fmnug_module( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fmnug_name( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2fmnug_next( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fmnug_owner( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fmnug_par_flnam( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fmnug_par_flpath( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fmnug_par_modstr( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fmnug_par_modtyp( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fmnug_par_module( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fmnug_par_nam( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fmnug_previous( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fmnug_source( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fmnug_sub_ttl( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「サブ・タイトル」プロパティの値をテキスト型で戻します。

d2fmnug_tear_off_mnu( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「切離しメニュー」プロパティの値をブール型で戻します。

d2fmnug_title( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「タイトル」プロパティの値をテキスト型で戻します。

d2fmnus_btm_ttl( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「下部タイトル」プロパティの値を設定します。

d2fmnus_client_info( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fmnus_comment( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「コメント」プロパティの値を設定します。

d2fmnus_mnu_itm( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「メニュー項目タイプ」プロパティの値を設定します。

d2fmnus_module( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_MODULEプロパティの値を設定します。

d2fmnus_name( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「名前」プロパティの値を設定します。

d2fmnus_next( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2fmnus_owner( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_OWNERプロパティの値を設定します。

d2fmnus_par_flnam( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fmnus_par_flpath( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fmnus_par_modstr( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fmnus_par_modtyp( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fmnus_par_module( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fmnus_par_nam( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2fmnus_previous( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2fmnus_source( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトのD2FP_SOURCEプロパティの値を設定します。

d2fmnus_sub_ttl( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「サブ・タイトル」プロパティの値を設定します。

d2fmnus_tear_off_mnu( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「切離しメニュー」プロパティの値を設定します。

d2fmnus_title( ctx, obj, val );

このマクロでは、「メニュー」オブジェクトの「タイトル」プロパティの値を設定します。


「メニュー・モジュール」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「メニュー・モジュール」オブジェクトのマクロについて説明します。

d2fmmdg_att_lib( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_ATT_LIBプロパティの値をオブジェクト型で戻します。

d2fmmdg_client_info( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_CLIENT_INFOプロパティの値をdvoidポインタ形式で戻します。

d2fmmdg_comment( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2fmmdg_inhrt_sty( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_INHRT_STYプロパティの値を数値型で戻します。

d2fmmdg_main_mnu( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「メイン・メニュー」プロパティの値をテキスト型で戻します。

d2fmmdg_menu( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_MENUプロパティの値をオブジェクト型で戻します。

d2fmmdg_mnu_description( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「メニュー記述」プロパティの値をテキスト型で戻します。

d2fmmdg_mnu_drctry( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「メニュー・ディレクトリ」プロパティの値をテキスト型で戻します。

d2fmmdg_mnu_flnam( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「メニューのファイル名」プロパティの値をテキスト型で戻します。

d2fmmdg_mnu_param( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_MNU_PARAMプロパティの値をオブジェクト型で戻します。

d2fmmdg_name( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2fmmdg_mnu_next( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fmmdg_obj_grp( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_OBJ_GRPプロパティの値をオブジェクト型で戻します。

d2fmmdg_par_flnam( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fmmdg_par_flpath( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fmmdg_par_modstr( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fmmdg_par_modtyp( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fmmdg_par_module( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fmmdg_par_nam( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fmmdg_previous( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fmmdg_prog_unit( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PROG_UNITプロパティの値をオブジェクト型で戻します。

d2fmmdg_prop_class( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「プロパティ・クラス」プロパティの値をオブジェクト型で戻します。

d2fmmdg_role_count( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_ROLE_COUNTプロパティの値を数値型で戻します。

d2fmmdg_share_lib( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「ライブラリをフォームと共有」プロパティの値をブール型で戻します。

d2fmmdg_short_nam( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「短縮名」プロパティの値をテキスト型で戻します。

d2fmmdg_strtup_code( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「起動コード」プロパティの値をテキスト型で戻します。

d2fmmdg_use_security( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「セキュリティの使用」プロパティの値をブール型で戻します。

d2fmmdg_vis_attr( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_VIS_ATTRプロパティの値をオブジェクト型で戻します。

d2fmmds_client_info( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fmmds_comment( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「コメント」プロパティの値を設定します。

d2fmmds_inhrt_sty( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_INHRT_STYプロパティの値を設定します。

d2fmmds_main_mnu( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「メイン・メニュー」プロパティの値を設定します。

d2fmmds_menu( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_MENUプロパティの値を設定します。

d2fmmds_mnu_description( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「メニュー記述」プロパティの値を設定します。

d2fmmds_mnu_drctry( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「メニュー・ディレクトリ」プロパティの値を設定します。

d2fmmds_mnu_flnam( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「メニューのファイル名」プロパティの値を設定します。

d2fmmds_mnu_param( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_MNU_PARAMプロパティの値を設定します。

d2fmmds_name( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「名前」プロパティの値を設定します。

d2fmmds_mnu_next( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2fmmds_obj_grp( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_OBJ_GRPプロパティの値を設定します。

d2fmmds_par_flnam( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fmmds_par_flpath( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fmmds_par_modstr( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fmmds_par_modtyp( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fmmds_par_module( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fmmds_par_nam( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2fmmds_previous( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2fmmds_prog_unit( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_PROG_UNITプロパティの値を設定します。

d2fmmds_prop_class( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「プロパティ・クラス」プロパティの値を設定します。

d2fmmds_role_count( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトのD2FP_ROLE_COUNTプロパティの値を設定します。

d2fmmds_share_lib( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「ライブラリをフォームと共有」プロパティの値を設定します。

d2fmmds_short_nam( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「短縮名」プロパティの値を設定します。

d2fmmds_strtup_code( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「起動コード」プロパティの値を設定します。

d2fmmds_use_security( ctx, obj, val );

このマクロでは、「メニュー・モジュール」オブジェクトの「セキュリティの使用」プロパティの値を設定します。


「メニュー項目」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「メニュー項目」オブジェクトのマクロについて説明します。

d2fmnig_client_info( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fmnig_com_txt( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「コマンド・テキスト」プロパティの値をテキスト型で戻します。

d2fmnig_com_typ( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「コマンド・タイプ」プロパティの値を数値型で戻します。

d2fmnig_comment( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2fmnig_disp_no_priv( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「権限表示をしない」プロパティの値をブール型で戻します。

d2fmnig_enabled( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「使用可能」プロパティの値をブール型で戻します。

d2fmnig_font_nam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォント名」プロパティの値をテキスト型で戻します。

d2fmnig_font_siz( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォント・サイズ」プロパティの値を数値型で戻します。

d2fmnig_font_spcing( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォント間隔」プロパティの値を数値型で戻します。

d2fmnig_font_sty( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォント・スタイル」プロパティの値を数値型で戻します。

d2fmnig_font_wght( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォントの太さ」プロパティの値を数値型で戻します。

d2fmnig_hint( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「ヒント」プロパティの値をテキスト型で戻します。

d2fmnig_hlp_description( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「ヘルプ」プロパティの値をテキスト型で戻します。

d2fmnig_icon_flnam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「アイコンのファイル名」プロパティの値をテキスト型で戻します。

d2fmnig_icon_in_mnu( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「アイコン関係」プロパティの値をブール型で戻します。

d2fmnig_kdrd_acc( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「キーボード・アクセラレータ」プロパティの値をテキスト型で戻します。

d2fmnig_label( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「ラベル」プロパティの値をテキスト型で戻します。

d2fmnig_magic_itm( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「マジック項目」プロパティの値を数値型で戻します。

d2fmnig_mnu_itm_code( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_MNU_ITM_CODEプロパティの値をテキスト型で戻します。

d2fmnig_mnu_itm_rad_grp( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「メニュー項目ラジオ・グループ」プロパティの値をテキスト型で戻します。

d2fmnig_mnu_itm_typ( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「メニュー項目タイプ」プロパティの値を数値型で戻します。

d2fmnig_module( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fmnig_name( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2fmnig_next( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fmnig_owner( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fmnig_par_flnam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fmnig_par_flpath( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fmnig_par_modstr( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fmnig_par_modtyp( ctx, obj, val );

このマクロでは、メニュ｢項目｣オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fmnig_par_module( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fmnig_par_num( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_NUMプロパティの値をテキスト型で戻します。

d2fmnig_previous( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fmnig_role_count( ctx, obj, val );

このマクロでは、メニュ｢項目｣オブジェクトのD2FP_ROLE_COUNTプロパティの値を数値型で戻します。

d2fmnig_source( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fmnig_sub_mnu_nam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_SUB_MNU_NAMプロパティの値をテキスト型で戻します。

d2fmnig_sub_mnu_obj( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_SUB_MNU_OBJプロパティの値をオブジェクト型で戻します。

d2fmnig_vat_nam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「可視属性グループ」プロパティの値をテキスト型で戻します。

d2fmnig_vat_obj( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_VAT_OBJプロパティの値をオブジェクト型で戻します。

d2fmnig_visible( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「参照可能」プロパティの値をブール型で戻します。

d2fmnig_vsbl_in_horz_mnu_tlbr( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「水平/垂直メニュー・ツールバーに表示」プロパティの値をブール型で戻します。

d2fmnig_vsbl_in_menu( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「メニューに表示」プロパティの値をブール型で戻します。

d2fmnig_vsbl_in_vert_mnu_tlbr( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「水平/垂直メニュー・ツールバーに表示」プロパティの値をブール型で戻します。

d2fmnis_client_info( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fmnis_com_txt( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「コマンド・テキスト」プロパティの値を設定します。

d2fmnis_com_typ( ctx, obj, val );

このマクロでは、メニュ｢項目｣オブジェクトの「コマンド・タイプ」プロパティの値を設定します。

d2fmnis_comment( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「コメント」プロパティの値を設定します。

d2fmnis_disp_no_priv( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「権限表示をしない」プロパティの値を設定します。

d2fmnis_enabled( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「使用可能」プロパティの値を設定します。

d2fmnis_font_nam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォント名」プロパティの値を設定します。

d2fmnis_font_siz( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォント・サイズ」プロパティの値を設定します。

d2fmnis_font_spcing( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォント間隔」プロパティの値を設定します。

d2fmnis_font_sty( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォント・スタイル」プロパティの値を設定します。

d2fmnis_font_wght( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「フォントの太さ」プロパティの値を設定します。

d2fmnis_hint( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「ヒント」プロパティの値を設定します。

d2fmnis_hlp_description( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「ヘルプ」プロパティの値を設定します。

d2fmnis_icon_flnam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「アイコンのファイル名」プロパティの値を設定します。

d2fmnis_icon_in_mnu( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「アイコン関係」プロパティの値を設定します。

d2fmnis_kdrd_acc( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「キーボード・アクセラレータ」プロパティの値を設定します。

d2fmnis_label( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「ラベル」プロパティの値を設定します。

d2fmnis_magic_itm( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「マジック項目」プロパティの値を設定します。

d2fmnis_mnu_itm_code( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_MNU_ITM_CODEプロパティの値を設定します。

d2fmnis_mnu_itm_rad_grp( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「メニュー項目ラジオ・グループ」プロパティの値を設定します。

d2fmnis_mnu_itm_typ( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「メニュー項目タイプ」プロパティの値を設定します。

d2fmnis_module( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_MODULEプロパティの値を設定します。

d2fmnis_name( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「名前」プロパティの値を設定します。

d2fmnis_next( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2fmnis_owner( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_OWNERプロパティの値を設定します。

d2fmnis_par_flnam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fmnis_par_flpath( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fmnis_par_modstr( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fmnis_par_modtyp( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fmnis_par_module( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fmnis_par_num( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PAR_NUMプロパティの値を設定します。

d2fmnis_previous( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2fmnis_role_count( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_ROLE_COUNTプロパティの値を設定します。

d2fmnis_source( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_SOURCEプロパティの値を設定します。

d2fmnis_sub_mnu_nam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_SUB_MNU_NAMプロパティの値を設定します。

d2fmnis_sub_mnu_obj( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_SUB_MNU_OBJプロパティの値を設定します。

d2fmnis_vat_nam( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「可視属性グループ」プロパティの値を設定します。

d2fmnis_vat_obj( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトのD2FP_VAT_OBJプロパティの値を設定します。

d2fmnis_visible( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「参照可能」プロパティの値を設定します。

d2fmnis_vsbl_in_horz_mnu_tlbr( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「水平/垂直メニュー・ツールバーに表示」プロパティの値を設定します。

d2fmnis_vsbl_in_menu( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「メニューに表示」プロパティの値を設定します。

d2fmnis_vsbl_in_vert_mnu_tlbr( ctx, obj, val );

このマクロでは、「メニュー項目」オブジェクトの「水平/垂直メニュー・ツールバーに表示」プロパティの値を設定します。


「メニュー・パラメータ」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「メニュー・パラメータ」オブジェクトのマクロについて説明します。

d2fmpmg_assoc_menus_count( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_ASSOC_MENUS_COUNTプロパティの値を数値型で戻します。

d2fmpmg_assoc_mnus( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「関連メニュー」プロパティの値をオブジェクト型で戻します。

d2fmpmg_case_rstrction( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「大文字小文字の制約」プロパティの値を数値型で戻します。

d2fmpmg_client_info( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fmpmg_comment( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2fmpmg_conceal_data( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「データの非表示」プロパティの値をブール型で戻します。

d2fmpmg_fixed_len( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「固定長」プロパティの値をブール型で戻します。

d2fmpmg_hint( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「ヒント」プロパティの値をテキスト型で戻します。

d2fmpmg_label( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「ラベル」プロパティの値をテキスト型で戻します。

d2fmpmg_max_len( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「最大長」プロパティの値を数値型で戻します。

d2fmpmg_mnu_param_init_val( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「メニュー・パラメータ初期値」プロパティの値をテキスト型で戻します。

d2fmpmg_module( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fmpmg_name( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2fmpmg_next( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fmpmg_owner( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fmpmg_par_flnam( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fmpmg_par_flpath( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fmpmg_par_modstr( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fmpmg_par_modtyp( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fmpmg_par_module( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fmpmg_par_nam( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fmpmg_previous( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fmpmg_required( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_REQUIREDプロパティの値をブール型で戻します。

d2fmpmg_source( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fmpms_assoc_mnus( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「関連メニュー」プロパティの値を設定します。

d2fmpms_case_rstrction( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「大文字小文字の制約」プロパティの値を設定します。

d2fmpms_client_info( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fmpms_comment( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「コメント」プロパティの値を設定します。

d2fmpms_conceal_data( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「データの非表示」プロパティの値を設定します。

d2fmpms_fixed_len( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「固定長」プロパティの値を設定します。

d2fmpms_hint( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「ヒント」プロパティの値を設定します。

d2fmpms_label( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「ラベル」プロパティの値を設定します。

d2fmpms_max_len( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「最大長」プロパティの値を設定します。

d2fmpms_mnu_param_init_val( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「メニュー・パラメータ初期値」プロパティの値を設定します。

d2fmpms_module( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_MODULEプロパティの値を設定します。

d2fmpms_name( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトの「名前」プロパティの値を設定します。

d2fmpms_next( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2fmpms_owner( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_OWNERプロパティの値を設定します。

d2fmpms_par_flnam( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fmpms_par_flpath( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fmpms_par_modstr( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fmpms_par_modtyp( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fmpms_par_module( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fmpms_par_nam( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2fmpms_previous( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2fmpms_required( ctx, obj, val );

このマクロでは、「メニュー・パラメータ」オブジェクトのD2FP_REQUIREDプロパティの値を設定します。


オブジェクト（一般オブジェクト）のマクロ

  関連項目

この項では、Form BuilderのOpen APIオブジェクト（一般オブジェクト）のマクロについて説明します。

d2fobg_access_key( ctx, obj, val );

このマクロでは、オブジェクトの「アクセス・キー」プロパティの値をテキスト型で戻します。

d2fobg_activex_class( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ACTIVEX_CLASSプロパティの値をテキスト型で戻します。

d2fobg_acitvex_val_prop( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ACTIVEX_VAL_PROPプロパティの値をテキスト型で戻します。

d2fobg_alert( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ALERTプロパティの値をオブジェクト型で戻します。

d2fobg_allow_expansion( ctx, obj, val );

このマクロでは、オブジェクトの「拡張許可」プロパティの値をブール型で戻します。

d2fobg_allow_mlt_lin_prmpts( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの複数行許可」プロパティの値をブール型で戻します。

d2fobg_allow_strt_att_prmpts( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの起動時連結許可」プロパティの値をブール型で戻します。

d2fobg_allow_top_att_prpmts( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの先頭連結許可」プロパティの値をブール型で戻します。

d2fobg_alt_msg( ctx, obj, val );

このマクロでは、オブジェクトの「メッセージ」プロパティの値をテキスト型で戻します。

d2fobg_alt_sty( ctx, obj, val );

このマクロでは、オブジェクトの「警告スタイル」プロパティの値を数値型で戻します。

d2fobg_arrow_sty( ctx, obj, val );

このマクロでは、オブジェクトの「線矢印のスタイル」プロパティの値を数値型で戻します。

d2fobg_menus_count( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MENUS_COUNTプロパティの値を数値型で戻します。

d2fobg_assoc_mnus( ctx, obj, val );

このマクロでは、オブジェクトの「関連メニュー」プロパティの値をオブジェクト型で戻します。

d2fobg_att_lib( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ATT_LIBプロパティの値をオブジェクト型で戻します。

d2fobg_audio_chnnls( ctx, obj, val );

このマクロでは、オブジェクトの「オーディオ・チャンネル」プロパティの値を数値型で戻します。

d2fobg_auto_col_wid( ctx, obj, val );

このマクロでは、オブジェクトの「列幅の自動調整」プロパティの値をブール型で戻します。

d2fobg_auto_disp( ctx, obj, val );

このマクロでは、オブジェクトの「自動表示」プロパティの値をブール型で戻します。

d2fobg_auto_hint( ctx, obj, val );

このマクロでは、オブジェクトの「ヒントの自動表示」プロパティの値をブール型で戻します。

d2fobg_auto_pos( ctx, obj, val );

このマクロでは、オブジェクトの「自動位置決め」プロパティの値をブール型で戻します。

d2fobg_auto_qry( ctx, obj, val );

このマクロでは、オブジェクトの「問合せの自動処理」プロパティの値をブール型で戻します。

d2fobg_auto_rfrsh( ctx, obj, val );

このマクロでは、オブジェクトの「自動リフレッシュ」プロパティの値をブール型で戻します。

d2fobg_auto_skp( ctx, obj, val );

このマクロでは、オブジェクトの「自動スキップ」プロパティの値をブール型で戻します。

d2fobg_auto_slct( ctx, obj, val );

このマクロでは、オブジェクトの「自動選択」プロパティの値をブール型で戻します。

d2fobg_back_color( ctx, obj, val );

このマクロでは、オブジェクトの「バックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fobg_xxx( ctx, obj, val );

このマクロでは、オブジェクトの「XXX」プロパティの値を数値型で戻します。

d2fobg_bevel( ctx, obj, val );

このマクロでは、オブジェクトの「凹凸」プロパティの値を数値型で戻します。

d2fobg_blk_description( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_BLK_DESCRIPTIONプロパティの値をテキスト型で戻します。

d2fobg_block( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_BLOCKプロパティの値をオブジェクト型で戻します。

d2fobg_bounding_bx_scalable( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_BOUNDING_BX_SCALABLEプロパティの値をブール型で戻します。

d2fobg_btm_ttl( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_BTM_TTLプロパティの値をテキスト型で戻します。

d2fobg_btn_1_lbl( ctx, obj, val );

このマクロでは、オブジェクトの「ボタン1のラベル」プロパティの値をテキスト型で戻します。

d2fobg_btn_2_lbl( ctx, obj, val );

このマクロでは、オブジェクトの「ボタン2のラベル」プロパティの値をテキスト型で戻します。

d2fobg_btn_3_lbl( ctx, obj, val );

このマクロでは、オブジェクトの「ボタン3のラベル」プロパティの値をテキスト型で戻します。

d2fobg_calc_mode( ctx, obj, val );

このマクロでは、オブジェクトの「計算モード」プロパティの値を数値型で戻します。

d2fobg_canvas( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_CANVASプロパティの値をオブジェクト型で戻します。

d2fobg_cap_sty( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠の端形式」プロパティの値を数値型で戻します。

d2fobg_case_insensitive_qry( ctx, obj, val );

このマクロでは、オブジェクトの「大文字小文字を区別しない問合せ」プロパティの値をブール型で戻します。

d2fobg_case_restriction( ctx, obj, val );

このマクロでは、オブジェクトの「大文字小文字の制約」プロパティの値を数値型で戻します。

d2fobg_chk_bx_other_vals( ctx, obj, val );

このマクロでは、オブジェクトの「その他の値のチェックボックスのマッピング」プロパティの値を数値型で戻します。

d2fobg_chked_val( ctx, obj, val );

このマクロでは、オブジェクトの「チェックあり」プロパティの値をテキスト型で戻します。

d2fobg_client_info( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_CLIENT_INFOプロパティの値をdvoidポインタ形式で戻します。

d2fobg_clip_hgt( ctx, obj, val );

このマクロでは、オブジェクトの「切り取り四角形の高さ」プロパティの値を数値型で戻します。

d2fobg_clip_wid( ctx, obj, val );

このマクロでは、オブジェクトの「切り取り四角形の幅」プロパティの値を数値型で戻します。

d2fobg_clip_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「切り取り四角形のX原点」プロパティの値を数値型で戻します。

d2fobg_clip_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「切り取り四角形のY原点」プロパティの値を数値型で戻します。

d2fobg_closed( ctx, obj, val );

このマクロでは、オブジェクトの「多角形フラグと円弧の閉じ」プロパティの値をブール型で戻します。

d2fobg_cls_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「クローズ許可」プロパティの値をブール型で戻します。

d2fobg_cmprssion_qlty( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_CMPRSSION_QLTYプロパティの値を数値型で戻します。

d2fobg_cnv_nam( ctx, obj, val );

このマクロでは、オブジェクトの「キャンバス」プロパティの値をテキスト型で戻します。

d2fobg_cnv_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_CNV_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_cnv_typ( ctx, obj, val );

このマクロでは、オブジェクトの「キャンバス・タイプ」プロパティの値を数値型で戻します。

d2fobg_col_dat_typ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_COL_DAT_TYPプロパティの値を数値型で戻します。

d2fobg_col_map( ctx, obj, val );

このマクロでは、オブジェクトの「列のマッピング・プロパティ」プロパティの値をオブジェクト型で戻します。

d2fobg_col_nam( ctx, obj, val );

このマクロでは、オブジェクトの「列名」プロパティの値をテキスト型で戻します。

d2fobg_col_spec( ctx, obj, val );

このマクロでは、オブジェクトの「列仕様部」プロパティの値をオブジェクト型で戻します。

d2fobg_col_vals_count( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_COL_VALS_COUNTプロパティの値を数値型で戻します。

d2fobg_com_txt( ctx, obj, val );

このマクロでは、オブジェクトの「コマンド・テキスト」プロパティの値をテキスト型で戻します。

d2fobg_com_typ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_COM_TYPプロパティの値を数値型で戻します。

d2fobg_comm_mode( ctx, obj, val );

このマクロでは、オブジェクトの「通信モード」プロパティの値を数値型で戻します。

d2fobg_comment( ctx, obj, val );

このマクロでは、オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2fobg_compress( ctx, obj, val );

このマクロでは、オブジェクトの「圧縮」プロパティの値を数値型で戻します。

d2fobg_conceal_data( ctx, obj, val );

このマクロでは、オブジェクトの「データの非表示」プロパティの値をブール型で戻します。

d2fobg_console_win( ctx, obj, val );

このマクロでは、オブジェクトの「コンソール・ウィンドウ」プロパティの値をテキスト型で戻します。

d2fobg_copy_val_from_itm( ctx, obj, val );

このマクロでは、オブジェクトの「項目から値をコピー」プロパティの値をテキスト型で戻します。

d2fobg_corner_radius_x( ctx, obj, val );

このマクロでは、オブジェクトの「丸い四角形の角の丸め半径のX原点」プロパティの値を数値型で戻します。

d2fobg_corner_radius_y( ctx, obj, val );

このマクロでは、オブジェクトの「丸い四角形の角の丸め半径のY原点」プロパティの値を数値型で戻します。

d2fobg_crsr_mode( ctx, obj, val );

このマクロでは、オブジェクトの「カーソル・モード」プロパティの値を数値型で戻します。

d2fobg_cstm_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「テキスト・オブジェクトのカスタム間隔」プロパティの値を数値型で戻します。

d2fobg_dash_sty( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠の種類」プロパティの値を数値型で戻します。

d2fobg_dat_src_blk( ctx, obj, val );

このマクロでは、オブジェクトの「データ・ソース・ブロック」プロパティの値をテキスト型で戻します。

d2fobg_dat_src_x_axs( ctx, obj, val );

このマクロでは、オブジェクトの「データ・ソースのX軸」プロパティの値をテキスト型で戻します。

d2fobg_dat_src_y_axs( ctx, obj, val );

このマクロでは、オブジェクトの「データ・ソースY軸のX原点」プロパティの値をテキスト型で戻します。

d2fobg_dat_typ( ctx, obj, val );

このマクロでは、オブジェクトの「データ型」プロパティの値を数値型で戻します。

d2fobg_db_blk( ctx, obj, val );

このマクロでは、オブジェクトの「データベース・ブロック」プロパティの値をブール型で戻します。

d2fobg_db_itm( ctx, obj, val );

このマクロでは、オブジェクトの「データベース項目」プロパティの値をブール型で戻します。

d2fobg_defer_req_enf( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DEFER_REQ_ENFプロパティの値をブール型で戻します。

d2fobg_deferred( ctx, obj, val );

このマクロでは、オブジェクトの「延期」プロパティの値をブール型で戻します。

d2fobg_del_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「削除可」プロパティの値をブール型で戻します。

d2fobg_del_proc_nam( ctx, obj, val );

このマクロでは、オブジェクトの「削除プロシージャ名」プロパティの値をテキスト型で戻します。

d2fobg_del_rec( ctx, obj, val );

このマクロでは、オブジェクトの「レコードの削除動作」プロパティの値を数値型で戻します。

d2fobg_detail_blk( ctx, obj, val );

このマクロでは、オブジェクトの「詳細ブロック」プロパティの値をテキスト型で戻します。

d2fobg_dflt_alt_btn( ctx, obj, val );

このマクロでは、オブジェクトの「デフォルト警告ボタン」プロパティの値を数値型で戻します。

d2fobg_dflt_btn( ctx, obj, val );

このマクロでは、オブジェクトの「デフォルト・ボタン」プロパティの値をブール型で戻します。

d2fobg_disp_in_kbrd_hlp( ctx, obj, val );

このマクロでは、オブジェクトの「キーボード・ヘルプに表示」プロパティの値をブール型で戻します。

d2fobg_disp_no_priv( ctx, obj, val );

このマクロでは、オブジェクトの「権限表示をしない」プロパティの値をブール型で戻します。

d2fobg_disp_qlty( ctx, obj, val );

このマクロでは、オブジェクトの「画質」プロパティの値を数値型で戻します。

d2fobg_disp_wid( ctx, obj, val );

このマクロでは、オブジェクトの「画面幅」プロパティの値を数値型で戻します。

d2fobg_dist_bwwn_recs( ctx, obj, val );

このマクロでは、オブジェクトの「レコード間の距離」プロパティの値を数値型で戻します。

d2fobg_dither( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックス・ディザ・イメージ」プロパティの値をブール型で戻します。

d2fobg_dml_ary_siz( ctx, obj, val );

このマクロでは、オブジェクトの「DML配列の大きさ」プロパティの値を数値型で戻します。

d2fobg_dml_dat_nam( ctx, obj, val );

このマクロでは、オブジェクトの「DMLデータ宛先名」プロパティの値をテキスト型で戻します。

d2fobg_dml_dat_typ( ctx, obj, val );

このマクロでは、オブジェクトの「DMLデータ・ターゲット・タイプ」プロパティの値を数値型で戻します。

d2fobg_dsa_mode( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_MODEプロパティの値を数値型で戻します。

d2fobg_dsa_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_NAMプロパティの値をテキスト型で戻します。

d2fobg_dsa_typ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_TYPEプロパティの値を数値型で戻します。

d2fobg_dsa_typ_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_TYP_NAMプロパティの値をテキスト型で戻します。

d2fobg_dsa_val( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_VALプロパティの値をテキスト型で戻します。

d2fobg_dsc_len( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_LENプロパティの値を数値型で戻します。

d2fobg_dsc_mandatory( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_MANDATORYプロパティの値をブール型で戻します。

d2fobg_dsc_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_NAMプロパティの値をテキスト型で戻します。

d2fobg_dsc_precision( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_PRECISIONプロパティの値を数値型で戻します。

d2fobg_dsc_scale( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_SCALEプロパティの値を数値型で戻します。

d2fobg_dsc_typ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_TYPプロパティの値を数値型で戻します。

d2fobg_edge_back_color( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠のバックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fobg_edge_fore_color( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠のフォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fobg_editor( ctx, obj, val );

このマクロでは、オブジェクトの「エディタ」プロパティの値をオブジェクト型で戻します。

d2fobg_edt_nam( ctx, obj, val );

このマクロでは、オブジェクトの「エディタ名」プロパティの値をテキスト型で戻します。

d2fobg_edt_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_EDT_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_edt_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「エディタのX位置とエディタの7位置」プロパティの値を数値型で戻します。

d2fobg_edt_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「エディタのX位置とエディタの7位置」プロパティの値を数値型で戻します。

d2fobg_enabled( ctx, obj, val );

このマクロでは、オブジェクトの「使用可能」プロパティの値をブール型で戻します。

d2fobg_enfrc_col_security( ctx, obj, val );

このマクロでは、オブジェクトの「列にセキュリティを強制」プロパティの値をブール型で戻します。

d2fobg_enfrc_prmry_key( ctx, obj, val );

このマクロでは、オブジェクトの「主キーを強制」プロパティの値をブール型で戻します。

d2fobg_exec_hierarchy( ctx, obj, val );

このマクロでは、オブジェクトの「実行スタイル」プロパティの値を数値型で戻します。

d2fobg_exec_mode( ctx, obj, val );

このマクロでは、オブジェクトの「実行モード」プロパティの値を数値型で戻します。

d2fobg_fill_pat( ctx, obj, val );

このマクロでは、オブジェクトの「塗りパターン」プロパティの値をテキスト型で戻します。

d2fobg_fire_in_qry( ctx, obj, val );

このマクロでは、オブジェクトの「問合せ入力モードを起動」プロパティの値をブール型で戻します。

d2fobg_fixed_bounding_bx( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクトの枠ボックスの固定サイズ」プロパティの値をブール型で戻します。

d2fobg_fixed_len( ctx, obj, val );

このマクロでは、オブジェクトの「固定長」プロパティの値をブール型で戻します。

d2fobg_flnam( ctx, obj, val );

このマクロでは、オブジェクトの「ファイル名」プロパティの値をテキスト型で戻します。

d2fobg_fltr_before_disp( ctx, obj, val );

このマクロでは、オブジェクトの「フィルタ適用後表示」プロパティの値をブール型で戻します。

d2fobg_fmt_msk( ctx, obj, val );

このマクロでは、オブジェクトの「書式マスク」プロパティの値をテキスト型で戻します。

d2fobg_font_nam( ctx, obj, val );

このマクロでは、オブジェクトの「フォント名」プロパティの値をテキスト型で戻します。

d2fobg_font_scaleable( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクトのポイント・サイズ・スケール」プロパティの値をブール型で戻します。

d2fobg_font_siz( ctx, obj, val );

このマクロでは、オブジェクトの「フォント・サイズ」プロパティの値を数値型で戻します。

d2fobg_font_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「フォント間隔」プロパティの値を数値型で戻します。

d2fobg_font_sty( ctx, obj, val );

このマクロでは、オブジェクトの「フォント・スタイル」プロパティの値を数値型で戻します。

d2fobg_font_wght( ctx, obj, val );

このマクロでは、オブジェクトの「XXX」プロパティの値を数値型で戻します。

d2fobg_fore_color( ctx, obj, val );

このマクロでは、オブジェクトの「フォント・カラー」プロパティの値をテキスト型で戻します。

d2fobg_form_param( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_FORM_PARAMプロパティの値をオブジェクト型で戻します。

d2fobg_formula( ctx, obj, val );

このマクロでは、オブジェクトの「式」プロパティの値をテキスト型で戻します。

d2fobg_frame_align( ctx, obj, val );

このマクロでは、オブジェクトの「枠整列」プロパティの値を数値型で戻します。

d2fobg_frame_ttl( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトル」プロパティの値をテキスト型で戻します。

d2fobg_frame_ttl_align( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトル整列」プロパティの値を数値型で戻します。

d2fobg_frame_ttl_back_color( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのバックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fobg_frame_ttl_fill_pat( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルの塗りパターン」プロパティの値をテキスト型で戻します。

d2fobg_frame_ttl_font_nam( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォント名」プロパティの値をテキスト型で戻します。

d2fobg_frame_ttl_font_siz( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォント・サイズ」プロパティの値を数値型で戻します。

d2fobg_frame_ttl_font_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォント間隔」プロパティの値を数値型で戻します。

d2fobg_frame_ttl_font_sty( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォント・スタイル」プロパティの値を数値型で戻します。

d2fobg_frame_ttl_font_wght( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォントの太さ」プロパティの値を数値型で戻します。

d2fobg_frame_ttl_fore_color( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fobg_frame_ttl_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのオフセット」プロパティの値を数値型で戻します。

d2fobg_frame_ttl_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルの間隔」プロパティの値を数値型で戻します。

d2fobg_frame_ttl_vat_nam( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルの可視属性グループ」プロパティの値をテキスト型で戻します。

d2fobg_frame_ttl_val_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_FRAME_TTL_VAL_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_frst_navigation_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトの「最初のナビゲーション・ブロック」プロパティの値をテキスト型で戻します。

d2fobg_frst_navigation_blk_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_FRST_NAVIGATION_BLK_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_gra_font_nam( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックスのフォント名」プロパティの値をテキスト型で戻します。

d2fobg_gra_font_siz( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックスのフォント・サイズ」プロパティの値を数値型で戻します。

d2fobg_gra_font_sty( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックスのフォント・スタイル」プロパティの値を数値型で戻します。

d2fobg_gra_text( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックスのテキスト」プロパティの値をテキスト型で戻します。

d2fobg_graphic( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_GRAPHICプロパティの値をオブジェクト型で戻します。

d2fobg_graphics_typ( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックスのオブジェクト・タイプ」プロパティの値を数値型で戻します。

d2fobg_height( ctx, obj, val );

このマクロでは、オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2fobg_hide_on_exit( ctx, obj, val );

このマクロでは、オブジェクトの「終了時に隠す」プロパティの値を数値型で戻します。

d2fobg_highest_allowed_val( ctx, obj, val );

このマクロでは、オブジェクトの「最大許容値と最小許容値」プロパティの値をテキスト型で戻します。

d2fobg_hint( ctx, obj, val );

このマクロでは、オブジェクトの「ヒント」プロパティの値をテキスト型で戻します。

d2fobg_hlp_description( ctx, obj, val );

このマクロでは、オブジェクトの「ヘルプ」プロパティの値をテキスト型で戻します。

d2fobg_horz_jst( ctx, obj, val );

このマクロでは、オブジェクトの「テキスト・オブジェクトの水平文字揃え」プロパティの値を数値型で戻します。

d2fobg_horz_margn( ctx, obj, val );

このマクロでは、オブジェクトの「水平マージン」プロパティの値を数値型で戻します。

d2fobg_horz_obj_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「水平オブジェクト・オフセット」プロパティの値を数値型で戻します。

d2fobg_horz_orgn( ctx, obj, val );

このマクロでは、オブジェクトの「原点に対する水平の位置関係」プロパティの値を数値型で戻します。

d2fobg_horz_tlbr_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「水平ツールバーのキャンバス」プロパティの値をテキスト型で戻します。

d2fobg_htb_cnv_name( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_HTB_CNV_NAMEプロパティの値をテキスト型で戻します。

d2fobg_icon_flnam( ctx, obj, val );

このマクロでは、オブジェクトの「アイコンのファイル名」プロパティの値をテキスト型で戻します。

d2fobg_icon_in_mnu( ctx, obj, val );

このマクロでは、オブジェクトのD2FO_ICON_IN_MNUプロパティの値をブール型で戻します。

d2fobg_iconic( ctx, obj, val );

このマクロでは、オブジェクトの「アイコン」プロパティの値をブール型で戻します。

d2fobg_img_dpth( ctx, obj, val );

このマクロでは、オブジェクトの「イメージの深さ」プロパティの値を数値型で戻します。

d2fobg_img_fmt( ctx, obj, val );

このマクロでは、オブジェクトの「イメージ・フォーマット」プロパティの値を数値型で戻します。

d2fobg_inhrt_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「継承メニュー」プロパティの値をブール型で戻します。

d2fobg_inhrt_sty( ctx, obj, val );

このマクロでは、オブジェクトの「継承スタイル」プロパティの値を数値型で戻します。

d2fobg_init_kgrd_dir( ctx, obj, val );

このマクロでは、オブジェクトの「初期キーボード方向」プロパティの値を数値型で戻します。

d2fobg_init_menu( ctx, obj, val );

このマクロでは、オブジェクトの「初期メニュー」プロパティの値をテキスト型で戻します。

d2fobg_init_val( ctx, obj, val );

このマクロでは、オブジェクトの「初期値」プロパティの値をテキスト型で戻します。

d2fobg_insrt_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「挿入可」プロパティの値をブール型で戻します。

d2fobg_insrt_proc_nam( ctx, obj, val );

このマクロでは、オブジェクトの「挿入プロシージャ名」プロパティの値をテキスト型で戻します。

d2fobg_interaction_mode( ctx, obj, val );

このマクロでは、オブジェクトの「相互作用モード」プロパティの値を数値型で戻します。

d2fobg_internal_end_angle( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_INTERNAL_END_ANGLEプロパティの値を数値型で戻します。

d2fobg_internal_lin_wid( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_INTERNAL_LIN_WIDプロパティの値を数値型で戻します。

d2fobg_internal_rotation_angle( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_INTERNAL_ROTATION_ANGLEプロパティの値を数値型で戻します。

d2fobg_internal_strt_angle( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_INTERNAL_STRT_ANGLEプロパティの値を数値型で戻します。

d2fobg_isolation_mode( ctx, obj, val );

このマクロでは、オブジェクトの「孤立モード」プロパティの値を数値型で戻します。

d2fobg_item( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ITEMプロパティの値をオブジェクト型で戻します。

d2fobg_itm_typ( ctx, obj, val );

このマクロでは、オブジェクトの「項目タイプ」プロパティの値を数値型で戻します。

d2fobg_itms_disp( ctx, obj, val );

このマクロでは、オブジェクトの「表示項目数」プロパティの値を数値型で戻します。

d2fobg_join_cond( ctx, obj, val );

このマクロでは、オブジェクトの「結合条件」プロパティの値をテキスト型で戻します。

d2fobg_join_sty( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠の結合形式」プロパティの値を数値型で戻します。

d2fobg_justification( ctx, obj, val );

このマクロでは、オブジェクトの「文字位置」プロパティの値を数値型で戻します。

d2fobg_kbrd_acc( ctx, obj, val );

このマクロでは、オブジェクトの「キーボードのアクセラレータ」プロパティの値をテキスト型で戻します。

d2fobg_kbrd_hlp_txt( ctx, obj, val );

このマクロでは、オブジェクトの「キーボードのヘルプ記述」プロパティの値をテキスト型で戻します。

d2fobg_kbrd_navigable( ctx, obj, val );

このマクロでは、オブジェクトの「キーボードのナビゲート可能」プロパティの値をブール型で戻します。

d2fobg_kbrd_state( ctx, obj, val );

このマクロでは、オブジェクトの「キーボードの状態」プロパティの値を数値型で戻します。

d2fobg_keep_crsr_pos( ctx, obj, val );

このマクロでは、オブジェクトの「カーソル位置の保管」プロパティの値をブール型で戻します。

d2fobg_key_mode( ctx, obj, val );

このマクロでは、オブジェクトの「キー・モード」プロパティの値を数値型で戻します。

d2fobg_label( ctx, obj, val );

このマクロでは、オブジェクトの「ラベル」プロパティの値をテキスト型で戻します。

d2fobg_lang_dir( ctx, obj, val );

このマクロでは、オブジェクトの方向プロパティの値を数値型で戻します。

d2fobg_layout_data_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトの「データ・ブロックのレイアウト」プロパティの値をテキスト型で戻します。

d2fobg_layout_sty( ctx, obj, val );

このマクロでは、オブジェクトの「レイアウト・スタイル」プロパティの値を数値型で戻します。

d2fobg_lib_loc( ctx, obj, val );

このマクロでは、オブジェクトの「PL/SQLライブラリの場所」プロパティの値をテキスト型で戻します。

d2fobg_lib_src( ctx, obj, val );

このマクロでは、オブジェクトの「PL/SQLライブラリ・ソース」プロパティの値を数値型で戻します。

d2fobg_lin_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「行間」プロパティの値を数値型で戻します。

d2fobg_lock_mode( ctx, obj, val );

このマクロでは、オブジェクトの「ロック・モード」プロパティの値を数値型で戻します。

d2fobg_lock_proc_nam( ctx, obj, val );

このマクロでは、オブジェクトの「ロック・プロシージャ名」プロパティの値をテキスト型で戻します。

d2fobg_lock_rec( ctx, obj, val );

このマクロでは、オブジェクトの「レコードのロック」プロパティの値をブール型で戻します。

d2fobg_lov( ctx, obj, val );

このマクロでは、オブジェクトの「値リスト」プロパティの値をオブジェクト型で戻します。

d2fobg_lov_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_LOV_NAMプロパティの値をテキスト型で戻します。

d2fobg_lov_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_LOV_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_lov_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「X位置のリスト」プロパティの値を数値型で戻します。

d2fobg_lov_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「Y位置のリスト」プロパティの値を数値型で戻します。

d2fobg_lowest_allowed_val( ctx, obj, val );

このマクロでは、オブジェクトの「最大許容値と最小許容値」プロパティの値をテキスト型で戻します。

d2fobg_lst_element_count( ctx, obj, val );

このマクロでは、オブジェクトの「リストの要素数」プロパティの値を数値型で戻します。

d2fobg_lst_in_blk_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「ブロック・メニューに表示」プロパティの値をブール型で戻します。

d2fobg_lst_sty( ctx, obj, val );

このマクロでは、オブジェクトの「リスト・スタイル」プロパティの値を数値型で戻します。

d2fobg_lst_typ( ctx, obj, val );

このマクロでは、オブジェクトの「リスト・タイプ」プロパティの値を数値型で戻します。

d2fobg_magic_itm( ctx, obj, val );

このマクロでは、オブジェクトの「マジック項目」プロパティの値を数値型で戻します。

d2fobg_main_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「メイン・メニュー」プロパティの値をテキスト型で戻します。

d2fobg_max_len( ctx, obj, val );

このマクロでは、オブジェクトの「最大長」プロパティの値を数値型で戻します。

d2fobg_max_objs( ctx, obj, val );

このマクロでは、オブジェクトの「1行あたりの最大オブジェクト数」プロパティの値を数値型で戻します。

d2fobg_max_qry_time( ctx, obj, val );

このマクロでは、オブジェクトの「最長問合せ時間」プロパティの値を数値型で戻します。

d2fobg_max_recs_fetched( ctx, obj, val );

このマクロでは、オブジェクトの「フェッチ･レコードの最大数」プロパティの値を数値型で戻します。

d2fobg_maximize_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「最大化許可」プロパティの値をブール型で戻します。

d2fobg_menu( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MENUプロパティの値をオブジェクト型で戻します。

d2fobg_minimize_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「最小化許可」プロパティの値をブール型で戻します。

d2fobg_minimize_ttl( ctx, obj, val );

このマクロでは、オブジェクトの「タイトル最小化」プロパティの値をテキスト型で戻します。

d2fobg_mlt_lin( ctx, obj, val );

このマクロでは、オブジェクトの「複数行」プロパティの値をブール型で戻します。

d2fobg_mnu_description( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー記述」プロパティの値をテキスト型で戻します。

d2fobg_mnu_drctry( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・ディレクトリ」プロパティの値をテキスト型で戻します。

d2fobg_mnu_flnam( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・ファイル名」プロパティの値をテキスト型で戻します。

d2fobg_mnu_itm( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー項目タイプ」プロパティの値をオブジェクト型で戻します。

d2fobg_mnu_itm_code( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MNU_ITM_CODEプロパティの値をテキスト型で戻します。

d2fobg_mnu_itm_rad_grp( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー項目ラジオ・グループ」プロパティの値をテキスト型で戻します。

d2fobg_mnu_itm_typ( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー項目タイプ」プロパティの値を数値型で戻します。

d2fobg_mnu_mod( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・モジュール」プロパティの値をテキスト型で戻します。

d2fobg_mnu_param( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MNU_PARAMプロパティの値をオブジェクト型で戻します。

d2fobg_mnu_param_init_val( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・パラメータ初期値」プロパティの値をテキスト型で戻します。

d2fobg_mnu_role( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・モジュールのロール」プロパティの値をテキスト型で戻します。

d2fobg_mnu_src( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・ソース」プロパティの値を数値型で戻します。

d2fobg_mnu_sty( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・スタイル」プロパティの値を数値型で戻します。

d2fobg_modal( ctx, obj, val );

このマクロでは、オブジェクトの「モーダル」プロパティの値をブール型で戻します。

d2fobg_module( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fobg_mouse_navigate( ctx, obj, val );

このマクロでは、オブジェクトの「マウス・ナビゲート」プロパティの値をブール型で戻します。

d2fobg_mouse_navigation_lmt( ctx, obj, val );

このマクロでは、オブジェクトの「マウス・ナビゲーション・リミット」プロパティの値を数値型で戻します。

d2fobg_mv_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「移動許可」プロパティの値をブール型で戻します。

d2fobg_name( ctx, obj, val );

このマクロでは、オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2fobg_navigation_sty( ctx, obj, val );

このマクロでは、オブジェクトの「ナビゲーション形式」プロパティの値を数値型で戻します。

d2fobg_next( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fobg_nxt_navigation_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NXT_NAVIGATION_BLK_NAMプロパティの値をテキスト型で戻します。

d2fobg_nxt_navigation_blk_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NXT_NAVIGATION_BLK_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_nxt_navigation_itm_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NXT_NAVIGATION_ITM_NAMプロパティの値をテキスト型で戻します。

d2fobg_nxt_navigation_itm_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NXT_NAVIGATION_ITM_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_obj_grp( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_OBJ_GRPプロパティの値をオブジェクト型で戻します。

d2fobg_obj_grp_child_real_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_OBJ_GRP_CHILD_REAL_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_og_child( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_OG_CHILDプロパティの値をオブジェクト型で戻します。

d2fobg_old_lov_txt( ctx, obj, val );

このマクロでは、オブジェクトの「旧値リストテキスト」プロパティの値をテキスト型で戻します。

d2fobg_ole_act_sty( ctx, obj, val );

このマクロでは、オブジェクトの「OLE有効スタイル」プロパティの値を数値型で戻します。

d2fobg_ole_class( ctx, obj, val );

このマクロでは、オブジェクトの「OLEクラス」プロパティの値をテキスト型で戻します。

d2fobg_ole_in_place_act( ctx, obj, val );

このマクロでは、オブジェクトの「OLEの配置有効化」プロパティの値をブール型で戻します。

d2fobg_ole_insd_out_support( ctx, obj, val );

このマクロでは、オブジェクトの「OLEの徹底サポート」プロパティの値をブール型で戻します。

d2fobg_ole_popup_mnu_itms( ctx, obj, val );

このマクロでは、オブジェクトの「OLEポップアップ・メニュー項目」プロパティの値を数値型で戻します。

d2fobg_ole_resiz_sty( ctx, obj, val );

このマクロでは、オブジェクトの「OLEのサイズ変更スタイル」プロパティの値を数値型で戻します。

d2fobg_ole_show_popup_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「OLEポップアップ・メニューの表示」プロパティの値をブール型で戻します。

d2fobg_ole_show_tnnt_typ( ctx, obj, val );

このマクロでは、オブジェクトの「OLEテナント・タイプの表示」プロパティの値をブール型で戻します。

d2fobg_ole_tnnt_aspct( ctx, obj, val );

このマクロでは、オブジェクトの「OLEテナント・アスペクト」プロパティの値を数値型で戻します。

d2fobg_ole_tnnt_typ( ctx, obj, val );

このマクロでは、オブジェクトの「OLEテナント・タイプ」プロパティの値を数値型で戻します。

d2fobg_opt_hint( ctx, obj, val );

このマクロでは、オブジェクトの「オプティマイザ・ヒント」プロパティの値をテキスト型で戻します。

d2fobg_ordr_by_clause( ctx, obj, val );

このマクロでは、オブジェクトの「句順」プロパティの値をテキスト型で戻します。

d2fobg_other_vals( ctx, obj, val );

このマクロでは、オブジェクトの「その他の値のマッピング」プロパティの値をテキスト型で戻します。

d2fobg_owner( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fobg_par_flnam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fobg_par_flpath( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fobg_par_modstr( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fobg_par_modtyp( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fobg_par_module( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fobg_par_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fobg_param_dat_typ( ctx, obj, val );

このマクロでは、オブジェクトの「パラメータのデータ型」プロパティの値を数値型で戻します。

d2fobg_param_init_val( ctx, obj, val );

このマクロでは、オブジェクトの「パラメータ初期値」プロパティの値をテキスト型で戻します。

d2fobg_pgu_txt( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PGU_TEXTプロパティの値をテキスト型で戻します。

d2fobg_popup_mnu_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_POPUP_MNU_NAMプロパティの値をテキスト型で戻します。

d2fobg_popup_mnu_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_POPUP_MNU_OBJプロパティの値をテキスト型で戻します。

d2fobg_popup_va_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_POPUP_VA_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_precomp_summ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PRECOMP_SUMMプロパティの値をブール型で戻します。

d2fobg_prev_navigation_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトの「前のナビゲーション･データ･ブロック」プロパティの値をテキスト型で戻します。

d2fobg_prev_navigation_blk_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PREV_NAVIGATION_BLK_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_prev_navigation_itm_nam( ctx, obj, val );

このマクロでは、オブジェクトの「前ナビゲーション項目名」プロパティの値をテキスト型で戻します。

d2fobg_prev_navigation_itm_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PREV_NAVIGATION_ITM_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_previous( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fobg_prmpt( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト」プロパティの値をテキスト型で戻します。

d2fobg_prmpt_align( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト整列」プロパティの値を数値型で戻します。

d2fobg_prmpt_align_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト整列オフセット」プロパティの値を数値型で戻します。

d2fobg_prmpt_att_edge( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト連結枠」プロパティの値を数値型で戻します。

d2fobg_prmpt_att_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト連結オフセット」プロパティの値を数値型で戻します。

d2fobg_prmpt_back_color( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのバックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fobg_prmpt_disp_sty( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト表示スタイル」プロパティの値を数値型で戻します。

d2fobg_prmpt_fill_pat( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの塗りパターン」プロパティの値をテキスト型で戻します。

d2fobg_prmpt_font_nam( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォント名」プロパティの値をテキスト型で戻します。

d2fobg_prmpt_font_siz( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォント・サイズ」プロパティの値を数値型で戻します。

d2fobg_prmpt_font_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォント間隔」プロパティの値を数値型で戻します。

d2fobg_prompt_font_sty( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォント・スタイル」プロパティの値を数値型で戻します。

d2fobg_prmpt_font_wght( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォントの太さ」プロパティの値を数値型で戻します。

d2fobg_prmpt_fore_color( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2fobg_prmpt_jst( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの文字位置」プロパティの値を数値型で戻します。

d2fobg_prmpt_reading_ordr( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの読込み順」プロパティの値を数値型で戻します。

d2fobg_prmpt_vat_nam( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの可視属性グループ」プロパティの値をテキスト型で戻します。

d2fobg_prmpt_vat_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PRMPT_VAT_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_prmry_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「主キャンバス」プロパティの値をテキスト型で戻します。

d2fobg_prmry_key( ctx, obj, val );

このマクロでは、オブジェクトの「主キー」プロパティの値をブール型で戻します。

d2fobg_prog_unit( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PROG_UNITプロパティの値をオブジェクト型で戻します。

d2fobg_prop_class( ctx, obj, val );

このマクロでは、オブジェクトの「プロパティ・クラス」プロパティの値をオブジェクト型で戻します。

d2fobg_prvnt_mstrless_ops( ctx, obj, val );

このマクロでは、オブジェクトの「マスターのない操作の回避」プロパティの値をブール型で戻します。

d2fobg_qry_all_recs( ctx, obj, val );

このマクロでは、オブジェクトの「全レコードの問合せ」プロパティの値をブール型で戻します。

d2fobg_qry_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「問合せ可」プロパティの値をブール型で戻します。

d2fobg_qry_dat_src_nam( ctx, obj, val );

このマクロでは、オブジェクトの「問合せデータ・ソース名」プロパティの値をテキスト型で戻します。

d2fobg_qry_dat_src_type( ctx, obj, val );

このマクロでは、オブジェクトの「問合せデータ・ソース・タイプ」プロパティの値を数値型で戻します。

d2fobg_qry_len( ctx, obj, val );

このマクロでは、オブジェクトの「問合せの長さ」プロパティの値を数値型で戻します。

d2fobg_qry_only( ctx, obj, val );

このマクロでは、オブジェクトの「問合せ専用」プロパティの値をブール型で戻します。

d2fobg_rad_but( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_RAD_BUTプロパティの値をオブジェクト型で戻します。

d2fobg_raise_on_entry( ctx, obj, val );

このマクロでは、オブジェクトの「入力時にコール」プロパティの値をブール型で戻します。

d2fobg_rdb_val( ctx, obj, val );

このマクロでは、オブジェクトの「ラジオ・ボタンの値」プロパティの値をテキスト型で戻します。

d2fobg_reading_ordr( ctx, obj, val );

このマクロでは、オブジェクトの「読込み順」プロパティの値を数値型で戻します。

d2fobg_rec_grp( ctx, obj, val );

このマクロでは、オブジェクトの「レコード・グループ」プロパティの値をオブジェクト型で戻します。

d2fobg_rec_grp_fetch_siz( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_REC_GRP_FETCH_SIZプロパティの値を数値型で戻します。

d2fobg_rec_grp_nam( ctx, obj, val );

このマクロでは、オブジェクトの「レコード・グループ」プロパティの値をテキスト型で戻します。

d2fobg_rec_grp_obj( ctx, obj, val );

このマクロでは、オブジェクトの D2FP_REC_GRP_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_rec_grp_qry( ctx, obj, val );

このマクロでは、オブジェクトの「レコード・グループの問合せ」プロパティの値をテキスト型で戻します。

d2fobg_rec_grp_typ( ctx, obj, val );

このマクロでは、オブジェクトの「レコード・グループ・タイプ」プロパティの値を数値型で戻します。

d2fobg_rec_ornt( ctx, obj, val );

このマクロでは、オブジェクトの「レコードの方向」プロパティの値を数値型で戻します。

d2fobg_rec_vat_grp_nam( ctx, obj, val );

このマクロでは、オブジェクトの「現行レコードの可視属性グループ」プロパティの値をテキスト型で戻します。

d2fobg_rec_vat_grp_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_REC_VAT_GRP_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_recs_buffered_count( ctx, obj, val );

このマクロでは、オブジェクトの「バッファ・レコード数」プロパティの値を数値型で戻します。

d2fobg_recs_disp_count( ctx, obj, val );

このマクロでは、オブジェクトの「表示レコード数」プロパティの値を数値型で戻します。

d2fobg_recs_fetched_count( ctx, obj, val );

このマクロでは、オブジェクトの「レコードのフェッチ」プロパティの値を数値型で戻します。

d2fobg_rel( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_RELプロパティの値をオブジェクト型で戻します。

d2fobg_rendered( ctx, obj, val );

このマクロでは、オブジェクトの「処理完了」プロパティの値をブール型で戻します。

d2fobg_report( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_REPORTプロパティの値をオブジェクト型で戻します。

d2fobg_required( ctx, obj, val );

このマクロでは、オブジェクトの「必須」プロパティの値をブール型で戻します。

d2fobg_resize_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「サイズ変更許可」プロパティの値をブール型で戻します。

d2fobg_rev_dir( ctx, obj, val );

このマクロでは、オブジェクトの「方向転換」プロパティの値をブール型で戻します。

d2fobg_rpt_destination_fmt( ctx, obj, val );

このマクロでは、オブジェクトの「レポート宛先フォーマット」プロパティの値をテキスト型で戻します。

d2fobg_rpt_destination_nam( ctx, obj, val );

このマクロでは、オブジェクトの「レポート宛先名」プロパティの値をテキスト型で戻します。

d2fobg_rpt_destination_typ( ctx, obj, val );

このマクロでは、オブジェクトの「レポート宛先タイプ」プロパティの値を数値型で戻します。

d2fobg_rpt_params( ctx, obj, val );

このマクロでは、オブジェクトの「その他のレポート・パラメータ」プロパティの値をテキスト型で戻します。

d2fobg_rpt_srvr( ctx, obj, val );

このマクロでは、オブジェクトの「レポート・サーバー」プロパティの値をテキスト型で戻します。

d2fobg_rtrn_itm( ctx, obj, val );

このマクロでは、オブジェクトの「戻り項目」プロパティの値をテキスト型で戻します。

d2fobg_runtime_comp( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_RUNTIME_COMPプロパティの値を数値型で戻します。

d2fobg_scrlbr_align( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バー整列」プロパティの値を数値型で戻します。

d2fobg_scrlbr_cnv_nam( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バー・キャンバス」プロパティの値をテキスト型で戻します。

d2fobg_scrlbr_cnv_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SCRLBR_CNV_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_scrlbr_hgt( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーの高さ」プロパティの値を数値型で戻します。

d2fobg_scrlbr_ornt( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーの方向」プロパティの値を数値型で戻します。

d2fobg_scrlbr_tbp_nam( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーのタブ・ページ」プロパティの値をテキスト型で戻します。

d2fobg_scrlbr_tbp_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SCRLBR_TBP_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_scrlbr_wid( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーの幅」プロパティの値を数値型で戻します。

d2fobg_scrlbr_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーのX位置」プロパティの値を数値型で戻します。

d2fobg_scrlbr_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーのY位置」プロパティの値を数値型で戻します。

d2fobg_share_lib( ctx, obj, val );

このマクロでは、オブジェクトの「ライブラリをフォームと共有」プロパティの値をブール型で戻します。

d2fobg_short_nam( ctx, obj, val );

このマクロでは、オブジェクトの「短縮名」プロパティの値をテキスト型で戻します。

d2fobg_show_fast_fwd( ctx, obj, val );

このマクロでは、オブジェクトの「早送りボタン表示」プロパティの値をブール型で戻します。

d2fobg_show_horz_scrlbr( ctx, obj, val );

このマクロでは、オブジェクトの「水平スクロール・バー表示」プロパティの値をブール型で戻します。

d2fobg_show_palette( ctx, obj, val );

このマクロでは、オブジェクトの「パレット表示」プロパティの値をブール型で戻します。

d2fobg_show_play( ctx, obj, val );

このマクロでは、オブジェクトの「再生ボタン表示」プロパティの値をブール型で戻します。

d2fobg_show_rec( ctx, obj, val );

このマクロでは、オブジェクトの「録音ボタン表示」プロパティの値をブール型で戻します。

d2fobg_show_rewind( ctx, obj, val );

このマクロでは、オブジェクトの「巻き戻しボタン表示」プロパティの値をブール型で戻します。

d2fobg_show_scrlbr( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バー表示」プロパティの値をブール型で戻します。

d2fobg_show_slider( ctx, obj, val );

このマクロでは、オブジェクトの「スライダ表示」プロパティの値をブール型で戻します。

d2fobg_show_time( ctx, obj, val );

このマクロでは、オブジェクトの「時間表示」プロパティの値をブール型で戻します。

d2fobg_show_vert_scrlbr( ctx, obj, val );

このマクロでは、オブジェクトの「垂直スクロール・バー表示」プロパティの値をブール型で戻します。

d2fobg_show_volumn( ctx, obj, val );

このマクロでは、オブジェクトの「ボリューム・コントロール表示」プロパティの値をブール型で戻します。

d2fobg_shrinkwrap( ctx, obj, val );

このマクロでは、オブジェクトの「シュリンクラップ」プロパティの値をブール型で戻します。

d2fobg_sizing_sty( ctx, obj, val );

このマクロでは、オブジェクトの「サイズ設定スタイル」プロパティの値を数値型で戻します。

d2fobg_snd_fmt( ctx, obj, val );

このマクロでは、オブジェクトの「サウンド形式」プロパティの値を数値型で戻します。

d2fobg_snd_qlty( ctx, obj, val );

このマクロでは、オブジェクトの「サウンド品質」プロパティの値を数値型で戻します。

d2fobg_sngl_obj_align( ctx, obj, val );

このマクロでは、オブジェクトの「シングル・オブジェクト整列」プロパティの値を数値型で戻します。

d2fobg_sngl_rec( ctx, obj, val );

このマクロでは、オブジェクトの「単一レコード」プロパティの値をブール型で戻します。

d2fobg_source( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fobg_strt_prmpt_align( ctx, obj, val );

このマクロでは、オブジェクトの「開始プロンプト整列」プロパティの値を数値型で戻します。

d2fobg_strt_prmpt_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「開始プロンプトのオフセット」プロパティの値を数値型で戻します。

d2fobg_strtup_code( ctx, obj, val );

このマクロでは、オブジェクトの「起動コード」プロパティの値をテキスト型で戻します。

d2fobg_sub_mnu_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SUB_MNU_NAMプロパティの値をテキスト型で戻します。

d2fobg_sub_mnu_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SUB_MNU_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_sub_ttl( ctx, obj, val );

このマクロでは、オブジェクトの「サブ・タイトル」プロパティの値をテキスト型で戻します。

d2fobg_summ_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトの「サマリー済みブロック」プロパティの値をテキスト型で戻します。

d2fobg_summ_func( ctx, obj, val );

このマクロでは、オブジェクトの「サマリー･ファンクション」プロパティの値を数値型で戻します。

d2fobg_summ_itm_nam( ctx, obj, val );

このマクロでは、オブジェクトの「サマリー結果項目」プロパティの値をテキスト型で戻します。

d2fobg_svpnt_mode( ctx, obj, val );

このマクロでは、オブジェクトの「セーブポイント・モード」プロパティの値をブール型で戻します。

d2fobg_sync_itm_nam( ctx, obj, val );

このマクロでは、オブジェクトの「項目と同期」プロパティの値をテキスト型で戻します。

d2fobg_sync_itm_obj( ctx, obj, val );

このマクロでは、オブジェクトのd2FP_SYNC_ITM_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_tab_att_edge( ctx, obj, val );

このマクロでは、オブジェクトの「タブ連結枠」プロパティの値を数値型で戻します。

d2fobg_tab_page( ctx, obj, val );

このマクロでは、オブジェクトの「タブ・ページ」プロパティの値をオブジェクト型で戻します。

d2fobg_tab_sty( ctx, obj, val );

このマクロでは、オブジェクトの「タブ・スタイル」プロパティの値を数値型で戻します。

d2fobg_tbp_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_TBP_NAMプロパティの値をテキスト型で戻します。

d2fobg_tbp_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_TBP_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_tear_off_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「切離しメニュー」プロパティの値をブール型で戻します。

d2fobg_title( ctx, obj, val );

このマクロでは、オブジェクトの「タイトル」プロパティの値をテキスト型で戻します。

d2fobg_tooltip( ctx, obj, val );

このマクロでは、オブジェクトの「ツールチップ」プロパティの値をテキスト型で戻します。

d2fobg_tooltip_vat_grp, val );

このマクロでは、オブジェクトの「ツールチップ可視属性グループ」プロパティの値をテキスト型で戻します。

d2fobg_top_prmpt_align( ctx, obj, val );

このマクロでは、オブジェクトの「上プロンプト整列」プロパティの値を数値型で戻します。

d2fobg_top_prmpt_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「上プロンプトのオフセット」プロパティの値を数値型で戻します。

d2fobg_trg_sty( ctx, obj, val );

このマクロでは、オブジェクトの「トリガー・スタイル」プロパティの値を数値型で戻します。

d2fobg_trg_txt( ctx, obj, val );

このマクロでは、オブジェクトの「トリガー・テキスト」プロパティの値をテキスト型で戻します。

d2fobg_trg_typ( ctx, obj, val );

このマクロでは、オブジェクトの「トリガー・タイプ」プロパティの値を数値型で戻します。

d2fobg_trigger( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_TRIGGERプロパティの値をオブジェクト型で戻します。

d2fobg_ttl_reading_ordr( ctx, obj, val );

このマクロでは、オブジェクトの「タイトルの読込み順」プロパティの値を数値型で戻します。

d2fobg_unchked_val( ctx, obj, val );

このマクロでは、オブジェクトの「チェックなしの値」プロパティの値をテキスト型で戻します。

d2fobg_updt_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「更新許可」プロパティの値をブール型で戻します。

d2fobg_updt_changed_cols( ctx, obj, val );

このマクロでは、オブジェクトの「変更列のみ更新」プロパティの値をブール型で戻します。

d2fobg_updt_commit( ctx, obj, val );

このマクロでは、オブジェクトの「コミット更新」プロパティの値をブール型で戻します。

d2fobg_updt_if_null( ctx, obj, val );

このマクロでは、オブジェクトの「NULLの場合のみ更新」プロパティの値をブール型で戻します。

d2fobg_updt_layout( ctx, obj, val );

このマクロでは、オブジェクトの「レイアウトを更新」プロパティの値を数値型で戻します。

d2fobg_updt_proc_nam( ctx, obj, val );

このマクロでは、オブジェクトの「更新プロシージャ名」プロパティの値をテキスト型で戻します。

d2fobg_updt_qry( ctx, obj, val );

このマクロでは、オブジェクトの「問合せ更新」プロパティの値をブール型で戻します。

d2fobg_use_3D_cntrls( ctx, obj, val );

このマクロでは、オブジェクトの「3Dコントロールの使用」プロパティの値をブール型で戻します。

d2fobg_use_security( ctx, obj, val );

このマクロでは、オブジェクトの「セキュリティの使用」プロパティの値をブール型で戻します。

d2fobg_validate_from_list( ctx, obj, val );

このマクロでは、オブジェクトの「妥当性をリストから確認」プロパティの値をブール型で戻します。

d2fobg_validation unit( ctx, obj, val );

このマクロでは、オブジェクトの「妥当性チェック単位」プロパティの値を数値型で戻します。

d2fobg_vat_nam( ctx, obj, val );

このマクロでは、オブジェクトの「可視属性グループ」プロパティの値をテキスト型で戻します。

d2fobg_vat_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_VAT_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_vat_typ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_VAT_TYPEプロパティの値を数値型で戻します。

d2fobg_vert_fill( ctx, obj, val );

このマクロでは、オブジェクトの「垂直方向の埋込み」プロパティの値をブール型で戻します。

d2fobg_vert_jst( ctx, obj, val );

このマクロでは、オブジェクトの「垂直文字位置」プロパティの値を数値型で戻します。

d2fobg_vert_margn( ctx, obj, val );

このマクロでは、オブジェクトの「垂直方向のマージン」プロパティの値を数値型で戻します。

d2fobg_vert_obj_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「垂直方向のオブジェクト・オフセット」プロパティの値を数値型で戻します。

d2fobg_vert_orgn( ctx, obj, val );

このマクロでは、オブジェクトの「原点に対する垂直の位置関係」プロパティの値を数値型で戻します。

d2fobg_vert_tlbr_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「垂直ツールバーのキャンバス」プロパティの値をテキスト型で戻します。

d2fobg_vis_attr( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_VIS_ATTRプロパティの値をオブジェクト型で戻します。

d2fobg_visible( ctx, obj, val );

このマクロでは、オブジェクトの「参照可能」プロパティの値をブール型で戻します。

d2fobg_vprt_hgt( ctx, obj, val );

このマクロでは、オブジェクトの「ビューポートの高さ」プロパティの値を数値型で戻します。

d2fobg_vrpt_wid( ctx, obj, val );

このマクロでは、オブジェクトの「ビューポートの幅」プロパティの値を数値型で戻します。

d2fobg_vprt_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「ビューポートのX位置」プロパティの値を数値型で戻します。

d2fobg_vrpt_x_pos_on_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「キャンバス上のビューポートのX位置」プロパティの値を数値型で戻します。

d2fobg_vrpt_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「ビューポートのY位置」プロパティの値を数値型で戻します。

d2fobg_vrpt_y_pos_on_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「キャンバス上のビューポートのY位置」プロパティの値を数値型で戻します。

d2fobg_vsbl_in_horz_mnu_tlbr( ctx, obj, val );

このマクロでは、オブジェクトの「水平/垂直メニュー・ツールバーに表示」プロパティの値をブール型で戻します。

d2fobg_vsbl_in_menu( ctx, obj, val );

このマクロでは、オブジェクトの「メニューに表示」プロパティの値をブール型で戻します。

d2fobg_vsbl_in_vert_mnu_tlbr( ctx, obj, val );

このマクロでは、オブジェクトの「XXX」プロパティの値をブール型で戻します。

d2fobg_vtb_cnv_name( ctx, obj, val );

このマクロでは、オブジェクトの「垂直ツールバーのキャンバス」プロパティの値をテキスト型で戻します。

d2fobg_where_clause( ctx, obj, val );

このマクロでは、オブジェクトの「WHERE句」プロパティの値をテキスト型で戻します。

d2fobg_white_on_black( ctx, obj, val );

このマクロでは、オブジェクトの「白黒」プロパティの値をブール型で戻します。

d2fobg_width( ctx, obj, val );

このマクロでは、オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2fobg_win_sty( ctx, obj, val );

このマクロでは、オブジェクトの「ウィンドウ・スタイル」プロパティの値を数値型で戻します。

d2fobg_window( ctx, obj, val );

このマクロでは、オブジェクトの「ウィンドウ」プロパティの値をオブジェクト型で戻します。

d2fobg_wnd_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_WND_NAMプロパティの値をテキスト型で戻します。

d2fobg_wnd_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_WND_OBJプロパティの値をオブジェクト型で戻します。

d2fobg_wrap_sty( ctx, obj, val );

このマクロでは、オブジェクトの「折返しスタイル」プロパティの値を数値型で戻します。

d2fobg_wrap_txt( ctx, obj, val );

このマクロでは、オブジェクトの「テキストの折返し」プロパティの値をブール型で戻します。

d2fobg_x_pos( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_X_POSITIONプロパティの値を数値型で戻します。

d2fobg_y_pos( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_Y _POSITIONプロパティの値を数値型で戻します。

d2fobs_access_key( ctx, obj, val );

このマクロでは、オブジェクトの「アクセス・キー」プロパティの値を設定します。

d2fobs_activex_class( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ACTIVEX_CLASSプロパティの値を設定します。

d2fobs_acitvex_val_prop( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ACTIVEX_VAL_PROPプロパティの値を設定します。

d2fobs_alert( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ALERTプロパティの値を設定します。

d2fobs_allow_expansion( ctx, obj, val );

このマクロでは、オブジェクトの「拡張許可」プロパティの値を設定します。

d2fobs_allow_mlt_lin_prmpts( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの複数行許可」プロパティの値を設定します。

d2fobs_allow_strt_att_prmpts( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの起動時連結許可」プロパティの値を設定します。

d2fobs_allow_top_att_prpmts( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの先頭連結許可」プロパティの値を設定します。

d2fobs_alt_msg( ctx, obj, val );

このマクロでは、オブジェクトの「メッセージ」プロパティの値を設定します。

d2fobs_alt_sty( ctx, obj, val );

このマクロでは、オブジェクトの「警告スタイル」プロパティの値を設定します。

d2fobs_arrow_sty( ctx, obj, val );

このマクロでは、オブジェクトの「線矢印のスタイル」プロパティの値を設定します。

d2fobs_menus_count( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MENUS_COUNTプロパティの値を設定します。

d2fobs_assoc_mnus( ctx, obj, val );

このマクロでは、オブジェクトの「関連メニュー」プロパティの値を設定します。

d2fobs_att_lib( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ATT_LIBプロパティの値を設定します。

d2fobs_audio_chnnls( ctx, obj, val );

このマクロでは、オブジェクトの「オーディオ・チャンネル」プロパティの値を設定します。

d2fobs_auto_col_wid( ctx, obj, val );

このマクロでは、オブジェクトの「列幅の自動調整」プロパティの値を設定します。

d2fobs_auto_disp( ctx, obj, val );

このマクロでは、オブジェクトの「自動表示」プロパティの値を設定します。

d2fobs_auto_hint( ctx, obj, val );

このマクロでは、オブジェクトの「ヒントの自動表示」プロパティの値を設定します。

d2fobs_auto_pos( ctx, obj, val );

このマクロでは、オブジェクトの「自動位置決め」プロパティの値を設定します。

d2fobs_auto_qry( ctx, obj, val );

このマクロでは、オブジェクトの「問合せの自動処理」プロパティの値を設定します。

d2fobs_auto_rfrsh( ctx, obj, val );

このマクロでは、オブジェクトの「自動リフレッシュ」プロパティの値を設定します。

d2fobs_auto_skp( ctx, obj, val );

このマクロでは、オブジェクトの「自動スキップ」プロパティの値を設定します。

d2fobs_auto_slct( ctx, obj, val );

このマクロでは、オブジェクトの「自動選択」プロパティの値を設定します。

d2fobs_back_color( ctx, obj, val );

このマクロでは、オブジェクトの「バックグラウンド・カラー」プロパティの値を設定します。

d2fobs_xxx( ctx, obj, val );

このマクロでは、オブジェクトの「XXX」プロパティの値を設定します。

d2fobs_bevel( ctx, obj, val );

このマクロでは、オブジェクトの「凹凸」プロパティの値を設定します。

d2fobs_blk_description( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_BLK_DESCRIPTIONプロパティの値を設定します。

d2fobs_block( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_BLOCKプロパティの値を設定します。

d2fobs_bounding_bx_scalable( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_BOUNDING_BX_SCALABLEプロパティの値を設定します。

d2fobs_btm_ttl( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_BTM_TTLプロパティの値を設定します。

d2fobs_btn_1_lbl( ctx, obj, val );

このマクロでは、オブジェクトの「ボタン1のラベル」プロパティの値を設定します。

d2fobs_btn_2_lbl( ctx, obj, val );

このマクロでは、オブジェクトの「ボタン2のラベル」プロパティの値を設定します。

d2fobs_btn_3_lbl( ctx, obj, val );

このマクロでは、オブジェクトの「ボタン3のラベル」プロパティの値を設定します。

d2fobs_calc_mode( ctx, obj, val );

このマクロでは、オブジェクトの「計算モード」プロパティの値を設定します。

d2fobs_canvas( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_CANVASプロパティの値を設定します。

d2fobs_cap_sty( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠の端形式」プロパティの値を設定します。

d2fobs_case_insensitive_qry( ctx, obj, val );

このマクロでは、オブジェクトの「大文字小文字を区別しない問合せ」プロパティの値を設定します。

d2fobs_case_restriction( ctx, obj, val );

このマクロでは、オブジェクトの「大文字小文字の制約」プロパティの値を設定します。

d2fobs_chk_bx_other_vals( ctx, obj, val );

このマクロでは、オブジェクトの「その他の値のチェックボックスのマッピング」プロパティの値を設定します。

d2fobs_chked_val( ctx, obj, val );

このマクロでは、オブジェクトの「チェックあり」プロパティの値を設定します。

d2fobs_client_info( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fobs_clip_hgt( ctx, obj, val );

このマクロでは、オブジェクトの「切り取る四角形の高さ」プロパティの値を設定します。

d2fobs_clip_wid( ctx, obj, val );

このマクロでは、オブジェクトの「切り取る四角形の幅」プロパティの値を設定します。

d2fobs_clip_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「切り取る四角形のX原点」プロパティの値を設定します。

d2fobs_clip_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「切り取る四角形のY原点」プロパティの値を設定します。

d2fobs_closed( ctx, obj, val );

このマクロでは、オブジェクトの「多角形フラグと円弧の閉じ」プロパティの値を設定します。

d2fobs_cls_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「クローズ許可」プロパティの値を設定します。

d2fobs_cmprssion_qlty( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_CMPRSSION_QLTYプロパティの値を設定します。

d2fobs_cnv_nam( ctx, obj, val );

このマクロでは、オブジェクトの「キャンバス」プロパティの値を設定します。

d2fobs_cnv_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_CNV_OBJプロパティの値を設定します。

d2fobs_cnv_typ( ctx, obj, val );

このマクロでは、オブジェクトの「キャンバス・タイプ」プロパティの値を設定します。

d2fobs_col_dat_typ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_COL_DAT_TYPプロパティの値を設定します。

d2fobs_col_map( ctx, obj, val );

このマクロでは、オブジェクトの「値リスト列マッピング」プロパティの値を設定します。

d2fobs_col_nam( ctx, obj, val );

このマクロでは、オブジェクトの「列名」プロパティの値を設定します。

d2fobs_col_spec( ctx, obj, val );

このマクロでは、オブジェクトの「列仕様部」プロパティの値を設定します。

d2fobs_col_vals_count( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_COL_VALS_COUNTプロパティの値を設定します。

d2fobs_com_txtctx, obj, val );

このマクロでは、オブジェクトの「コマンド・テキスト」プロパティの値を設定します。

d2fobs_xxx( ctx, obj, val );

このマクロでは、オブジェクトの「XXX」プロパティの値を設定します。

d2fobs_comm_mode( ctx, obj, val );

このマクロでは、オブジェクトの「通信モード」プロパティの値を設定します。

d2fobs_comment( ctx, obj, val );

このマクロでは、オブジェクトの「コメント」プロパティの値を設定します。

d2fobs_compress( ctx, obj, val );

このマクロでは、オブジェクトの「圧縮」プロパティの値を設定します。

d2fobs_conceal_data( ctx, obj, val );

このマクロでは、オブジェクトの「データの非表示」プロパティの値を設定します。

d2fobs_console_win( ctx, obj, val );

このマクロでは、オブジェクトの「コンソール・ウィンドウ」プロパティの値を設定します。

d2fobs_copy_val_from_itm( ctx, obj, val );

このマクロでは、オブジェクトの「項目から値をコピー」プロパティの値を設定します。

d2fobs_corner_radius_x( ctx, obj, val );

このマクロでは、オブジェクトの「丸い四角形の角の丸め半径のX原点」プロパティの値を設定します。

d2fobs_corner_radius_y( ctx, obj, val );

このマクロでは、オブジェクトの「丸い四角形の角の丸め半径のY原点」プロパティの値を設定します。

d2fobs_crsr_mode( ctx, obj, val );

このマクロでは、オブジェクトの「カーソル・モード」プロパティの値を設定します。

d2fobs_cstm_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「テキスト・オブジェクトのカスタム間隔」プロパティの値を設定します。

d2fobs_dash_sty( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠の種類」プロパティの値を設定します。

d2fobs_dat_src_blk( ctx, obj, val );

このマクロでは、オブジェクトの「データ・ソース・ブロック」プロパティの値を設定します。

d2fobs_dat_src_x_axs( ctx, obj, val );

このマクロでは、オブジェクトの「データ・ソースのX軸」プロパティの値を設定します。

d2fobs_dat_src_y_axs( ctx, obj, val );

このマクロでは、オブジェクトの「データ・ソースのY軸のX原点」プロパティの値を設定します。

d2fobs_dat_typ( ctx, obj, val );

このマクロでは、オブジェクトの「データ型」プロパティの値を設定します。

d2fobs_db_blk( ctx, obj, val );

このマクロでは、オブジェクトの「データベース・ブロック」プロパティの値を設定します。

d2fobs_db_itm( ctx, obj, val );

このマクロでは、オブジェクトの「データベース項目」プロパティの値を設定します。

d2fobs_defer_req_enf( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DEFER_REQ_ENFプロパティの値を設定します。

d2fobs_deferred( ctx, obj, val );

このマクロでは、オブジェクトの「延期」プロパティの値を設定します。

d2fobs_del_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「削除可」プロパティの値を設定します。

d2fobs_del_proc_nam( ctx, obj, val );

このマクロでは、オブジェクトの「削除プロシージャ名」プロパティの値を設定します。

d2fobs_del_rec( ctx, obj, val );

このマクロでは、オブジェクトの「レコードの削除動作」プロパティの値を設定します。

d2fobs_detail_blk( ctx, obj, val );

このマクロでは、オブジェクトの「詳細ブロック」プロパティの値を設定します。

d2fobs_dflt_alt_btn( ctx, obj, val );

このマクロでは、オブジェクトの「デフォルト警告ボタン」プロパティの値を設定します。

d2fobs_dflt_btn( ctx, obj, val );

このマクロでは、オブジェクトの「デフォルト・ボタン」プロパティの値を設定します。

d2fobs_disp_in_kbrd_hlp( ctx, obj, val );

このマクロでは、オブジェクトの「キーボード・ヘルプに表示」プロパティの値を設定します。

d2fobs_xxxdisp_no_priv ctx, obj, val );

このマクロでは、オブジェクトの「権限表示をしない」プロパティの値を設定します。

d2fobs_disp_qlty( ctx, obj, val );

このマクロでは、オブジェクトの「画質」プロパティの値を設定します。

d2fobs_disp_wid( ctx, obj, val );

このマクロでは、オブジェクトの「画面幅」プロパティの値を設定します。

d2fobs_dist_bwwn_recs( ctx, obj, val );

このマクロでは、オブジェクトの「レコード間の距離」プロパティの値を設定します。

d2fobs_dither( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックス・ディザ・イメージ」プロパティの値を設定します。

d2fobs_dml_ary_siz( ctx, obj, val );

このマクロでは、オブジェクトの「DML配列の大きさ」プロパティの値を設定します。

d2fobs_dml_dat_nam( ctx, obj, val );

このマクロでは、オブジェクトの「DMLデータ宛先名」プロパティの値を設定します。

d2fobs_dml_dat_typ( ctx, obj, val );

このマクロでは、オブジェクトの「DMLデータ・ターゲット・タイプ」プロパティの値を設定します。

d2fobs_dsa_mode( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_MODEプロパティの値を設定します。

d2fobs_dsa_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_NAMプロパティの値を設定します。

d2fobs_dsa_typ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_TYPEプロパティの値を設定します。

d2fobs_dsa_typ_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_TYP_NAMプロパティの値を設定します。

d2fobs_dsa_val( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSA_VALプロパティの値を設定します。

d2fobs_dsc_len( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_LENプロパティの値を設定します。

d2fobs_dsc_mandatory( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_MANDATORYプロパティの値を設定します。

d2fobs_dsc_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_NAMプロパティの値を設定します。

d2fobs_dsc_precision( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_PRECISIONプロパティの値を設定します。

d2fobs_dsc_scale( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_SCALEプロパティの値を設定します。

d2fobs_dsc_typ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_DSC_TYPプロパティの値を設定します。

d2fobs_edge_back_color( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠のバックグラウンド・カラー」プロパティの値を設定します。

d2fobs_edge_fore_color( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠のフォアグラウンド・カラー」プロパティの値を設定します。

d2fobs_editor( ctx, obj, val );

このマクロでは、オブジェクトの「エディタ」プロパティの値を設定します。

d2fobs_edt_nam( ctx, obj, val );

このマクロでは、オブジェクトの「エディタ名」プロパティの値を設定します。

d2fobs_edt_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_EDT_OBJプロパティの値を設定します。

d2fobs_edt_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「エディタのX位置とエディタのY位置」プロパティの値を設定します。

d2fobs_edt_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「エディタのX位置とエディタのY位置」プロパティの値を設定します。

d2fobs_enabled( ctx, obj, val );

このマクロでは、オブジェクトの「使用可能」プロパティの値を設定します。

d2fobs_enfrc_col_security( ctx, obj, val );

このマクロでは、オブジェクトの「列にセキュリティを強制」プロパティの値を設定します。

d2fobs_enfrc_prmry_key( ctx, obj, val );

このマクロでは、オブジェクトの「主キーを強制」プロパティの値を設定します。

d2fobs_exec_hierarchy( ctx, obj, val );

このマクロでは、オブジェクトの「実行スタイル」プロパティの値を設定します。

d2fobs_exec_mode( ctx, obj, val );

このマクロでは、オブジェクトの「実行モード」プロパティの値を設定します。

d2fobs_fill_pat( ctx, obj, val );

このマクロでは、オブジェクトの「塗りパターン」プロパティの値を設定します。

d2fobs_fire_in_qry( ctx, obj, val );

このマクロでは、オブジェクトの「問合せ入力モードを起動」プロパティの値を設定します。

d2fobs_fixed_bounding_bx( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクトの枠ボックスの固定サイズ」プロパティの値を設定します。

d2fobs_fixed_len( ctx, obj, val );

このマクロでは、オブジェクトの「固定長」プロパティの値を設定します。

d2fobs_flnam( ctx, obj, val );

このマクロでは、オブジェクトの「ファイル名」プロパティの値を設定します。

d2fobs_fltr_before_disp( ctx, obj, val );

このマクロでは、オブジェクトの「フィルタ適用後表示」プロパティの値を設定します。

d2fobs_fmt_msk( ctx, obj, val );

このマクロでは、オブジェクトの「書式マスク」プロパティの値を設定します。

d2fobs_font_nam( ctx, obj, val );

このマクロでは、オブジェクトの「フォント名」プロパティの値を設定します。

d2fobs_font_scaleable( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクトのポイント・サイズ・スケール」プロパティの値を設定します。

d2fobs_font_siz( ctx, obj, val );

このマクロでは、オブジェクトの「フォント・サイズ」プロパティの値を設定します。

d2fobs_font_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「フォント間隔」プロパティの値を設定します。

d2fobs_font_sty( ctx, obj, val );

このマクロでは、オブジェクトの「フォント・スタイル」プロパティの値を設定します。

d2fobs_font_wght( ctx, obj, val );

このマクロでは、オブジェクトの「XXX」プロパティの値を設定します。

d2fobs_font_color( ctx, obj, val );

このマクロでは、オブジェクトの「フォント・カラー」プロパティの値を設定します。

d2fobs_form_param( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_FORM_PARAMプロパティの値を設定します。

d2fobs_formula( ctx, obj, val );

このマクロでは、オブジェクトの「式」プロパティの値を設定します。

d2fobs_frame_align( ctx, obj, val );

このマクロでは、オブジェクトの「枠整列」プロパティの値を設定します。

d2fobs_frame_ttl( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトル」プロパティの値を設定します。

d2fobs_frame_ttl_align( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトル整列」プロパティの値を設定します。

d2fobs_frame_ttl_back_color( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのバックグラウンド・カラー」プロパティの値を設定します。

d2fobs_frame_ttl_fill_pat( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルの塗りパターン」プロパティの値を設定します。

d2fobs_frame_ttl_font_nam( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォント名」プロパティの値を設定します。

d2fobs_frame_ttl_font_siz( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォント・サイズ」プロパティの値を設定します。

d2fobs_frame_ttl_font_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォント間隔」プロパティの値を設定します。

d2fobs_frame_ttl_font_sty( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォント・スタイル」プロパティの値を設定します。

d2fobs_frame_ttl_font_wght( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォントの太さ」プロパティの値を設定します。

d2fobs_frame_ttl_fore_color( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのフォアグラウンド・カラー」プロパティの値を設定します。

d2fobs_frame_ttl_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルのオフセット」プロパティの値を設定します。

d2fobs_frame_ttl_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルの間隔」プロパティの値を設定します。

d2fobs_frame_ttl_vat_nam( ctx, obj, val );

このマクロでは、オブジェクトの「枠タイトルの可視属性グループ」プロパティの値を設定します。

d2fobs_frame_ttl_val_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_FRAME_TTL_VAL_OBJプロパティの値を設定します。

d2fobs_frst_navigation_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトの「最初のナビゲーション・ブロック」プロパティの値を設定します。

d2fobs_frst_navigation_blk_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_FRST_NAVIGATION_BLK_OBJプロパティの値を設定します。

d2fobs_gra_font_nam( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックスのフォント名」プロパティの値を設定します。

d2fobs_gra_font_siz( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックスのフォント・サイズ」プロパティの値を設定します。

d2fobs_gra_font_sty( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックスのフォント・スタイル」プロパティの値を設定します。

d2fobs_gra_text( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックスのテキスト」プロパティの値を設定します。

d2fobs_graphic( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_GRAPHICプロパティの値を設定します。

d2fobs_graphics_typ( ctx, obj, val );

このマクロでは、オブジェクトの「グラフィックス・オブジェクト・タイプ」プロパティの値を設定します。

d2fobs_height( ctx, obj, val );

このマクロでは、オブジェクトの「幅と高さ」プロパティの値を設定します。

d2fobs_hide_on_exit( ctx, obj, val );

このマクロでは、オブジェクトの「終了時に隠す」プロパティの値を設定します。

d2fobs_highest_allowed_val( ctx, obj, val );

このマクロでは、オブジェクトの「最大許容値と最小許容値」プロパティの値を設定します。

d2fobs_hint( ctx, obj, val );

このマクロでは、オブジェクトの「ヒント」プロパティの値を設定します。

d2fobs_hlp_description( ctx, obj, val );

このマクロでは、オブジェクトの「ヘルプ」プロパティの値を設定します。

d2fobs_horz_jst( ctx, obj, val );

このマクロでは、オブジェクトの「テキスト・オブジェクトの水平文字揃え」プロパティの値を設定します。

d2fobs_horz_margn( ctx, obj, val );

このマクロでは、オブジェクトの「水平マージン」プロパティの値を設定します。

d2fobs_horz_obj_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「水平オブジェクト・オフセット」プロパティの値を設定します。

d2fobs_horz_orgn( ctx, obj, val );

このマクロでは、オブジェクトの「原点に対する水平の位置関係」プロパティの値を設定します。

d2fobs_horz_tlbr_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「水平ツールバーのキャンバス」プロパティの値を設定します。

d2fobs_htb_cnv_name( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_HTB_CNV_NAMEプロパティの値を設定します。

d2fobs_icon_flnam( ctx, obj, val );

このマクロでは、オブジェクトの「アイコンのファイル名」プロパティの値を設定します。

d2fobs_icon_in_mnu( ctx, obj, val );

このマクロでは、オブジェクトのD2FO_ICON_IN_MNUプロパティの値を設定します。

d2fobs_iconic( ctx, obj, val );

このマクロでは、オブジェクトの「アイコン」プロパティの値を設定します。

d2fobs_img_dpth( ctx, obj, val );

このマクロでは、オブジェクトの「イメージの深さ」プロパティの値を設定します。

d2fobs_img_fmt( ctx, obj, val );

このマクロでは、オブジェクトの「イメージ・フォーマット」プロパティの値を設定します。

d2fobs_inhrt_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「継承メニュー」プロパティの値を設定します。

d2fobs_inhrt_sty( ctx, obj, val );

このマクロでは、オブジェクトの「継承スタイル」プロパティの値を設定します。

d2fobs_init_kgrd_dir( ctx, obj, val );

このマクロでは、オブジェクトの「初期キーボード方向」プロパティの値を設定します。

d2fobs_init_menu( ctx, obj, val );

このマクロでは、オブジェクトの「初期メニュー」プロパティの値を設定します。

d2fobs_init_val( ctx, obj, val );

このマクロでは、オブジェクトの「初期値」プロパティの値を設定します。

d2fobs_insrt_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「挿入可」プロパティの値を設定します。

d2fobs_insrt_proc_nam( ctx, obj, val );

このマクロでは、オブジェクトの「挿入プロシージャ名」プロパティの値を設定します。

d2fobs_interaction_mode( ctx, obj, val );

このマクロでは、オブジェクトの「相互作用モード」プロパティの値を設定します。

d2fobs_internal_end_angle( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_INTERNAL_END_ANGLEプロパティの値を設定します。

d2fobs_internal_lin_wid( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_INTERNAL_LIN_WIDプロパティの値を設定します。

d2fobs_internal_rotation_angle( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_INTERNAL_ROTATION_ANGLEプロパティの値を設定します。

d2fobs_internal_strt_angle( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_INTERNAL_STRT_ANGLEプロパティの値を設定します。

d2fobs_isolation_mode( ctx, obj, val );

このマクロでは、オブジェクトの「孤立モード」プロパティの値を設定します。

d2fobs_item( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_ITEMプロパティの値を設定します。

d2fobs_itm_typ( ctx, obj, val );

このマクロでは、オブジェクトの「項目タイプ」プロパティの値を設定します。

d2fobs_itms_disp( ctx, obj, val );

このマクロでは、オブジェクトの「表示項目数」プロパティの値を設定します。

d2fobs_join_cond( ctx, obj, val );

このマクロでは、オブジェクトの「結合条件」プロパティの値を設定します。

d2fobs_join_sty( ctx, obj, val );

このマクロでは、オブジェクトの「オブジェクト枠の結合形式」プロパティの値を設定します。

d2fobs_justification( ctx, obj, val );

このマクロでは、オブジェクトの「文字位置」プロパティの値を設定します。

d2fobs_kbrd_acc( ctx, obj, val );

このマクロでは、オブジェクトの「キーボードのアクセラレータ」プロパティの値を設定します。

d2fobs_kbrd_hlp_txt( ctx, obj, val );

このマクロでは、オブジェクトの「キーボード・ヘルプの説明」プロパティの値を設定します。

d2fobs_kbrd_navigable( ctx, obj, val );

このマクロでは、オブジェクトの「キーボードのナビゲート」プロパティの値を設定します。

d2fobs_kbrd_state( ctx, obj, val );

このマクロでは、オブジェクトの「キーボードの状態」プロパティの値を設定します。

d2fobs_keep_crsr_pos( ctx, obj, val );

このマクロでは、オブジェクトの「カーソル位置の保管」プロパティの値を設定します。

d2fobs_key_mode( ctx, obj, val );

このマクロでは、オブジェクトの「キー・モード」プロパティの値を設定します。

d2fobs_label( ctx, obj, val );

このマクロでは、オブジェクトの「ラベル」プロパティの値を設定します。

d2fobs_lang_dir( ctx, obj, val );

このマクロでは、オブジェクトの方向プロパティの値を設定します。

d2fobs_layout_data_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトの「データ・ブロックのレイアウト」プロパティの値を設定します。

d2fobs_layout_sty( ctx, obj, val );

このマクロでは、オブジェクトの「レイアウト・スタイル」プロパティの値を設定します。

d2fobs_lib_loc( ctx, obj, val );

このマクロでは、オブジェクトの「PL/SQLライブラリの位置」プロパティの値を設定します。

d2fobs_lib_src( ctx, obj, val );

このマクロでは、オブジェクトの「PL/SQLライブラリ・ソース」プロパティの値を設定します。

d2fobs_lin_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「行間」プロパティの値を設定します。

d2fobs_lock_mode( ctx, obj, val );

子のマクロでは、オブジェクトの「ロック・モード」プロパティの値を設定します。

d2fobs_lock_proc_nam( ctx, obj, val );

このマクロでは、オブジェクトの「ロック・プロシージャ名」プロパティの値を設定します。

d2fobs_lock_rec( ctx, obj, val );

このマクロでは、オブジェクトの「レコードのロック」プロパティの値を設定します。

d2fobs_lov( ctx, obj, val );

このマクロでは、オブジェクトの「値リスト」プロパティの値を設定します。

d2fobs_lov_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_LOV_NAMプロパティの値を設定します。

d2fobs_lov_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_LOV_OBJプロパティの値を設定します。

d2fobs_lov_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「X位置のリスト」プロパティの値を設定します。

d2fobs_lov_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「Y位置のリスト」プロパティの値を設定します。

d2fobs_lowest_allowed_val( ctx, obj, val );

このマクロでは、オブジェクトの「最大許容値と最小許容値」プロパティの値を設定します。

d2fobs_lst_element_count( ctx, obj, val );

このマクロでは、オブジェクトの「リストの要素数」プロパティの値を設定します。

d2fobs_lst_in_blk_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「ブロック・メニューに表示」プロパティの値を設定します。

d2fobs_lst_sty( ctx, obj, val );

このマクロでは、オブジェクトの「リスト・スタイル」プロパティの値を設定します。

d2fobs_lst_typ( ctx, obj, val );

このマクロでは、オブジェクトの「リスト・タイプ」プロパティの値を設定します。

d2fobs_magic_itm( ctx, obj, val );

このマクロでは、オブジェクトの「マジック項目」プロパティの値を設定します。

d2fobs_main_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「メイン・メニュー」プロパティの値を設定します。

d2fobs_max_len( ctx, obj, val );

このマクロでは、オブジェクトの「最大長」プロパティの値を設定します。

d2fobs_max_objs( ctx, obj, val );

このマクロでは、オブジェクトの「1行あたりの最大オブジェクト数」プロパティの値を設定します。

d2fobs_max_qry_time( ctx, obj, val );

このマクロでは、オブジェクトの「最長問合せ時間」プロパティの値を設定します。

d2fobs_max_recs_fetched( ctx, obj, val );

このマクロでは、オブジェクトの「フェッチ･レコードの最大数」プロパティの値を設定します。

d2fobs_maximize_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「最大化許可」プロパティの値を設定します。

d2fobs_menu( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MENUプロパティの値を設定します。

d2fobs_minimize_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「最小化許可」プロパティの値を設定します。

d2fobs_minimize_ttl( ctx, obj, val );

このマクロでは、オブジェクトの「タイトル最小化」プロパティの値を設定します。

d2fobs_mlt_lin( ctx, obj, val );

このマクロでは、オブジェクトの「複数行」プロパティの値を設定します。

d2fobs_mnu_description( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー記述」プロパティの値を設定します。

d2fobs_mnu_drctry( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・ディレクトリ」プロパティの値を設定します。

d2fobs_mnu_flnam( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・ファイル名」プロパティの値を設定します。

d2fobs_mnu_itm( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー項目タイプ」プロパティの値を設定します。

d2fobs_mnu_itm_code( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MNU_ITM_CODEプロパティの値を設定します。

d2fobs_mnu_itm_rad_grp( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー項目ラジオ・グループ」プロパティの値を設定します。

d2fobs_mnu_itm_typ( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー項目タイプ」プロパティの値を設定します。

d2fobs_mnu_mod( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・モジュール」プロパティの値を設定します。

d2fobs_mnu_param( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MNU_PARAMプロパティの値を設定します。

d2fobs_mnu_param_init_val( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・パラメータ初期値」プロパティの値を設定します。

d2fobs_mnu_role( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・モジュールのロール」プロパティの値を設定します。

d2fobs_mnu_src( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・ソース」プロパティの値を設定します。

d2fobs_mnu_sty( ctx, obj, val );

このマクロでは、オブジェクトの「メニュー・スタイル」プロパティの値を設定します。

d2fobs_modal( ctx, obj, val );

このマクロでは、オブジェクトの「モーダル」プロパティの値を設定します。

d2fobs_module( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_MODULEプロパティの値を設定します。

d2fobs_mouse_navigate( ctx, obj, val );

このマクロでは、オブジェクトの「マウス・ナビゲート」プロパティの値を設定します。

d2fobs_mouse_navigation_lmt( ctx, obj, val );

このマクロでは、オブジェクトの「マウス・ナビゲーション・リミット」プロパティの値を設定します。

d2fobs_mv_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「移動許可」プロパティの値を設定します。

d2fobs_name( ctx, obj, val );

このマクロでは、オブジェクトの「名前」プロパティの値を設定します。

d2fobs_navigation_sty( ctx, obj, val );

此のマクロでは、オブジェクトの「ナビゲーション形式」プロパティの値を設定します。

d2fobs_next( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2fobs_nxt_navigation_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NXT_NAVIGATION_BLK_NAMプロパティの値を設定します。

d2fobs_nxt_navigation_blk_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NXT_NAVIGATION_BLK_OBJプロパティの値を設定します。

d2fobs_nxt_navigation_itm_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NXT_NAVIGATION_ITM_NAMプロパティの値を設定します。

d2fobs_nxt_navigation_itm_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_NXT_NAVIGATION_ITM_OBJプロパティの値を設定します。

d2fobs_obj_grp( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_OBJ_GRPプロパティの値を設定します。

d2fobs_obj_grp_child_real_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_OBJ_GRP_CHILD_REAL_OBJプロパティの値を設定します。

d2fobs_og_child( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_OG_CHILDプロパティの値を設定します。

d2fobs_old_lov_txt( ctx, obj, val );

このマクロでは、オブジェクトの「旧LOVテキスト」プロパティの値を設定します。

d2fobs_ole_act_sty( ctx, obj, val );

このマクロでは、オブジェクトの「OLE有効スタイル」プロパティの値を設定します。

d2fobs_ole_class( ctx, obj, val );

このマクロでは、オブジェクトの「OLEクラス」プロパティの値を設定します。

d2fobs_ole_in_place_act( ctx, obj, val );

このマクロでは、オブジェクトの「OLEの配置有効」プロパティの値を設定します。

d2fobs_ole_insd_out_support( ctx, obj, val );

このマクロでは、オブジェクトの「OLE徹底サポート」プロパティの値を設定します。

d2fobs_ole_popup_mnu_itms( ctx, obj, val );

このマクロでは、オブジェクトの「OLEポップアップ・メニュー項目」プロパティの値を設定します。

d2fobs_ole_resiz_sty( ctx, obj, val );

このマクロでは、オブジェクトの「OLEのサイズ変更スタイル」プロパティの値を設定します。

d2fobs_ole_show_popup_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「OLEポップアップ・メニューの表示」プロパティの値を設定します。

d2fobs_ole_show_tnnt_typ( ctx, obj, val );

このマクロでは、オブジェクトの「OLEテナント・タイプの表示」プロパティの値を設定します。

d2fobs_ole_tnnt_aspct( ctx, obj, val );

このマクロでは、オブジェクトの「OLEテナント・アスペクト」プロパティの値を設定します。

d2fobs_ole_tnnt_typ( ctx, obj, val );

このマクロでは、オブジェクトの「OLEテナント・タイプ」プロパティの値を設定します。

d2fobs_opt_hint( ctx, obj, val );

このマクロでは、オブジェクトの「オプティマイザ・ヒント」プロパティの値を設定します。

d2fobs_ordr_by_clause( ctx, obj, val );

このマクロでは、オブジェクトの「句順」プロパティの値を設定します。

d2fobs_other_vals( ctx, obj, val );

このマクロでは、オブジェクトの「その他の値のマッピング」プロパティの値を設定します。

d2fobs_owner( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_OWNERプロパティの値を設定します。

d2fobs_par_flnam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fobs_par_flpath( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fobs_par_modstr( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fobs_par_modtyp( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fobs_par_module( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fobs_par_num( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PAR_NUMプロパティの値を設定します。

d2fobs_param_dat_typ( ctx, obj, val );

このマクロでは、オブジェクトの「パラメータのデータ型」プロパティの値を設定します。

d2fobs_param_init_val( ctx, obj, val );

このマクロでは、オブジェクトの「パラメータ初期値」プロパティの値を設定します。

d2fobs_pgu_txt( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PGU_TEXTプロパティの値を設定します。

d2fobs_popup_mnu_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_POPUP_MNU_NAMプロパティの値を設定します。

d2fobs_popup_mnu_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_POPUP_MNU_OBJプロパティの値を設定します。

d2fobs_popup_va_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_POPUP_VA_OBJプロパティの値を設定します。

d2fobs_precomp_summ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PRECOMP_SUMMプロパティの値を設定します。

d2fobs_prev_navigation_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトの「前のナビゲーション･データ･ブロック」プロパティの値を設定します。

d2fobs_prev_navigation_blk_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PREV_NAVIGATION_BLK_OBJプロパティの値を設定します。

d2fobs_prev_navigation_itm_nam( ctx, obj, val );

このマクロでは、オブジェクトの「前ナビゲーション項目名」プロパティの値を設定します。

d2fobs_prev_navigation_itm_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PREV_NAVIGATION_ITM_OBJプロパティの値を設定します。

d2fobs_previous( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2fobs_prmpt( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト」プロパティの値を設定します。

d2fobs_prmpt_align( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト整列」プロパティの値を設定します。

d2fobs_prmpt_align_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト整列オフセット」プロパティの値を設定します。

d2fobs_prmpt_att_edge( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト連結枠」プロパティの値を設定します。

d2fobs_prmpt_att_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト連結オフセット」プロパティの値を設定します。

d2fobs_prmpt_back_color( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのバックグラウンド・カラー」プロパティの値を設定します。

d2fobs_prmpt_disp_sty( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト表示スタイル」プロパティの値を設定します。

d2fobs_prmpt_fill_pat( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの塗りパターン」プロパティの値を設定します。

d2fobs_prmpt_font_nam( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォント名」プロパティの値を設定します。

d2fobs_prmpt_font_siz( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォント・サイズ」プロパティの値を設定します。

d2fobs_prmpt_font_spcing( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプト・フォントの間隔」プロパティの値を設定します。

d2fobs_prompt_font_sty( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォント・スタイル」プロパティの値を設定します。

d2fobs_prmpt_font_wght( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォントの太さ」プロパティの値を設定します。

d2fobs_prmpt_fore_color( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトのフォアグラウンド・カラー」プロパティの値を設定します。

d2fobs_prmpt_jst( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの文字位置」プロパティの値を設定します。

d2fobs_prmpt_reading_ordr( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの読込み順」プロパティの値を設定します。

d2fobs_prmpt_vat_nam( ctx, obj, val );

このマクロでは、オブジェクトの「プロンプトの可視属性グループ」プロパティの値を設定します。

d2fobs_prmpt_vat_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PRMPT_VAT_OBJプロパティの値を設定します。

d2fobs_prmry_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「主キャンバス」プロパティの値を設定します。

d2fobs_prmry_key( ctx, obj, val );

このマクロでは、オブジェクトの「主キー」プロパティの値を設定します。

d2fobs_prog_unit( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_PROG_UNITプロパティの値を設定します。

d2fobs_prop_class( ctx, obj, val );

このマクロでは、オブジェクトの「プロパティ・クラス」プロパティの値を設定します。

d2fobs_prvnt_mstrless_ops( ctx, obj, val );

このマクロでは、オブジェクトの「マスターのない操作の回避」プロパティの値を設定します。

d2fobs_qry_all_recs( ctx, obj, val );

このマクロでは、オブジェクトの「全レコードの問合せ」プロパティの値を設定します。

d2fobs_qry_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「問合せ可」プロパティの値を設定します。

d2fobs_qry_dat_src_nam( ctx, obj, val );

このマクロでは、オブジェクトの「問合せデータ・ソース名」プロパティの値を設定します。

d2fobs_qry_dat_src_type( ctx, obj, val );

このマクロでは、オブジェクトの「問合せデータ・ソース・タイプ」プロパティの値を設定します。

d2fobs_qry_len( ctx, obj, val );

このマクロでは、オブジェクトの「問合せの長さ」プロパティの値を設定します。

d2fobs_qry_only( ctx, obj, val );

このマクロでは、オブジェクトの「問合せ専用」プロパティの値を設定します。

d2fobs_rad_but( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_RAD_BUTプロパティの値を設定します。

d2fobs_raise_on_entry( ctx, obj, val );

このマクロでは、オブジェクトの「入力時にコール」プロパティの値を設定します。

d2fobs_rdb_val( ctx, obj, val );

このマクロでは、オブジェクトの「ラジオ・ボタンの値」プロパティの値を設定します。

d2fobs_reading_ordr( ctx, obj, val );

このマクロでは、オブジェクトの「読込み順」プロパティの値を設定します。

d2fobs_rec_grp( ctx, obj, val );

このマクロでは、オブジェクトの「レコード・グループ」プロパティの値を設定します。

d2fobs_rec_grp_fetch_siz( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_REC_GRP_FETCH_SIZプロパティの値を設定します。

d2fobs_rec_grp_nam( ctx, obj, val );

このマクロでは、オブジェクトの「レコード・グループ」プロパティの値を設定します。

d2fobs_rec_grp_obj( ctx, obj, val );

このマクロでは、オブジェクトの D2FP_REC_GRP_OBJプロパティの値を設定します。

d2fobs_rec_grp_qry( ctx, obj, val );

このマクロでは、オブジェクトの「レコード・グループの問合せ」プロパティの値を設定します。

d2fobs_rec_grp_typ( ctx, obj, val );

このマクロでは、オブジェクトの「レコード・グループの種類」プロパティの値を設定します。

d2fobs_rec_ornt( ctx, obj, val );

このマクロでは、オブジェクトの「レコードの方向」プロパティの値を設定します。

d2fobs_rec_vat_grp_nam( ctx, obj, val );

このマクロでは、オブジェクトの「現行レコードの可視属性グループ」プロパティの値を設定します。

d2fobs_rec_vat_grp_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_REC_VAT_GRP_OBJプロパティの値を設定します。

d2fobs_recs_buffered_count( ctx, obj, val );

このマクロでは、オブジェクトの「バッファ・レコード数」プロパティの値を設定します。

d2fobs_recs_disp_count( ctx, obj, val );

このマクロでは、オブジェクトの「表示レコード数」プロパティの値を設定します。

d2fobs_recs_fetched_count( ctx, obj, val );

このマクロでは、オブジェクトの「レコードのフェッチ」プロパティの値を設定します。

d2fobs_rel( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_RELプロパティの値を設定します。

d2fobs_rendered( ctx, obj, val );

このマクロでは、オブジェクトの「処理完了」プロパティの値を設定します。

d2fobs_report( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_REPORTプロパティの値を設定します。

d2fobs_required( ctx, obj, val );

このマクロでは、オブジェクトの「必須」プロパティの値を設定します。

d2fobs_resize_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「サイズ変更許可」プロパティの値を設定します。

d2fobs_rev_dir( ctx, obj, val );

このマクロでは、オブジェクトの「方向転換」プロパティの値を設定します。

d2fobs_rpt_destination_fmt( ctx, obj, val );

このマクロでは、オブジェクトの「レポート宛先フォーマット」プロパティの値を設定します。

d2fobs_rpt_destination_nam( ctx, obj, val );

このマクロでは、オブジェクトの「レポート宛先名」プロパティの値を設定します。

d2fobs_rpt_destination_typ( ctx, obj, val );

このマクロでは、オブジェクトの「レポート宛先タイプ」プロパティの値を設定します。

d2fobs_rpt_params( ctx, obj, val );

このマクロでは、オブジェクトの「その他のレポート・パラメータ」プロパティの値を設定します。

d2fobs_rpt_srvr( ctx, obj, val );

このマクロでは、オブジェクトの「レポート・サーバー」プロパティの値を設定します。

d2fobs_rtrn_itm( ctx, obj, val );

このマクロでは、オブジェクトの「戻り項目」プロパティの値を設定します。

d2fobs_runtime_comp( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_RUNTIME_COMPプロパティの値を設定します。

d2fobs_scrlbr_align( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バー整列」プロパティの値を設定します。

d2fobs_scrlbr_cnv_nam( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バー・キャンバス」プロパティの値を設定します。

d2fobs_scrlbr_cnv_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SCRLBR_CNV_OBJプロパティの値を設定します。

d2fobs_scrlbr_hgt( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーの高さ」プロパティの値を設定します。

d2fobs_scrlbr_ornt( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーの方向」プロパティの値を設定します。

d2fobs_scrlbr_tbp_nam( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーのタブ・ページ」プロパティの値を設定します。

d2fobs_scrlbr_tbp_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SCRLBR_TBP_OBJプロパティの値を設定します。

d2fobs_scrlbr_wid( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーの幅」プロパティの値を設定します。

d2fobs_scrlbr_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーのX位置」プロパティの値を設定します。

d2fobs_scrlbr_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バーのY位置」プロパティの値を設定します。

d2fobs_share_lib( ctx, obj, val );

このマクロでは、オブジェクトの「ライブラリをフォームと共有」プロパティの値を設定します。

d2fobs_short_nam( ctx, obj, val );

このマクロでは、オブジェクトの「短縮名」プロパティの値を設定します。

d2fobs_show_fast_fwd( ctx, obj, val );

このマクロでは、オブジェクトの「早送りボタン表示」プロパティの値を設定します。

d2fobs_show_horz_scrlbr( ctx, obj, val );

このマクロでは、オブジェクトの「水平スクロール・バー表示」プロパティの値を設定します。

d2fobs_show_palette( ctx, obj, val );

このマクロでは、オブジェクトの「パレット表示」プロパティの値を設定します。

d2fobs_show_play( ctx, obj, val );

このマクロでは、オブジェクトの「再生ボタン表示」プロパティの値を設定します。

d2fobs_show_rec( ctx, obj, val );

このマクロでは、オブジェクトの「録音ボタン表示」プロパティの値を設定します。

d2fobs_show_rewind( ctx, obj, val );

このマクロでは、オブジェクトの「巻き戻しボタン表示」プロパティの値を設定します。

d2fobs_show_scrlbr( ctx, obj, val );

このマクロでは、オブジェクトの「スクロール・バー表示」プロパティの値を設定します。

d2fobs_show_slider( ctx, obj, val );

このマクロでは、オブジェクトの「スライダ表示」プロパティの値を設定します。

d2fobs_show_time( ctx, obj, val );

このマクロでは、オブジェクトの「時間表示」プロパティの値を設定します。

d2fobs_show_vert_scrlbr( ctx, obj, val );

このマクロでは、オブジェクトの「垂直スクロール・バー表示」プロパティの値を設定します。

d2fobs_show_volumn( ctx, obj, val );

このマクロでは、オブジェクトの「ボリューム・コントロール表示」プロパティの値を設定します。

d2fobs_shrinkwrap( ctx, obj, val );

このマクロでは、オブジェクトの「シュリンクラップ」プロパティの値を設定します。

d2fobs_sizing_sty( ctx, obj, val );

このマクロでは、オブジェクトの「サイズ設定スタイル」プロパティの値を設定します。

d2fobs_snd_fmt( ctx, obj, val );

このマクロでは、オブジェクトの「サウンド形式」プロパティの値を設定します。

d2fobs_snd_qlty( ctx, obj, val );

このマクロでは、オブジェクトの「サウンド品質」プロパティの値を設定します。

d2fobs_sngl_obj_align( ctx, obj, val );

このマクロでは、オブジェクトの「シングル・オブジェクト整列」プロパティの値を設定します。

d2fobs_sngl_rec( ctx, obj, val );

このマクロでは、オブジェクトの「単一レコード」プロパティの値を設定します。

d2fobs_source( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SOURCEプロパティの値を設定します。

d2fobs_strt_prmpt_align( ctx, obj, val );

このマクロでは、オブジェクトの「開始プロンプト整列」プロパティの値を設定します。

d2fobs_strt_prmpt_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「開始プロンプトのオフセット」プロパティの値を設定します。

d2fobs_strtup_code( ctx, obj, val );

このマクロでは、オブジェクトの「起動コード」プロパティの値を設定します。

d2fobs_sub_mnu_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SUB_MNU_NAMプロパティの値を設定します。

d2fobs_sub_mnu_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_SUB_MNU_OBJプロパティの値を設定します。

d2fobs_sub_ttl( ctx, obj, val );

このマクロでは、オブジェクトの「サブ・タイトル」プロパティの値を設定します。

d2fobs_summ_blk_nam( ctx, obj, val );

このマクロでは、オブジェクトの「サマリー済みブロック」プロパティの値を設定します。

d2fobs_summ_func( ctx, obj, val );

このマクロでは、オブジェクトの「サマリー･ファンクション」プロパティの値を設定します。

d2fobs_summ_itm_nam( ctx, obj, val );

このマクロでは、オブジェクトの「サマリー結果項目」プロパティの値を設定します。

d2fobs_svpnt_mode( ctx, obj, val );

このマクロでは、オブジェクトの「セーブポイント・モード」プロパティの値を設定します。

d2fobs_sync_itm_nam( ctx, obj, val );

このマクロでは、オブジェクトの「項目と同期」プロパティの値を設定します。

d2fobs_sync_itm_obj( ctx, obj, val );

このマクロでは、オブジェクトのd2FP_SYNC_ITM_OBJプロパティの値を設定します。

d2fobs_tab_att_edge( ctx, obj, val );

このマクロでは、オブジェクトの「タブ連結枠」プロパティの値を設定します。

d2fobs_tab_page( ctx, obj, val );

このマクロでは、オブジェクトの「タブ・ページ」プロパティの値を設定します。

d2fobs_tab_sty( ctx, obj, val );

このマクロでは、オブジェクトの「タブ・スタイル」プロパティの値を設定します。

d2fobs_tbp_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_TBP_NAMプロパティの値を設定します。

d2fobs_tbp_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_TBP_OBJプロパティの値を設定します。

d2fobs_tear_off_mnu( ctx, obj, val );

このマクロでは、オブジェクトの「切離しメニュー」プロパティの値を設定します。

d2fobs_title( ctx, obj, val );

このマクロでは、オブジェクトの「タイトル」プロパティの値を設定します。

d2fobs_tooltip( ctx, obj, val );

このマクロでは、オブジェクトの「ツールチップ」プロパティの値を設定します。

d2fobs_tooltip_vat_grp, val );

このマクロでは、オブジェクトの「ツールチップ可視属性グループ」プロパティの値を設定します。

d2fobs_top_prmpt_align( ctx, obj, val );

このマクロでは、オブジェクトの「上プロンプト整列」プロパティの値を設定します。

d2fobs_top_prmpt_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「上プロンプトのオフセット」プロパティの値を設定します。

d2fobs_trg_sty( ctx, obj, val );

このマクロでは、オブジェクトの「トリガー・スタイル」プロパティの値を設定します。

d2fobs_trg_txt( ctx, obj, val );

このマクロでは、オブジェクトの「トリガー・テキスト」プロパティの値を設定します。

d2fobs_trg_typ( ctx, obj, val );

このマクロでは、オブジェクトの「トリガー・タイプ」プロパティの値を設定します。

d2fobs_trigger( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_TRIGGERプロパティの値を設定します。

d2fobs_ttl_reading_ordr( ctx, obj, val );

このマクロでは、オブジェクトの「タイトルの読込み順」プロパティの値を設定します。

d2fobs_unchked_val( ctx, obj, val );

このマクロでは、オブジェクトの「チェックなしの値」プロパティの値を設定します。

d2fobs_updt_allowed( ctx, obj, val );

このマクロでは、オブジェクトの「更新許可」プロパティの値を設定します。

d2fobs_updt_changed_cols( ctx, obj, val );

このマクロでは、オブジェクトの「変更列のみ更新」プロパティの値を設定します。

d2fobs_updt_commit( ctx, obj, val );

このマクロでは、オブジェクトの「コミット更新」プロパティの値を設定します。

d2fobs_updt_if_null( ctx, obj, val );

このマクロでは、オブジェクトの「NULLの場合のみ更新」プロパティの値を設定します。

d2fobs_updt_layout( ctx, obj, val );

このマクロでは、オブジェクトの「レイアウトを更新」プロパティの値を設定します。

d2fobs_updt_proc_nam( ctx, obj, val );

このマクロでは、オブジェクトの「更新プロシージャ名」プロパティの値を設定します。

d2fobs_updt_qry( ctx, obj, val );

このマクロでは、オブジェクトの「問合せ更新」プロパティの値を設定します。

d2fobs_use_3D_cntrls( ctx, obj, val );

このマクロでは、オブジェクトの「3Dコントロールの使用」プロパティの値を設定します。

d2fobs_use_security( ctx, obj, val );

このマクロでは、オブジェクトの「セキュリティの使用」プロパティの値を設定します。

d2fobs_validate_from_list( ctx, obj, val );

このマクロでは、オブジェクトの「妥当性をリストから確認」プロパティの値を設定します。

d2fobs_validation unit( ctx, obj, val );

このマクロでは、オブジェクトの「妥当性チェック単位」プロパティの値を設定します。

d2fobs_vat_nam( ctx, obj, val );

このマクロでは、オブジェクトの「可視属性グループ」プロパティの値を設定します。

d2fobs_vat_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_VAT_OBJプロパティの値を設定します。

d2fobs_vat_typ( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_VAT_TYPEプロパティの値を設定します。

d2fobs_vert_fill( ctx, obj, val );

このマクロでは、オブジェクトの「垂直方向の埋込み」プロパティの値を設定します。

d2fobs_vert_jst( ctx, obj, val );

このマクロでは、オブジェクトの「垂直文字位置」プロパティの値を設定します。

d2fobs_vert_margn( ctx, obj, val );

このマクロでは、オブジェクトの「垂直方向のマージン」プロパティの値を設定します。

d2fobs_vert_obj_ofst( ctx, obj, val );

このマクロでは、オブジェクトの「垂直方向のオブジェクト・オフセット」プロパティの値を設定します。

d2fobs_vert_orgn( ctx, obj, val );

このマクロでは、オブジェクトの「原点に対する垂直の位置関係」プロパティの値を設定します。

d2fobs_vert_tlbr_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「垂直ツールバーのキャンバス」プロパティの値を設定します。

d2fobs_vis_attr( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_VIS_ATTRプロパティの値を設定します。

d2fobs_visible( ctx, obj, val );

このマクロでは、オブジェクトの「参照可能」プロパティの値を設定します。

d2fobs_vprt_hgt( ctx, obj, val );

このマクロでは、オブジェクトの「ビューポートの高さ」プロパティの値を設定します。

d2fobs_vrpt_wid( ctx, obj, val );

このマクロでは、オブジェクトの「ビューポートの幅」プロパティの値を設定します。

d2fobs_vprt_x_pos( ctx, obj, val );

このマクロでは、オブジェクトの「ビューポートのX位置」プロパティの値を設定します。

d2fobs_vrpt_x_pos_on_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「キャンバス上のビューポートのX位置」プロパティの値を設定します。

d2fobs_vrpt_y_pos( ctx, obj, val );

このマクロでは、オブジェクトの「ビューポートのY位置」プロパティの値を設定します。

d2fobs_vrpt_y_pos_on_cnv( ctx, obj, val );

このマクロでは、オブジェクトの「キャンバス上のビューポートのY位置」プロパティの値を設定します。

d2fobs_vsbl_in_horz_mnu_tlbr( ctx, obj, val );

このマクロでは、オブジェクトの「水平/垂直メニュー・ツールバーに表示」プロパティの値を設定します。

d2fobs_vsbl_in_menu( ctx, obj, val );

このマクロでは、オブジェクトの「メニューに表示」プロパティの値を設定します。

d2fobs_vsbl_in_vert_mnu_tlbr( ctx, obj, val );

このマクロでは、オブジェクトの「XXX」プロパティの値を設定します。

d2fobs_vtb_cnv_name( ctx, obj, val );

このマクロでは、オブジェクトの「垂直ツールバーのキャンバス」プロパティの値を設定します。

d2fobs_where_clause( ctx, obj, val );

このマクロでは、オブジェクトの「WHERE句」プロパティの値を設定します。

d2fobs_white_on_black( ctx, obj, val );

このマクロでは、オブジェクトの「白黒」プロパティの値を設定します。

d2fobs_width( ctx, obj, val );

このマクロでは、オブジェクトの「幅と高さ」プロパティの値を設定します。

d2fobs_win_sty( ctx, obj, val );

このマクロでは、オブジェクトの「ウィンドウ・スタイル」プロパティの値を設定します。

d2fobs_window( ctx, obj, val );

このマクロでは、オブジェクトの「ウィンドウ」プロパティの値を設定します。

d2fobs_wnd_nam( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_WND_NAMプロパティの値を設定します。

d2fobs_wnd_obj( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_WND_OBJプロパティの値を設定します。

d2fobs_wrap_sty( ctx, obj, val );

このマクロでは、オブジェクトの「折返しスタイル」プロパティの値を設定します。

d2fobs_wrap_txt( ctx, obj, val );

このマクロでは、オブジェクトの「テキストの折返し」プロパティの値を設定します。

d2fobs_x_pos( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_X_POSITIONプロパティの値を設定します。

d2fobs_y_pos( ctx, obj, val );

このマクロでは、オブジェクトのD2FP_Y _POSITIONプロパティの値を設定します。


「オブジェクト・グループ」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「オブジェクト・グループ」オブジェクトのマクロについて説明します。

d2fobgg_client_info( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fobgg_comment( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_COMMENTプロパティの値をテキスト型で戻します。

d2fobgg_module( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fobgg_name( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2fobgg_next( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fobgg_og_child( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_OG_CHILDプロパティの値をオブジェクト型で戻します。

d2fobgg_owner( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fobgg_par_flnam( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_CLIENT_INFOプロパティの値をテキスト型で戻します。

d2fobgg_par_flpath( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fobgg_par_modstr( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fobgg_par_modtyp( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fobgg_par_module( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fobgg_par_nam( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fobgg_previous( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fobgg_source( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fobgs_client_info( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fobgs_comment( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_COMMENTプロパティの値を設定します。

d2fobgs_name( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2fobgs_par_flnam( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fobgs_par_flpath( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fobgs_par_modstr( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fobgs_par_modtyp( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fobgs_par_module( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fobgs_par_nam( ctx, obj, val );

このマクロでは、「オブジェクト・グループ」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。


「子オブジェクト・グループ」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「子オブジェクト・グループ」オブジェクトのマクロについて説明します。

d2fogcg_client_info( ctx, obj, val );

このマクロでは、「子オブジェクト・グループ」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fogcg_name( ctx, obj, val );

このマクロでは、「子オブジェクト・グループ」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2fogcg_next( ctx, obj, val );

このマクロでは、「子オブジェクト・グループ」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fogcg_obj_grp_child_real_obj( ctx, obj, val );

このマクロでは、「子オブジェクト・グループ」オブジェクトのD2FP_OBJ_GRP_CHILD_REAL_OBJプロパティの値をオブジェクト型で戻します。

d2fogcg_previous( ctx, obj, val );

このマクロでは、「子オブジェクト・グループ」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fogcg_source( ctx, obj, val );

このマクロでは、「子オブジェクト・グループ」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fogcs_client_info( ctx, obj, val );

このマクロでは、「子オブジェクト・グループ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fogcs_name( ctx, obj, val );

このマクロでは、「子オブジェクト・グループ」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2fogcs_obj_grp_child_real_obj( ctx, obj, val );

このマクロでは、「子オブジェクト・グループ」オブジェクトのD2FP_ OBJ_GRP_CHILD_REAL_OBJプロパティの値を設定します。


「オブジェクト・ライブラリ」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「オブジェクト・ライブラリ」オブジェクトのマクロについて説明します。

d2folbg_client_info( ctx, obj, val );

このマクロでは、「オブジェクト・ライブラリ」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2folbg_name( ctx, obj, val );

このマクロでは、「オブジェクト・ライブラリ」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2folbg_next( ctx, obj, val );

このマクロでは、「オブジェクト・ライブラリ」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2folbg_obj_count( ctx, obj, val );

このマクロでは、「オブジェクト・ライブラリ」オブジェクトのD2FP_OBJ_COUNTプロパティの値を数値型で戻します。

d2folbg_obj_lib_tab( ctx, obj, val );

このマクロでは、「オブジェクト・ライブラリ」オブジェクトのD2FP_OBJ_LIB_TABプロパティの値をオブジェクト型で戻します。

d2folbg_previous( ctx, obj, val );

このマクロでは、「オブジェクト・ライブラリ」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2folbs_client_info( ctx, obj, val );

このマクロでは、「オブジェクト・ライブラリ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2folbs_name( ctx, obj, val );

このマクロでは、「オブジェクト・ライブラリ」オブジェクトのD2FP_NAMEプロパティの値を設定します。


「プログラム単位」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「プログラム単位」オブジェクトのマクロについて説明します。

d2fpgug_client_info( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fpgug_comment( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2fpgug_module( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fpgug_name( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2fpgug_next( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fpgug_owner( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fpgug_par_flnam( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fpgug_par_flpath( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fpgug_par_modstr( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fpgug_par_modtyp( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fpgug_par_module( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fpgug_par_nam( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fpgug_pgu_txt( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PGU_TXTプロパティの値をテキスト型で戻します。

d2fpgug_pgu_typ( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PGU_TYPプロパティの値を数値型で戻します。

d2fpgug_previous( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fpgug_source( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fpgus_client_info( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fpgus_comment( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトの「コメント」プロパティの値を設定します。

d2fpgus_par_flnam( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fpgus_par_flpath( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fpgus_par_modstr( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fpgus_par_modtyp( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fpgus_par_module( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fpgus_par_nam( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2fpgus_pgu_txt( ctx, obj, val );

このマクロでは、「プログラム単位」オブジェクトのD2FP_PGU_TXTプロパティの値を設定します。


「プロパティ・クラス」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「プロパティ・クラス」オブジェクトのマクロについて説明します。

d2fppcg_client_info( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fppcg_comment( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_COMMENTプロパティの値をテキスト型で戻します。

d2fppcg_module( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fppcg_name( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2fppcg_next( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fppcg_owner( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fppcg_par_flnam( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fppcg_par_flpath( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fppcg_par_modstr( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fppcg_par_modtyp( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fppcg_par_module( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fppcg_par_nam( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fppcg_previous( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fppcg_source( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fppcg_trigger( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_TRIGGERプロパティの値をオブジェクト型で戻します。

d2fppcs_client_info( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fppcs_comment( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_COMMENTプロパティの値を設定します。

d2fppcs_name( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2fppcs_par_flnam( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fppcs_par_flpath( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fppcs_par_modstr( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fppcs_par_modtyp( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fppcs_par_module( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fppcs_par_nam( ctx, obj, val );

このマクロでは、「プロパティ・クラス」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。


「ラジオ・ボタン」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「ラジオ・ボタン」オブジェクトのマクロについて説明します。

d2frdbg_access_key( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「アクセス・キー」プロパティの値をテキスト型で戻します。

d2frdbg_back_color( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「バックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2frdbg_client_info( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2frdbg_comment( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「コメント」プロパティの値をテキスト型で戻します。

d2frdbg_dist_btwn_recs( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「レコード間の距離」プロパティの値を数値型で戻します。

d2frdbg_enabled( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「使用可能」プロパティの値をブール型で戻します。

d2frdbg_fill_pat( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「塗りパターン」プロパティの値をテキスト型で戻します。

d2frdbg_font_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォント名」プロパティの値をテキスト型で戻します。

d2frdbg_font_siz( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォント・サイズ」プロパティの値を数値型で戻します。

d2frdbg_font_spcing( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォント間隔」プロパティの値を数値型で戻します。

d2frdbg_font_sty( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォント・スタイル」プロパティの値を数値型で戻します。

d2frdbg_font_weight( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォントの太さ」プロパティの値を数値型で戻します。

d2frdbg_fore_color( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2frdbg_height( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2frdbg_label( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「ラベル」プロパティの値をテキスト型で戻します。

d2frdbg_module( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2frdbg_name( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「名前」プロパティの値をテキスト型で戻します。

d2frdbg_next( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2frdbg_owner( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2frdbg_par_flnam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2frdbg_par_flpath( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2frdbg_par_modstr( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2frdbg_par_modtyp( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2frdbg_par_module( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2frdbg_par_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2frdbg_previous( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2frdbg_prmpt( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプト」プロパティの値をテキスト型で戻します。

d2frdbg_prmpt_align( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの配置」プロパティの値を数値型で戻します。

d2frdbg_prmpt_align_ofst( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプト配置のオフセット」プロパティの値を数値型で戻します。

d2frdbg_prmpt_att_edge( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの連結枠」プロパティの値を数値型で戻します。

d2frdbg_prmpt_att_ofst( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの連結オフセット」プロパティの値を数値型で戻します。

d2frdbg_prmpt_back_color( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのバックグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2frdbg_prmpt_disp_sty( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの表示スタイル」プロパティの値を数値型で戻します。

d2frdbg_prmpt_fill_pat( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの塗りパターン」プロパティの値をテキスト型で戻します。

d2frdbg_prmpt_font_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォント名」プロパティの値をテキスト型で戻します。

d2frdbg_prmpt_font_siz( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォント・サイズ」プロパティの値を数値型で戻します。

d2frdbg_prmpt_font_spcing( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォント間隔」プロパティの値を数値型で戻します。

d2frdbg_prmpt_font_sty( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォント・スタイル」プロパティの値を数値型で戻します。

d2frdbg_prmpt_font_wght( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォントの太さ」プロパティの値を数値型で戻します。

d2frdbg_prmpt_fore_color( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォアグラウンド・カラー」プロパティの値をテキスト型で戻します。

d2frdbg_prmpt_jst( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの文字位置」プロパティの値を数値型で戻します。

d2frdbg_prmpt_reading_ordr( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの読込み順」プロパティの値を数値型で戻します。

d2frdbg_prmpt_vat_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PRMPT_VAT_NAMプロパティの値をテキスト型で戻します。

d2frdbg_prmpt_vat_obj( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PRMPT_VAT_OBJプロパティの値をオブジェクト型で戻します。

d2frdbg_rdb_val( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「ラジオ・ボタンの値」プロパティの値をテキスト型で戻します。

d2frdbg_source( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2frdbg_vat_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「可視属性グループ」プロパティの値をテキスト型で戻します。

d2frdbg_vat_obj( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_VAT_OBJプロパティの値をオブジェクト型で戻します。

d2frdbg_visible( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「可視」プロパティの値をブール型で戻します。

d2frdbg_white_on_black( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「白黒」プロパティの値をブール型で戻します。

d2frdbg_width( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「幅と高さ」プロパティの値を数値型で戻します。

d2frdbg_x_pos( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「X位置とY位置」プロパティの値を数値型で戻します。

d2frdbg_y_pos( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「X位置とY位置」プロパティの値を数値型で戻します。

d2frdbs_access_key( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「アクセス・キー」プロパティの値を設定します。

d2frdbs_back_color( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「バックグラウンド・カラー」プロパティの値を設定します。

d2frdbs_client_info( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2frdbs_comment( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「コメント」プロパティの値を設定します。

d2frdbs_dist_btwn_recs( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「レコード間の距離」プロパティの値を設定します。

d2frdbs_enabled( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「使用可能」プロパティの値を設定します。

d2frdbs_fill_pat( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「塗りパターン」プロパティの値を設定します。

d2frdbs_font_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォント名」プロパティの値を設定します。

d2frdbs_font_siz( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォント・サイズ」プロパティの値を設定します。

d2frdbs_font_spcing( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォント間隔」プロパティの値を設定します。

d2frdbs_font_sty( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォント・スタイル」プロパティの値を設定します。

d2frdbs_font_weight( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォントの太さ」プロパティの値を設定します。

d2frdbs_fore_color( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「フォアグラウンド・カラー」プロパティの値を設定します。

d2frdbs_height( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「幅と高さ」プロパティの値を設定します。

d2frdbs_label( ctx, obj, val );

此のマクロでは、「ラジオ・ボタン」オブジェクトの「ラベル」プロパティの値を設定します。

d2frdbs_module( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_MODULEプロパティの値を設定します。

d2frdbs_name( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「名前」プロパティの値を設定します。

d2frdbs_next( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_NEXTプロパティの値を設定します。

d2frdbs_owner( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_OWNERプロパティの値を設定します。

d2frdbs_par_flnam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2frdbs_par_flpath( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2frdbs_par_modstr( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2frdbs_par_modtyp( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2frdbs_par_module( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2frdbs_par_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2frdbs_previous( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PREVIOUSプロパティの値を設定します。

d2frdbs_prmpt( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプト」プロパティの値を設定します。

d2frdbs_prmpt_align( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの配置」プロパティの値を設定します。

d2frdbs_prmpt_align_ofst( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプト配置のオフセット」プロパティの値を設定します。

d2frdbs_prmpt_att_edge( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの連結枠」プロパティの値を設定します。

d2frdbs_prmpt_att_ofst( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの連結オフセット」プロパティの値を設定します。

d2frdbs_prmpt_back_color( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのバックグラウンド・カラー」プロパティの値を設定します。

d2frdbs_prmpt_disp_sty( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの表示スタイル」プロパティの値を設定します。

d2frdbs_prmpt_fill_pat( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの塗りパターン」プロパティの値を設定します。

d2frdbs_prmpt_font_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォント名」プロパティの値を設定します。

d2frdbs_prmpt_font_siz( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォント・サイズ」プロパティの値を設定します。

d2frdbs_prmpt_font_spcing( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォント間隔」プロパティの値を設定します。

d2frdbs_prmpt_font_sty( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォント・スタイル」プロパティの値を設定します。

d2frdbs_prmpt_font_wght( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォントの太さ」プロパティの値を設定します。

d2frdbs_prmpt_fore_color( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトのフォアグラウンド・カラー」プロパティの値を設定します。

d2frdbs_prmpt_jst( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの文字位置」プロパティの値を設定します。

d2frdbs_prmpt_reading_ordr( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「プロンプトの読込み順」プロパティの値を設定します。

d2frdbs_prmpt_vat_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PRMPT_VAT_NAMプロパティの値を設定します。

d2frdbs_prmpt_vat_obj( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_PRMPT_VAT_OBJプロパティの値を設定します。

d2frdbs_rdb_val( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「ラジオ・ボタンの値」プロパティの値を設定します。

d2frdbs_source( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_SOURCEプロパティの値を設定します。

d2frdbs_vat_nam( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「可視属性グループ」プロパティの値を設定します。

d2frdbs_vat_obj( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトのD2FP_VAT_OBJプロパティの値を設定します。

d2frdbs_visible( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「可視」プロパティの値を設定します。

d2frdbs_white_on_black( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「白黒」プロパティの値を設定します。

d2frdbs_width( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「幅と高さ」プロパティの値を設定します。

d2frdbs_x_pos( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「X位置とY位置」プロパティの値を設定します。

d2frdbs_y_pos( ctx, obj, val );

このマクロでは、「ラジオ・ボタン」オブジェクトの「X位置とY位置」プロパティの値を設定します。


「レコード・グループ」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのAPI「レコード・グループ」オブジェクトを開くマクロについて説明します。

d2frcgg_client_info( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2frcgg_col_spec( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_COL_SPECプロパティの値をオブジェクト型で戻します。

d2frcgg_comment( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_COMMENTプロパティの値をテキスト型で戻します。

d2frcgg_module( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2frcgg_name( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2frcgg_next( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2frcgg_owner( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2frcgg_par_flnam( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2frcgg_par_flpath( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2frcgg_par_modstr( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2frcgg_par_modtyp( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2frcgg_par_module( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2frcgg_par_nam( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2frcgg_previous( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2frcgg_rec_grp_fetch_siz( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_REC_GRP_FETCH_SIZプロパティの値を数値型で戻します。

d2frcgg_rec_grp_qry( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_REC_GRP_QRYプロパティの値をテキスト型で戻します。

d2frcgg_rec_grp_typ( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を数値型で戻します。

d2frcgg_source( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2frcgs_client_info( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2frcgs_comment( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_COMMENTプロパティの値を設定します。

d2frcgs_name( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2frcgs_par_flnam( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2frcgs_par_flpath( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2frcgs_par_modstr( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2frcgs_par_modtyp( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2frcgs_par_module( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2frcgs_par_nam( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2frcgs_rec_grp_fetch_siz( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_REC_GRP_FETCH_SIZプロパティの値を設定します。

d2frcgs_rec_grp_qry( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_REC_GRP_QRYプロパティの値を設定します。

d2frcgs_rec_grp_typ( ctx, obj, val );

このマクロでは、「レコード・グループ」オブジェクトのD2FP_REC_GRP_TYPプロパティの値を設定します。


「レコード・グループ列仕様部」オブジェクトのマクロ

関連項目

この項では、Form BuilderのOpen API「レコード・グループ列仕様部」オブジェクトのマクロについて説明します。

d2frcsg_client_info( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2frcsg_col_dat_typ( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_COL_DAT_TYPプロパティの値を数値型で戻します。

d2frcsg_col_vals_count( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_COL_VALS_COUNTプロパティの値を数値型で戻します。

d2frcsg_max_len( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_MAX_LENプロパティの値を数値型で戻します。

d2frcsg_name( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2frcsg_next( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2frcsg_previous( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2frcss_client_info( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2frcss_col_dat_typ( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_COL_DAT_TYPプロパティの値を設定します。

d2frcss_max_len( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_MAX_LENプロパティの値を指定します。

d2frcss_name( ctx, obj, val );

このマクロでは、「レコード・グループ列仕様部」オブジェクトのD2FP_NAMEプロパティの値を指定します。


「リレーション」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「リレーション」オブジェクトのマクロについて説明します。

d2frelg_auto_qry( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_AUTO_QRYプロパティの値をブール型で戻します。

d2frelg_client_info( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2frelg_comment( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_COMMENTプロパティの値をテキスト型で戻します。

d2frelg_deferred( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_DEFERREDプロパティの値をブール型で戻します。

d2frelg_del_rec( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_DEL_RECプロパティの値を数値型で戻します。

d2frelg_detail_blk( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_DETAIL_BLKプロパティの値をテキスト型で戻します。

d2frelg_join_cond( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_JOIN_CONDプロパティの値をテキスト型で戻します。

d2frelg_module( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2frelg_name( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2frelg_next( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2frelg_owner( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2frelg_previous( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2frelg_prvnt_mstrless_ops( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_PRVNT_MSTRLESS_OPSプロパティの値をブール型で戻します。

d2frelg_source( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2frels_auto_qry( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_AUTO_QRYプロパティの値を設定します。

d2frels_client_info( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2frels_comment( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_COMMENTプロパティの値を設定します。

d2frels_deferred( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_DEFERREDプロパティの値を設定します。

d2frels_del_rec( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_DEL_RECプロパティの値を設定します。

d2frels_detail_blk( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_DETAIL_BLKプロパティの値を設定します。

d2frels_join_cond( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_JOIN_CONDプロパティの値を設定します。

d2frels_name( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2frels_prvnt_mstrless_ops( ctx, obj, val );

このマクロでは、「リレーション」オブジェクトのD2FP_PRVNT_MSTRLESS_OPSプロパティの値を設定します。


「レポート」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「レポート」オブジェクトのマクロについて説明します。

d2frptg_client_info( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2frptg_comm_mode( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_COMM_MODEプロパティの値を数値型で戻します。

d2frptg_comment( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_COMMENTプロパティの値をテキスト型で戻します。

d2frptg_dat_src_blk( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_DAT_SRC_BLKプロパティの値をテキスト型で戻します。

d2frptg_exec_mode( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_EXEC_MODEプロパティの値を数値型で戻します。

d2frptg_flnam( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_FLNAMプロパティの値をテキスト型で戻します。

d2frptg_module( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2frptg_name( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2frptg_next( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2frptg_owner( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2frptg_previous( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2frptg_rpt_destination_fmt( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_RPT_DESTINATION_FMTプロパティの値をテキスト型で戻します。

d2frptg_rpt_destination_nam( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_ RPT_DESTINATION_NAMプロパティの値をテキスト型で戻します。

d2frptg_rpt_destination_typ( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_ RPT_DESTINATION_TYPプロパティの値を数値型で戻します。

d2frptg_rpt_params( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_RPT_PARAMSプロパティの値をテキスト型で戻します。

d2frptg_rpt_srvr( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_RPT_SRVRプロパティの値をテキスト型で戻します。

d2frptg_source( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2frpts_client_info( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2frpts_comm_mode( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_COMM_MODEプロパティの値を設定します。

d2frpts_comment( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_COMMENTプロパティの値を設定します。

d2frpts_dat_src_blk( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_DAT_SRC_BLKプロパティの値を設定します。

d2frpts_exec_mode( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_EXEC_MODEプロパティの値を設定します。

d2frpts_flnam( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_FLNAMプロパティの値を設定します。

d2frpts_name( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2frpts_rpt_destination_fmt( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_RPT_DESTINATION_FMTプロパティの値を設定します。

d2frpts_rpt_destination_nam( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_RPT_DESTINATION_NAMプロパティの値を設定します。

d2frpts_rpt_destination_typ( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_RPT_DESTINATION_TYPプロパティの値を設定します。

d2frpts_rpt_params( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_RPT_PARAMSプロパティの値を設定します。

d2frpts_rpt_srvr( ctx, obj, val );

このマクロでは、「レポート」オブジェクトのD2FP_RPT_SRVRプロパティの値を設定します。


「タブ・ページ」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「タブ・ページ」オブジェクトのマクロについて説明します。

d2ftbpg_client_info( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2ftbpg_comment( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_COMMENTプロパティの値をテキスト型で戻します。

d2ftbpg_enabled( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_ENABLEDプロパティの値をブール型で戻します。

d2ftbpg_graphic( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_GRAPHICプロパティの値をオブジェクト型で戻します。

d2ftbpg_label( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_LABELプロパティの値をテキスト型で戻します。

d2ftbpg_module( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2ftbpg_name( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2ftbpg_next( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2ftbpg_owner( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2ftbpg_previous( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2ftbpg_source( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2ftbpg_visible( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_VISIBLEプロパティの値をブール型で戻します。

d2ftbps_client_info( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2ftbps_comment( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_COMMENTプロパティの値を設定します。

d2ftbps_enabled( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_ENABLEDプロパティの値を設定します。

d2ftbps_label( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_LABELプロパティの値を設定します。

d2ftbps_name( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2ftbps_visible( ctx, obj, val );

このマクロでは、「タブ・ページ」オブジェクトのD2FP_VISIBLEプロパティの値を設定します。


「トリガー」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「トリガー」オブジェクトのマクロについて説明します。

d2ftrgg_client_info( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2ftrgg_comment( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_COMMENTプロパティの値をテキスト型で戻します。

d2ftrgg_disp_in_kbrd_hlp( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_DISP_IN_KBRD_HLPプロパティの値をブール型で戻します。

d2ftrgg_exec_hierarchy( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_EXEC_HIERARCHYプロパティの値を数値型で戻します。

d2ftrgg_fire_in_qry( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_FIRE_IN_QRYプロパティの値をブール型で戻します。

d2ftrgg_kbrd_hlp_txt( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_KBRD_HLP_TXTプロパティの値をテキスト型で戻します。

d2ftrgg_module( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2ftrgg_name( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2ftrgg_next( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2ftrgg_owner( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2ftrgg_par_flnam( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2ftrgg_par_flpath( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2ftrgg_par_modstr( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2ftrgg_par_modtyp( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAT_MODTYPプロパティの値を数値型で戻します。

d2ftrgg_par_module( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2ftrgg_par_nam( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2ftrgg_previous( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2ftrgg_source( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2ftrgg_trg_sty( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_TRG_STYプロパティの値を数値型で戻します。

d2ftrgg_trg_txt( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_TRG_TXTプロパティの値をテキスト型で戻します。

d2ftrgg_trg_typ( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_TRG_TYPプロパティの値を数値型で戻します。

d2ftrgs_client_info( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2ftrgs_comment( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_COMMENTプロパティの値を設定します。

d2ftrgs_disp_in_kbrd_hlp( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_DISP_IN_KBRD_HLPプロパティの値を設定します。

d2ftrgs_exec_hierarchy( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_EXEC_HIERARCHYプロパティの値を設定します。

d2ftrgs_fire_in_qry( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_FIRE_IN_QRYプロパティの値を設定します。

d2ftrgs_kbrd_hlp_txt( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_KBRD_HLP_TXTプロパティの値を設定します。

d2ftrgs_name( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2ftrgs_par_flnam( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2ftrgs_par_flpath( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2ftrgs_par_modstr( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2ftrgs_par_modtyp( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2ftrgs_par_module( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2ftrgs_par_nam( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2ftrgs_trg_sty( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_TRG_STYプロパティの値を設定します。

d2ftrgs_trg_txt( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_TRG_TXTプロパティの値を設定します。

d2ftrgs_trg_typ( ctx, obj, val );

このマクロでは、「トリガー」オブジェクトのD2FP_TRG_TYPプロパティの値を設定します。


「可視属性」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「可視属性」オブジェクトのマクロについて説明します。

d2fvatg_back_color( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_BACK_COLORプロパティの値をテキスト型で戻します。

d2fvatg_client_info( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fvatg_comment( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_COMMENTプロパティの値をテキスト型で戻します。

d2fvatg_fill_pat( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FILL_PATプロパティの値をテキスト型で戻します。

d2fvatg_font_nam( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_NAMプロパティの値をテキスト型で戻します。

d2fvatg_font_siz( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_SIZプロパティの値を数値型で戻します。

d2fvatg_font_spcing( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_SPCINGプロパティの値を数値型で戻します。

d2fvatg_font_sty( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_STYプロパティの値をテキスト型で戻します。

d2fvatg_font_wgth( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_WGHTプロパティの値を数値型で戻します。

d2fvatg_fore_color( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FORE_COLORプロパティの値をテキスト型で戻します。

d2fvatg_module( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fvatg_name( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2fvatg_next( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fvatg_owner( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fvatg_par_flnam( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fvatg_par_flpath( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fvatg_par_modstr( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fvatg_par_modtyp( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fvatg_par_module( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fvatg_par_nam( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fvatg_previous( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fvatg_prmpt_back_color( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PRMPT_BACK_COLORプロパティの値をテキスト型で戻します。

d2fvatg_prmpt_fill_pat( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PRMPT_FILL_PATプロパティの値をテキスト型で戻します。

d2fvatg_prmpt_font_nam( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PRMPT_FONT_NAMプロパティの値をテキスト型で戻します。

d2fvatg_prmpt_font_siz( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PRMPT_FONT_SIZプロパティの値を数値型で戻します。

d2fvatg_prmpt_font_spcing( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PRMPT_FONT_SPCINGプロパティの値を数値型で戻します。

d2fvatg_prmpt_font_sty( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PRMPT_FONT_STYプロパティの値を数値型で戻します。

d2fvatg_prmpt_font_wght( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PRMPT_FONT_WGHTプロパティの値を数値型で戻します。

d2fvatg_prmpt_fore_color( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PRMPT_FORE_COLORプロパティの値をテキスト型で戻します。

d2fvatg_source( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fvatg_vat_typ( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_VAT_TYPプロパティの値を数値型で戻します。

d2fvatg_white_on_black( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_WHITE_ON_BLACKプロパティの値をブール型で戻します。

d2fvats_back_color( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_BACK_COLORプロパティの値を設定します。

d2fvats_client_info( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fvats_comment( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_COMMENTプロパティの値を設定します。

d2fvats_fill_pat( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FILL_PATプロパティの値を設定します。

d2fvats_font_nam( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_NAMプロパティの値を設定します。

d2fvats_font_siz( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_SIZプロパティの値を設定します。

d2fvats_font_spcing( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_SPCINGプロパティの値を設定します。

d2fvats_font_sty( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_STYプロパティの値を設定します。

d2fvats_font_wght( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FONT_WGHTプロパティの値を設定します。

d2fvats_fore_color( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_FORE_COLORプロパティの値を設定します。

d2fvats_name( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2fvats_par_flnam( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fvats_par_flpath( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fvats_par_modstr( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fvats_par_modtyp( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fvats_par_module( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fvats_par_nam( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2fvats_prmpt_back_color( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PROMPT_BACK_COLORプロパティの値を設定します。

d2fvats_prmpt_fill_pat( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PROMPT_FILL_PATプロパティの値を設定します。

d2fvats_prmpt_font_nam( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PROMPT_FONT_NAMプロパティの値を設定します。

d2fvats_prmpt_font_siz( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PROMPT_FONT_SIZプロパティの値を設定します。

d2fvats_prmpt_font_spcing( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PROMPT_FONT_SPCINGプロパティの値を設定します。

d2fvats_prmpt_font_sty( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PROMPT_FONT_STYプロパティの値を設定します。

d2fvats_prmpt_font_wght( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PROMPT_FONT_WGHTプロパティの値を設定します。

d2fvats_prmpt_fore_color( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_PROMPT_FORE_COLORプロパティの値を設定します。

d2fvats_vat_typ( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_VAT_TYPプロパティの値を設定します。

d2fvats_white_on_black( ctx, obj, val );

このマクロでは、「可視属性」オブジェクトのD2FP_WHITE_ON_BLACKプロパティの値を設定します。


「ウィンドウ」オブジェクトのマクロ

  関連項目

この項では、Form BuilderのOpen API「ウィンドウ」オブジェクトのマクロについて説明します。

d2fwing_back_color( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_BACK_COLORプロパティの値をテキスト型で戻します。

d2fwing_bevel( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_BEVELプロパティの値を数値型で戻します。

d2fwing_client_info( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_CLIENT_INFOプロパティの値をDVOIDポインタ形式で戻します。

d2fwing_cls_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_CLS_ALLOWEDプロパティの値をブール型で戻します。

d2fwing_comment( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_COMMENTプロパティの値をテキスト型で戻します。

d2fwing_fill_pat( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FILL_PATプロパティの値をテキスト型で戻します。

d2fwing_font_nam( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_NAMプロパティの値をテキスト型で戻します。

d2fwing_font_siz( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_SIZプロパティの値を数値型で戻します。

d2fwing_font_spcing( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_SPCINGプロパティの値を数値型で戻します。

d2fwing_font_sty( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_STYプロパティの値を数値型で戻します。

d2fwing_font_wgth( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_WGHTプロパティの値を数値型で戻します。

d2fwing_fore_color( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FORE_COLORプロパティの値をテキスト型で戻します。

d2fwing_height( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_HEIGHTプロパティの値を数値型で戻します。

d2fwing_hide_on_exit( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_HIDE_ON_EXITプロパティの値をブール型で戻します。

d2fwing_htb_cnv_name( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_HTB_CNV_NAMEプロパティの値をテキスト型で戻します。

d2fwing_icon_flnam( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_ICON_FLNAMプロパティの値をテキスト型で戻します。

d2fwing_inhrt_mnu( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_INHRT_MNUプロパティの値をブール型で戻します。

d2fwing_lang_dir( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_LANG_DIRプロパティの値を数値型で戻します。

d2fwing_maximize_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MAXIMIZE_ALLOWEDプロパティの値をブール型で戻します。

d2fwing_minimize_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MINIMIZE_ALLOWEDプロパティの値をブール型で戻します。

d2fwing_minimize_ttl( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MINIMIZE_TTLプロパティの値をテキスト型で戻します。

d2fwing_modal( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MODALプロパティの値をブール型で戻します。

d2fwing_module( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MODULEプロパティの値をオブジェクト型で戻します。

d2fwing_mv_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MV_ALLOWEDプロパティの値をブール型で戻します。

d2fwing_name( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_NAMEプロパティの値をテキスト型で戻します。

d2fwing_next( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_NEXTプロパティの値をオブジェクト型で戻します。

d2fwing_owner( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_OWNERプロパティの値をオブジェクト型で戻します。

d2fwing_par_flnam( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_FLNAMプロパティの値をテキスト型で戻します。

d2fwing_par_flpath( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_FLPATHプロパティの値をテキスト型で戻します。

d2fwing_par_modstr( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を数値型で戻します。

d2fwing_par_modtyp( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を数値型で戻します。

d2fwing_par_module( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_MODULEプロパティの値をテキスト型で戻します。

d2fwing_par_nam( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_NAMプロパティの値をテキスト型で戻します。

d2fwing_previous( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PREVIOUSプロパティの値をオブジェクト型で戻します。

d2fwing_prmry_cnv( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PRMRY_CNVプロパティの値をテキスト型で戻します。

d2fwing_resize_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_RESIZE_ALLOWEDプロパティの値をブール型で戻します。

d2fwing_show_horz_scrlbr( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_SHOW_HORZ_SCRLBRプロパティの値をブール型で戻します。

d2fwing_show_vert_scrlbr( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_SHOW_VERT_SCRLBRプロパティの値をブール型で戻します。

d2fwing_source( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_SOURCEプロパティの値をオブジェクト型で戻します。

d2fwing_title( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_TITLEプロパティの値をテキスト型で戻します。

d2fwing_vat_nam( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_VAT_NAMプロパティの値をテキスト型で戻します。

d2fwing_vat_obj( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_VAT_OBJプロパティの値をオブジェクト型で戻します。

d2fwing_vtb_cnv_name( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_VTB_CNV_NAMEプロパティの値をテキスト型で戻します。

d2fwing_white_on_black( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_WHITE_ON_BLACKプロパティの値をブール型で戻します。

d2fwing_width( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_WIDTHプロパティの値を数値型で戻します。

d2fwing_win_sty( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_WIN_STYプロパティの値を数値型で戻します。

d2fwing_x_pos( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_X_POSプロパティの値を数値型で戻します。

d2fwing_y_pos( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_Y_POSプロパティの値を数値型で戻します。

d2fwins_back_color ( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_BACK_COLORプロパティの値を設定します。

d2fwins_bevel( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_BEVELプロパティの値を設定します。

d2fwins_client_info( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_CLIENT_INFOプロパティの値を設定します。

d2fwins_cls_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_CLS_ALLOWEDプロパティの値を設定します。

d2fwins_comment( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_COMMENTプロパティの値を設定します。

d2fwins_fill_pat( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FILL_PATプロパティの値を設定します。

d2fwins_font_nam( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_NAMプロパティの値を設定します。

d2fwins_font_siz( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_SIZプロパティの値を設定します。

d2fwins_font_spcing( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_SPCINGプロパティの値を設定します。

d2fwins_font_sty( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_STYプロパティの値を設定します。

d2fwins_font_wght( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FONT_WGHTプロパティの値を設定します。

d2fwins_fore_color( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_FORE_COLORプロパティの値を設定します。

d2fwins_height( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_HEIGHTプロパティの値を設定します。

d2fwins_hide_on_exit( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_HIDE_ON_EXITプロパティの値を設定します。

d2fwins_htb_cnv_name( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_HTB_CNV_NAMEプロパティの値を設定します。

d2fwins_icon_flname( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_ICON_FLNAMEプロパティの値を設定します。

d2fwins_inhrt_mnu( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_INHRT_MNUプロパティの値を設定します。

d2fwins_lang_dir( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_LANG_DIRプロパティの値を設定します。

d2fwins_maximize_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MAXIMIZE_ALLOWEDプロパティの値を設定します。

d2fwins_minimize_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MINIMIZE_ALLOWEDプロパティの値を設定します。

d2fwins_minimize_ttl( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MINIMIZE_TTLプロパティの値を設定します。

d2fwins_modal( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MODALプロパティの値を設定します。

d2fwins_mv_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_MV_ALLOWEDプロパティの値を設定します。

d2fwins_name( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_NAMEプロパティの値を設定します。

d2fwins_par_flnam( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_FLNAMプロパティの値を設定します。

d2fwins_par_flpath( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_FLPATHプロパティの値を設定します。

d2fwins_par_modstr( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_MODSTRプロパティの値を設定します。

d2fwins_par_modtyp( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_MODTYPプロパティの値を設定します。

d2fwins_par_module( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_MODULEプロパティの値を設定します。

d2fwins_par_nam( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PAR_NAMプロパティの値を設定します。

d2fwins_prmry_cnv( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_PRMRY_CNVプロパティの値を設定します。

d2fwins_resize_allowed( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_RESIZE_ALLOWEDプロパティの値を設定します。

d2fwins_show_horz_scrlbr( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_SHOW_HORZ_SCRLBRプロパティの値を設定します。

d2fwins_show_vert_scrlbr( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_SHOW_VERT_SCRLBRプロパティの値を設定します。

d2fwins_title( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_TITLEプロパティの値を設定します。

d2fwins_vat_nam( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_VAT_NAMプロパティの値を設定します。

d2fwins_vat_obj( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_VAT_OBJプロパティの値を設定します。

d2fwins_vtb_cnv_name( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_VTB_CNV_NAMEプロパティの値を設定します。

d2fwins_white_on_black( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_WHITE_ON_BLACKプロパティの値を設定します。

d2fwins_width( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_WIDTHプロパティの値を設定します。

d2fwins_win_sty( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_WIN_STYプロパティの値を設定します。

d2fwins_x_pos( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_X_POSプロパティの値を設定します。

d2fwins_y_pos( ctx, obj, val );

このマクロでは、「ウィンドウ」オブジェクトのD2FP_Y_POSプロパティの値を設定します。


Open APIを使用したモジュールの作成

 例	     関連項目

基本的なForm Builderモジュールを作成するには

1	Cソース・コードに該当するCヘッダー・ファイルをインクルードします。

2	Cのソース・コードで希望のOpen API関数をコールします。

A	コンテキスト構造体を初期化します。

B	ファンクション・コール「作成」または「読込み」を実行し、フォーム・モジュール、メニュー・モジュールまたはオブジェクト・ライブラリを新規作成または既存のものを開きます。

C	既存のデータベースに接続するなど、希望の操作を実行するのに必要なOpen Forms APIファンクション・コールを実行します。

D	該当する"CompileFile()"関数を使用して.FMXか.MMXにコンパイルしたフォームを生成します。

E	必要な関数をコールし、関連モジュールを保存します（フォーム・モジュールの場合はd2ffmdsv_Save()、メニュー・モジュールの場合はd2fmmdsv_Save()、またはオブジェクト・ライブラリの場合はd2folbsv_Save()など）。

F	最後にコンテキストを破壊するd2fctxde_Destroy()関数をコールし、Open Forms APIコンテキストを破壊します。このファンクション・コールは、必ず最後に実行してください。

3	ソース・ファイルをOpen APIライブラリ（f60d2f32.lib）にリンクします。

4	ファイルをコンパイルして、実行可能ファイルを作成します。

5	実行可能ファイルを実行し、Form Builderモジュールを作成します。


Open APIを使用したモジュールの作成例

例

/*

This example creates a master-detail form based on the dept and emp database tables owned by the user scott.The master contains the following fields:empno, ename, job, sal, and deptno.The detail contains the following fields deptno, dname, and loc.The join condition is deptno.
*/
#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<d2fctx.h>
#include<d2ffmd.h>
#include<d2ffpr.h>
#include<d2fob.h>
#include<d2fcnv.h>
#include<d2ftrg.h>
#include<d2blk.h>
#include<d2fitm.h>
#include<d2fwin.h>
#include<d2frel.h>

#define D2FS_SUCCESS 0
#define FAIL 1
#define BUFSIZE 128
#define WBP_TXT "null;\n"

int WINAPI WinMain(HANDLE hInstance,
                   HANDLE hPrevInstance,
                   LPSTR lpszCommandLine,
                   int cmdShow)
{
d2fctx  *pd2fctx;
d2ffmd  *pd2ffmd;
d2fcnv  *pd2fcnv;
d2fwin  *pd2fwin;

d2fblk  *pempblk;
d2fblk  *pdeptblk;
d2frel  *pd2frel;

d2fitm  *pEempnoitm;
d2fitm  *pEenameitm;
d2fitm  *pEjobitm;
d2fitm  *pEsalitm;

d2fitm  *pEdeptnoitm;
d2fitm  *pDdeptnoitm;
d2fitm  *pDdnameitm;
d2fitm  *pDlocitm;

text  *name = (text *)0;
text  *form_name = (text *)0;
d2fctxa  d2fctx_attr;
d2fstatus retval;
char buf[BUFSIZE];

/* Get form name */
strncpy(buf, "empdept", BUFSIZE);
form_name = (text*)strtok(buf, ".");

/* Initialize the attribute mask */
d2fctx_attr.mask_d2fctxa = 0;

/* for MS Windows-only attributes */
d2fctx_attr.d2fihnd_d2fctxa = hInstance;
d2fctx_attr.d2fphnd_d2fctxa = hPrevInstance;
d2fctx_attr.d2fcmsh_d2fctxa = cmdShow;

/* Create the API context */
status = d2fctxcr_Create(&pd2fctx, &d2fctx_attr);

/* Create the context */
d2fctxcn_Connect(pd2fctx, (text*)"scott/tiger@test");

/* Create the form */
d2ffmdcr_Create(pd2fctx, &pd2ffmd, form_name);

/* Create a window */
d2fwincr_Create(pd2fctx,pd2ffmd,&pd2fwin,(text*)"MYWIN");

/*** Create Canvas and set canvas-related properties ***/
/* Create a canvas */
d2fcnvcr_Create(pd2fctx, pd2ffmd, &pd2fcnv, (text*)"MYCANVAS");

/* Set viewport width */
d2fcnvs_vprt_wid(pd2fctx, pd2fcnv, 512);

/* Set viewport height */
d2fcnvs_vprt_hgt(pd2fctx, pd2fcnv, 403);

/* Set window */
dwfcnvs_wnd_obj(pd2fctx, pd2fcnv, pd2fwin);

/* Set viewport X-position */
d2fcnvs_vprt_x_pos(pd2fctx, pd2fcnv, 0);

/* Set viewport Y-position */
d2fcnvs_vprt_y_pos(pd2fctx, pd2fcnv, 0);

/* Set width */
d2fcnvs_width(pd2fctx, pd2fcnv, 538)

/* Set height */
d2fcnvs_height(pd2fctx, pd2fcnv, 403)

/*** Create Emp block and set block-related properties ***/
/* Create block */
d2fblkcr_Create(pd2fctx, pd2ffmd, &pempblk, (text*)"EMP");

/* Set to database block */
d2fblks_db_blk(pd2fctx, pempblk, TRUE);

/* Set query data source to Table */
d2fblks_qry_dat_src_typ(pd2fctx, pempblk, D2FC_QRDA_TABLE);

/* Set query data source name to EMP table */
d2fblks_qry_dat_src_nam(pd2fctx, pempblk, "EMP");

/* Set DML data source type to Table */
d2fblks_dml_dat_typ(Pd2fctx, pempblk, D2FC_DMDA_TABLE);

/* Set DML data source name to EMP table */
d2fblks_dml_dat_nam(pd2fctx, pempblk, (text*)"EMP");

/*** Create Dept block and set block-related properties ***/
/* Create block */
d2fblkcr_Create(pd2fctx, pd2ffmd, &pdeptblk, (text*)"DEPT");

/* Set to database block */
d2fblks_db_blk(pd2fctx, pdeptblk, TRUE);

/* Set query data source to Table */
d2fblks_qry_dat_src_typ(pd2fctx, pdeptblk, D2FC_QRDA_TABLE);

/* Set query data source name to EMP table */
d2fblks_qry_dat_src_nam(pd2fctx, pdeptblk, "DEPT");

/* Set DML data source type to Table */
d2fblks_dml_dat_typ(Pd2fctx, pdeptblk, D2FC_DMDA_TABLE);

/* Set DML data source name to EMP table */
d2fblks_dml_dat_nam(pd2fctx, pdeptblk, (text*)"DEPT");

/*** Create empno item and item-related properties ***/
/* Create item */
d2fitmcr_Create(pd2fctx, pempblk, &pEempnoitm, (text*)"EMPNO");

/* Set item type */
d2fitms_itm_type(pd2fctx, pEempnoitm, D2FC_ITTY_TI);

/* Set Enable property */
d2fitms_enabled(pd2fctx, pEempnoitm, TRUE);

/* Set item (keyboard) navigable property */
d2fitms_kbrd_navigable(pd2fctx, pEempnoitm, TRUE);

/* Set item Data Type property */
d2fitms_dat_typ(pd2fctx, pEempnoitm, D2FC_DATY_NUMBER);

/* Set item Max Length property */
d2fitms_max_len(pd2fctx, pEempnoitm, 6);

/* Set item Required property */
d2fitms_required(pd2fctx, pEempnoitm, TRUE);

/* Set Distance Between Records property */
d2fitms_dist_btwn_recs(pd2fctx, pEempnoitm, 0);

/* Set Database block(Database Item) property */
d2fitms_db_itm(pd2fctx, pEempnoitm, TRUE);

/* Set Query Allowed */
d2fitms_qry_allowed(pd2fctx, pEempnoitm, TRUE);

/* Set Query Length */
d2fitms_qry_len(pd2fctx, pEempnoitm, 6);

/* Set Update Allowed */
d2fitms_updt_allowed(pd2fctx, pEempnoitm, TRUE);

/* Set Item Displayed (Visible) */
d2fitms_visible(pd2fctx, pEempnoitm, TRUE);

/* Set Item Canvas property */
d2fitms_cnv_obj(pd2fctx, pEempnoitm, pd2fcnv);

/* Set Item X-position */
d2fitms_x_pos(pd2fctx, pEempnoitm, 32);

/* Set Item Y-position */
d2fitms_y_pos(pd2fctx, pEempnoitm, 50);

/* Set Item Width */
d2fitms_width(pd2fctx, pEempnoitm, 51);

/* Set Item Height */
d2fitms_height(pd2fctx, pEempnoitm, 17);

/* Set Item Bevel */
d2fitms_bevel(pd2fctx, pEempnoitm, D2FC_BEST_LOWERED);

/* Set item Hint */
d2fitms_hint(pd2fctx, PEempnoitm, (text*)"Enter value for :EMPNO");

/*** Create Ename item and item-related properties ***/
/* Create item */
d2fitmcr_Create(pd2fctx, pempblk, &pEenameitm, (text*)"ENAME");

/* Set item type */
d2fitms_itm_type(pd2fctx, pEenameitm, D2FC_ITTY_TI);

/* Set Enable property */
d2fitms_enabled(pd2fctx, pEenameitm, TRUE);

/* Set item (keyboard) navigable property */
d2fitms_kbrd_navigable(pd2fctx, pEenameitm, TRUE);

/* Set item Data Type property */
d2fitms_dat_typ(pd2fctx, pEenameitm, D2FC_DATY_CHAR);

/* Set item Max Length property */
d2fitms_max_len(pd2fctx, pEenameitm, 10);

/* Set Distance Between Records property */
d2fitms_dist_btwn_recs(pd2fctx, pEenameitm, 0);

/* Set Database block(Database Item) property */
d2fitms_db_itm(pd2fctx, pEenameitm, TRUE);

/* Set Query Allowed */
d2fitms_qry_allowed(pd2fctx, pEenameitm, TRUE);

/* Set Query Length */
d2fitms_qry_len(pd2fctx, pEenameitm, 10);

/* Set Update Allowed */
d2fitms_updt_allowed(pd2fctx, pEenameitm, TRUE);

/* Set Item Displayed (Visible) */
d2fitms_visible(pd2fctx, pEenameitm, TRUE);

/* Set Item Canvas property */
d2fitms_cnv_obj(pd2fctx, pEenameitm, pd2fcnv);

/* Set Item X-position */
d2fitms_x_pos(pd2fctx, pEenameitm, 83);

/* Set Item Y-position */
d2fitms_y_pos(pd2fctx, pEenameitm, 50);

/* Set Item Width */
d2fitms_width(pd2fctx, pEenameitm, 77);

/* Set Item Height */
d2fitms_height(pd2fctx, pEenameitm, 17);

/* Set Item Bevel */
d2fitms_bevel(pd2fctx, pEenameitm, D2FC_BEST_LOWERED);

/* Set item Hint */
d2fitms_hint(pd2fctx, PEenameitm, (text*)"Enter value for :ENAME");

/*** Create JOB item and item-related properties ***/
/* Create item */
d2fitmcr_Create(pd2fctx, pempblk, &pEjobitm, (text*)"JOB");

/* Set item type */
d2fitms_itm_type(pd2fctx, pEjobitm, D2FC_ITTY_TI);

/* Set Enable property */
d2fitms_enabled(pd2fctx, pEjobitm, TRUE);

/* Set item (keyboard) navigable property */
d2fitms_kbrd_navigable(pd2fctx, pEjobitm, TRUE);

/* Set item Data Type property */
d2fitms_dat_typ(pd2fctx, pEjobitm, D2FC_DATY_CHAR);

/* Set item Max Length property */
d2fitms_max_len(pd2fctx, pEjobitm, 9);

/* Set Distance Between Records property */
d2fitms_dist_btwn_recs(pd2fctx, pEjobitm, 0);

/* Set Database block(Database Item) property */
d2fitms_db_itm(pd2fctx, pEjobitm, TRUE);

/* Set Query Allowed */
d2fitms_qry_allowed(pd2fctx, pEjobitm, TRUE);

/* Set Query Length */
d2fitms_qry_len(pd2fctx, pEjobitm, 9);

/* Set Update Allowed */
d2fitms_updt_allowed(pd2fctx, pEjobitm, TRUE);

/* Set Item Displayed (Visible) */
d2fitms_visible(pd2fctx, pEjobitm, TRUE);

/* Set Item Canvas property */
d2fitms_cnv_obj(pd2fctx, pEjobitm, pd2fcnv);

/* Set Item X-position */
d2fitms_x_pos(pd2fctx, pEjobitm, 160);

/* Set Item Y-position */
d2fitms_y_pos(pd2fctx, pEjobitm, 50);

/* Set Item Width */
d2fitms_width(pd2fctx, pEjobitm, 70);

/* Set Item Height */
d2fitms_height(pd2fctx, pEjobitm, 17);

/* Set Item Bevel */
d2fitms_bevel(pd2fctx, pEjobitm, D2FC_BEST_LOWERED);

/* Set item Hint */
d2fitms_hint(pd2fctx, PEjobitm, (text*)"Enter value for :JOB");

/*** Create SALARY item and item-related properties ***/
/* Create item */
d2fitmcr_Create(pd2fctx, pempblk, &pEsalitm, (text*)"SAL");

/* Set item type */
d2fitms_itm_type(pd2fctx, pEsalitm, D2FC_ITTY_TI);

/* Set Enable property */
d2fitms_enabled(pd2fctx, pEsalitm, TRUE);

/* Set item (keyboard) navigable property */
d2fitms_kbrd_navigable(pd2fctx, pEsalitm, TRUE);

/* Set item Data Type property */
d2fitms_dat_typ(pd2fctx, pEsalitm, D2FC_DATY_NUMBER);

/* Set item Max Length property */
d2fitms_max_len(pd2fctx, pEsalitm, 9);

/* Set Distance Between Records property */
d2fitms_dist_btwn_recs(pd2fctx, pEsalitm, 0);

/* Set Database block(Database Item) property */
d2fitms_db_itm(pd2fctx, pEsalitm, TRUE);

/* Set Query Allowed */
d2fitms_qry_allowed(pd2fctx, pEsalitm, TRUE);

/* Set Query Length */
d2fitms_qry_len(pd2fctx, pEsalitm, 9);

/* Set Update Allowed */
d2fitms_updt_allowed(pd2fctx, pEsalitm, TRUE);

/* Set Item Displayed (Visible) */
d2fitms_visible(pd2fctx, pEsalitm, TRUE);

/* Set Item Canvas property */
d2fitms_cnv_obj(pd2fctx, pEsalitm, pd2fcnv);

/* Set Item X-position */
d2fitms_x_pos(pd2fctx, pEsalitm, 352);

/* Set Item Y-position */
d2fitms_y_pos(pd2fctx, pEsalitm, 50);

/* Set Item Width */
d2fitms_width(pd2fctx, pEsalitm, 70);

/* Set Item Height */
d2fitms_height(pd2fctx, pEsalitm, 17);

/* Set Item Bevel */
d2fitms_bevel(pd2fctx, pEsalitm, D2FC_BEST_LOWERED);

/* Set item Hint */
d2fitms_hint(pd2fctx, PEsalitm, (text*)"Enter value for :SAL");

/*** Create DEPTNO item and item-related properties ***/
/* Create item */
d2fitmcr_Create(pd2fctx, pempblk, &pEdeptnoitm, (text*)"DEPTNO");

/* Set item type */
d2fitms_itm_type(pd2fctx, pEdeptnoitm, D2FC_ITTY_TI);

/* Set Enable property */
d2fitms_enabled(pd2fctx, pEdeptnoitm, TRUE);

/* Set item (keyboard) navigable property */
d2fitms_kbrd_navigable(pd2fctx, pEdeptnoitm, TRUE);

/* Set item Data Type property */
d2fitms_dat_typ(pd2fctx, pEdeptnoitm, D2FC_DATY_NUMBER);

/* Set item Max Length property */
d2fitms_max_len(pd2fctx, pEdeptnoitm, 4);

/*Set item Required property */
d2fitms_required(pd2fctx, pEdeptnoitm, TRUE);

/* Set Distance Between Records property */
d2fitms_dist_btwn_recs(pd2fctx, pEdeptnoitm, 0);

/* Set Database block(Database Item) property */
d2fitms_db_itm(pd2fctx, pEdeptnoitm, TRUE);

/* Set Query Allowed */
d2fitms_qry_allowed(pd2fctx, pEdeptnoitm, TRUE);

/* Set Query Length */
d2fitms_qry_len(pd2fctx, pEdeptnoitm, 4);

/* Set Update Allowed */
d2fitms_updt_allowed(pd2fctx, pEdeptnoitm, TRUE);

/* Set Item Displayed (Visible) */
d2fitms_visible(pd2fctx, pEdeptnoitm, TRUE);

/* Set Item Canvas property */
d2fitms_cnv_obj(pd2fctx, pEdeptnoitm, pd2fcnv);

/* Set Item X-position */
d2fitms_x_pos(pd2fctx, pEdeptnoitm, 493);

/* Set Item Y-position */
d2fitms_y_pos(pd2fctx, pEdeptnoitm, 50);

/* Set Item Width */
d2fitms_width(pd2fctx, pEdeptnoitm, 30);

/* Set Item Height */
d2fitms_height(pd2fctx, pEdeptnoitm, 17);

/* Set Item Bevel */
d2fitms_bevel(pd2fctx, pEdeptnoitm, D2FC_BEST_LOWERED);

/* Set item Hint */
d2fitms_hint(pd2fctx, PEdeptnoitm, (text*)"Enter value for :DEPTNO");

/*** Create DEPTNO item and item-related properties ***/
/* Create item */
d2fitmcr_Create(pd2fctx, pdeptblk, &pDdeptnoitm, (text*)"DEPTNO");

/* Set item type */
d2fitms_itm_type(pd2fctx, pDdeptnoitm, D2FC_ITTY_TI);

/* Set Enable property */
d2fitms_enabled(pd2fctx, pDdeptnoitm, TRUE);

/* Set item (keyboard) navigable property */
d2fitms_kbrd_navigable(pd2fctx, pDdeptnoitm, TRUE);

/* Set item Data Type property */
d2fitms_dat_typ(pd2fctx, pDdeptnoitm, D2FC_DATY_NUMBER);

/* Set item Max Length property */
d2fitms_max_len(pd2fctx, pDdeptnoitm, 4);

/*Set item Required property */
d2fitms_required(pd2fctx, pDdeptnoitm, TRUE);

/* Set Distance Between Records property */
d2fitms_dist_btwn_recs(pd2fctx, pDdeptnoitm, 0);

/* Set Database block(Database Item) property */
d2fitms_db_itm(pd2fctx, pDdeptnoitm, TRUE);

/* Set Query Allowed */
d2fitms_qry_allowed(pd2fctx, pDdeptnoitm, TRUE);

/* Set Query Length */
d2fitms_qry_len(pd2fctx, pDdeptnoitm, 4);

/* Set Update Allowed */
d2fitms_updt_allowed(pd2fctx, pDdeptnoitm, TRUE);

/* Set Item Displayed (Visible) */
d2fitms_visible(pd2fctx, pDdeptnoitm, TRUE);

/* Set Item Canvas property */
d2fitms_cnv_obj(pd2fctx, pDdeptnoitm, pd2fcnv);

/* Set Item X-position */
d2fitms_x_pos(pd2fctx, pDdeptnoitm, 32);

/* Set Item Y-position */
d2fitms_y_pos(pd2fctx, pDdeptnoitm, 151);

/* Set Item Width */
d2fitms_width(pd2fctx, pDdeptnoitm, 38);

/* Set Item Height */
d2fitms_height(pd2fctx, pDdeptnoitm, 17);

/* Set Item Bevel */
d2fitms_bevel(pd2fctx, pDdeptnoitm, D2FC_BEST_LOWERED);

/* Set item Hint */
d2fitms_hint(pd2fctx, PDdeptnoitm, (text*)"Enter value for :DEPTNO");

/*** Create DNAME item and item-related properties ***/
/* Create item */
d2fitmcr_Create(pd2fctx, pdeptblk, &pDdnameitm, (text*)"DNAME");

/* Set item type */
d2fitms_itm_type(pd2fctx, pDdnameitm, D2FC_ITTY_TI);

/* Set Enable property */
d2fitms_enabled(pd2fctx, pDdnameitm, TRUE);

/* Set item (keyboard) navigable property */
d2fitms_kbrd_navigable(pd2fctx, pDdnameitm, TRUE);

/* Set item Data Type property */
d2fitms_dat_typ(pd2fctx, pDdnameitm, D2FC_DATY_CHAR);

/* Set item Max Length property */
d2fitms_max_len(pd2fctx, pDdnameitm, 14);

/* Set Distance Between Records property */
d2fitms_dist_btwn_recs(pd2fctx, pDdnameitm, 0);

/* Set Database block(Database Item) property */
d2fitms_db_itm(pd2fctx, pDdnameitm, TRUE);

/* Set Query Allowed */
d2fitms_qry_allowed(pd2fctx, pDdnameitm, TRUE);

/* Set Query Length */
d2fitms_qry_len(pd2fctx, pDdnameitm, 14);

/* Set Update Allowed */
d2fitms_updt_allowed(pd2fctx, pDdnameitm, TRUE);

/* Set Item Displayed (Visible) */
d2fitms_visible(pd2fctx, pDdnameitm, TRUE);

/* Set Item Canvas property */
d2fitms_cnv_obj(pd2fctx, pDdnameitm, pd2fcnv);

/* Set Item X-position */
d2fitms_x_pos(pd2fctx, pDdnameitm, 70);

/* Set Item Y-position */
d2fitms_y_pos(pd2fctx, pDdnameitm, 151);

/* Set Item Width */
d2fitms_width(pd2fctx, pDdnameitm, 102);

/* Set Item Height */
d2fitms_height(pd2fctx, pDdnameitm, 17);

/* Set Item Bevel */
d2fitms_bevel(pd2fctx, pDdnameitm, D2FC_BEST_LOWERED);

/* Set item Hint */
d2fitms_hint(pd2fctx, PDdnameitm, (text*)"Enter value for :DNAME");

/*** Create LOC item and item-related properties ***/
/* Create item */
d2fitmcr_Create(pd2fctx, pdeptblk, &pDlocitm, (text*)"LOC");

/* Set item type */
d2fitms_itm_type(pd2fctx, pDlocitm, D2FC_ITTY_TI);

/* Set Enable property */
d2fitms_enabled(pd2fctx, pDlocitm, TRUE);

/* Set item (keyboard) navigable property */
d2fitms_kbrd_navigable(pd2fctx, pDlocitm, TRUE);

/* Set item Data Type property */
d2fitms_dat_typ(pd2fctx, pDlocitm, D2FC_DATY_CHAR);

/* Set item Max Length property */
d2fitms_max_len(pd2fctx, pDlocitm, 13);

/* Set Distance Between Records property */
d2fitms_dist_btwn_recs(pd2fctx, pDlocitm, 0);

/* Set Database block(Database Item) property */
d2fitms_db_itm(pd2fctx, pDlocitm, TRUE);

/* Set Query Allowed */
d2fitms_qry_allowed(pd2fctx, pDlocitm, TRUE);

/* Set Query Length */
d2fitms_qry_len(pd2fctx, pDlocitm, 13);

/* Set Update Allowed */
d2fitms_updt_allowed(pd2fctx, pDlocitm, TRUE);

/* Set Item Displayed (Visible) */
d2fitms_visible(pd2fctx, pDlocitm, TRUE);

/* Set Item Canvas property */
d2fitms_cnv_obj(pd2fctx, pDlocitm, pd2fcnv);

/* Set Item X-position */
d2fitms_x_pos(pd2fctx, pDlocitm, 173);

/* Set Item Y-position */
d2fitms_y_pos(pd2fctx, pDlocitm, 151);

/* Set Item Width */
d2fitms_width(pd2fctx, pDlocitm, 96);

/* Set Item Height */
d2fitms_height(pd2fctx, pDlocitm, 17);

/* Set Item Bevel */
d2fitms_bevel(pd2fctx, pDlocitm, D2FC_BEST_LOWERED);

/* Set item Hint */
d2fitms_hint(pd2fctx, PDlocitm, (text*)"Enter value for :LOC");

/*** Create Relations and relations-related properties ***/
/* Create Relation */
d2frelcr_Create(pd2fctx, (d2fob *)pdeptblk, &pd2frel, (text*)"DEPT_EMP");

/* Set Relation Detail block */
d2frels_detail_blk(pd2fctx, pd2frel, (text *)"EMP");

/* Set Master Deletes property */
d2frels_del_rec([pd2fctx, pd2frel, D2FC_DERE_NON_ISOLATED);

/* Set Deferred property */
d2frels_deferred(pd2ctx, pd2frel, FALSE);

/* Set Auto Query property */
d2frels_auto_qry(pd2ctx, pd2frel, FALSE);

/* Set Prevent Masterless property */
d2frels_prvnt_mstrless_ops(pd2ctx, pd2frel, FALSE);

/* Set Join Condition property */
d2frels_join_cond(pd2ctx, pd2frel, (text*)"DEPTNO");

/* Instantiate Relation:creates master-detail triggers */
d2frelup_Update(pd2fctx, pd2frel);

/* Save Form */
d2ffmdsv_Save(pd2fctx, pd2ffmd, (text*)0, FALSE, TRUE);

/* Compile Form */
d2ffmdcf_CompileFile(pd2fctx, pd2ffmd);

/* Destroy Context */
d2fctxde_Destroy(pd2fctx);
}


Open APIを使用したモジュールの変更

 例	     関連項目

基本的なForm Builderモジュールを変更するには

1	Cソース・コードに該当するCヘッダー・ファイルをインクルードします。

2	Cソース・コードで希望のAPIをコールします。

A	コンテキスト構造体を初期化します。

B	ファンクション・コール「読込み」を実行し、既存のフォーム・モジュール、メニュー・モジュールまたはオブジェクト・ライブラリを開きます。

C	既存のデータベースに接続するなど、希望の操作を実行するのに必要なOpen Forms APIファンクション・コールを実行します。

D	該当する"CompileFile()"関数を使用して.FMXか.MMXにコンパイルしたフォームを生成します。

E	必要な関数をコールし、関連モジュールを保存します（フォーム・モジュールの場合はd2ffmdsv_Save()、メニュー・モジュールの場合はd2fmmdsv_Save()、またはオブジェクト・ライブラリの場合はd2folbsv_Save()など）。

F	最後にコンテキストを破壊するd2fctxde_Destroy()関数をコールし、Open Forms APIコンテキストを破壊します。このファンクション・コールは、必ず最後に実行してください。

3	ソース・ファイルをOpen APIライブラリ（ifd2f60.lib）にリンクします。

4	ファイルをコンパイルし、実行可能ファイル（.EXEファイル）を作成します。

5	実行可能ファイルを実行し、1つまたは複数のフォーム・モジュール（.FMB）を変更します。


Open APIを使用したモジュールの変更例

例

/*

This example determines if the Form Builder object is a subclassed object and returns the file path of the parent to NULL if the object is subclassed.This sample only processes the following object types:form level triggers, alerts, blocks, items, item level triggers, radio buttons, and block level triggers.Use a similar method to process other object types.
*/
#include <stdio.h>
#include <string.h>
#include <windows.h>

#include <d2ferr.h>
#include <d2fctx.h>
#include <d2ffmd.h>
#include <d2fblk.h>
#include <d2fitm.h>
#include <d2falt.h>
#include <d2ftrg.h>
#include <d2frdb.h>

#define BUFSIZE 128

int WINAPI WinMain(HANDLE hInstance,
                   HANDLE hPrevInstance,
                   LPSTR lpszCommandLine,
                   int cmdShow)
{
    d2fctx*   pd2fctx;
    d2ffmd*   pd2ffmd;
    d2fblk*   pd2fblk;
    d2fitm*   pd2fitm;
    d2fctxa   d2fctx_attr;
    d2fstatus status;
    d2falt*   pd2falt;
    d2ftrg*   pd2ftrg;
    d2frdb*   pd2frdb;

    int counter;

    char buf[BUFSIZE];
    char* form_name=(char*)0;

    /* Get the form name from the command line */
    strncpy(buf, lpszCommandLine, BUFSIZE);
    form_name = strtok(buf, ".");

    /* Initialize the attribute mask */
    d2fctx_attr.mask_d2fctxa = 0;

    /* Create the API context */
    status = d2fctxcr_Create(&pd2fctx, &d2fctx_attr);

    /* Load the form */
    status = d2ffmdld_Load(pd2fctx, &pd2ffmd, form_name, FALSE) ;

    if (status == D2FS_SUCCESS)
    {
      /*** Process Form Level Trigger Objects ***/
      for(status = d2ffmdg_trigger(pd2fctx,pd2ffmd,&pd2ftrg);
          pd2ftrg != NULL;
          status = d2ftrgg_next(pd2fctx,pd2ftrg,&pd2ftrg))
      {
        if (d2ftrgis_IsSubclassed(pd2fctx,pd2ftrg) == D2FS_YES)
            d2ftrgs_par_flpath(pd2fctx,pd2ftrg,NULL);
      }

      /*** Process Alert Objects ***/
      for(status = d2ffmdg_alert(pd2fctx,pd2ffmd,&pd2falt);
          pd2falt != NULL;
          status = d2faltg_next(pd2fctx,pd2falt,&pd2falt))
      {
        if (d2faltis_IsSubclassed(pd2fctx,pd2falt) == D2FS_YES)
            d2falts_par_flpath(pd2fctx,pd2falt,NULL);
      }

      /*** Process Block Objects ***/
      for(status = d2ffmdg_block(pd2fctx,pd2ffmd,&pd2fblk);
          pd2fblk != NULL;
          status = d2fblkg_next(pd2fctx,pd2fblk,&pd2fblk))
      {
        if (d2fblkis_IsSubclassed(pd2fctx,pd2fblk) == D2FS_YES)
           d2fblks_par_flpath(pd2fctx,pd2fblk,NULL);
      }

      /* Process Item Objects */
      for(status = d2fblkg_item(pd2fctx,pd2fblk,&pd2fitm);
          pd2fitm != NULL;
          status = d2fitmg_next(pd2fctx,pd2fitm,&pd2fitm))
      {
        if (d2fitmis_IsSubclassed(pd2fctx,pd2fitm) == D2FS_YES)
           d2fitms_par_flpath(pd2fctx,pd2fitm,NULL);

        /* Process Item Level Trigger Objects */
         for(status = d2fitmg_trigger(pd2fctx,pd2fitm,&pd2ftrg);
             pd2ftrg != NULL;
             status = d2ftrgg_next(pd2fctx,pd2ftrg,&pd2ftrg))
         {
             if (d2ftrgis_IsSubclassed(pd2fctx,pd2ftrg)==D2FS_YES)
             {
               d2ftrgs_par_flpath(pd2fctx,pd2ftrg,NULL);
               printf("item trigger is Subclassed\n"
             }
             else if  (d2ftrgis_IsSubclassed(pd2fctx,
                                            pd2ftrg)==D2FS_NO)
             printf("item trigger is NOT Subclassed\n");
         }

      /* Process Radio Button Objects *
        for(status = d2fitmg_rad_but(pd2fctx,pd2fitm,&pd2frdb);
            pd2frdb != NULL;
            status = d2frdbs_next(pd2fctx,pd2frdb,&pd2frdb))
        {
            if (d2frdbis_IsSubclassed(pd2fctx,pd2frdb)==D2FS_YES
            {
              d2frdbs_par_flpath(pd2fctx,pd2frdb,NULL);
              printf("radio button is Subclassed\n");
            }
            else if (d2frdbis_IsSubclassed(pd2fctx,
                                         pd2frdb)==D2FS_NO)
            printf("radio button is NOT Subclassed\n");
       }
      }

      /* Process Block Level Trigger Objects */
      for(status = d2fblkg_trigger(pd2fctx,pd2fblk,&pd2ftrg);
          pd2ftrg != NULL;
          status = d2ftrgg_next(pd2fctx,pd2ftrg,&pd2ftrg))
      {
          if (d2ftrgis_IsSubclassed(pd2fctx,pd2ftrg) == D2FS_YES)
          {
            d2ftrgs_par_flpath(pd2fctx,pd2ftrg,NULL);
            printf("block trigger is Subclassed\n");
          }
          else if (d2ftrgis_IsSubclassed(pd2fctx,
                                          pd2ftrg)==D2FS_NO)
          printf("block trigger is NOT Subclassed\n");
      }

     /* Save out the form */
     d2ffmdsv_Save(pd2fctx, pd2ffmd, (text *)0, FALSE) ;

     /* Generate the forms executable (fmx) */
     d2ffmdcf_CompileFile(pd2fctx, pd2ffmd ) ;

     /* Destroy the API Context */
     d2fctxde_Destroy(pd2fctx) ;

    }
}


Open APIの例

この節では、Open APIの使用方法について、いくつかの例を紹介します。

Open APIを使用してモジュールを変更する

/*

This example determines if the Form Builder object is a subclassed object and returns the file path of the parent to NULL if the object is subclassed.This sample only processes the following object types:form level triggers, alerts, blocks, items, item level triggers, radio buttons, and block level triggers.Use a similar method to process other object types.

*/

#include <stdio.h>

#include <string.h>

#include <windows.h>

#include <d2ferr.h>

#include <d2fctx.h>

#include <d2ffmd.h>

#include <d2fblk.h>

#include <d2fitm.h>

#include <d2falt.h>

#include <d2ftrg.h>

#include <d2frdb.h>

#define BUFSIZE 128

int WINAPI WinMain(HANDLE hInstance,

HANDLE hPrevInstance,

LPSTR lpszCommandLine,

int cmdShow)

{

d2fctx  *pd2fctx;

d2ffmd  *pd2ffmd;

d2fblk*   pd2fblk;

d2fitm*   pd2fitm;

d2fctxa  d2fctx_attr;

d2fstatus status;

d2falt*   pd2falt;

d2ftrg*   pd2ftrg;

d2frdb*   pd2frdb;

int counter;

char buf[BUFSIZE];

char* form_name=(char*)0;

/* Get the form name from the command line */

strncpy(buf, lpszCommandLine, BUFSIZE);

form_name = strtok(buf, ".");

/* Initialize the attribute mask */

d2fctx_attr.mask_d2fctxa = 0;

/* for MS Windows-only attributes */

d2fctx_attr.d2fihnd_d2fctxa = hInstance;

d2fctx_attr.d2fphnd_d2fctxa = hPrevInstance;

d2fctx_attr.d2fcmsh_d2fctxa = cmdShow;

/* Create the API context */

status = d2fctxcr_Create(&pd2fctx, &d2fctx_attr);

/* Load the form */

status = d2ffmdld_Load(pd2fctx, &pd2ffmd, form_name, FALSE) ;

if (status == D2FS_D2FS_SUCCESS)

    {

/*** Process Form Level Trigger Objects ***/

for(status = d2ffmdg_trigger(pd2fctx,pd2ffmd,&pd2ftrg);

pd2ftrg != NULL;

status = d2ftrgg_next(pd2fctx,pd2ftrg,&pd2ftrg))

      {

if (d2ftrgis_IsSubclassed(pd2fctx,pd2ftrg) == D2FS_YES)

d2ftrgs_par_flpath(pd2fctx,pd2ftrg,NULL);

      }

/*** Process Alert Objects ***/

for(status = d2ffmdg_alert(pd2fctx,pd2ffmd,&pd2falt);

pd2falt != NULL;

status = d2faltg_next(pd2fctx,pd2falt,&pd2falt))

      {

if (d2faltis_IsSubclassed(pd2fctx,pd2falt) == D2FS_YES)

d2falts_par_flpath(pd2fctx,pd2falt,NULL);

      }

/*** Process Block Objects ***/

for(status = d2ffmdg_block(pd2fctx,pd2ffmd,&pd2fblk);

pd2fblk != NULL;

status = d2fblkg_next(pd2fctx,pd2fblk,&pd2fblk))

      {

if (d2fblkis_IsSubclassed(pd2fctx,pd2fblk) == D2FS_YES)

d2fblks_par_flpath(pd2fctx,pd2fblk,NULL);

      }

/* Process Item Objects */

for(status = d2fblkg_item(pd2fctx,pd2fblk,&pd2fitm);

pd2fitm != NULL;

status = d2fitmg_next(pd2fctx,pd2fitm,&pd2fitm))

      {

if (d2fitmis_IsSubclassed(pd2fctx,pd2fitm) == D2FS_YES)

d2fitms_par_flpath(pd2fctx,pd2fitm,NULL);

/* Process Item Level Trigger Objects */

for(status = d2fitmg_trigger(pd2fctx,pd2fitm,&pd2ftrg);

pd2ftrg != NULL;

status = d2ftrgg_next(pd2fctx,pd2ftrg,&pd2ftrg))

         {

if (d2ftrgis_IsSubclassed(pd2fctx,pd2ftrg)==D2FS_YES)

             {

d2ftrgs_par_flpath(pd2fctx,pd2ftrg,NULL);

printf("item trigger is Subclassed\n"

             }

else if (d2ftrgis_IsSubclassed(pd2fctx,

pd2ftrg)==D2FS_NO)

printf("item trigger is NOT Subclassed\n");

         }

/* Process Radio Button Objects *

for(status = d2fitmg_rad_but(pd2fctx,pd2fitm,&pd2frdb);

pd2frdb != NULL;

status = d2frdbs_next(pd2fctx,pd2frdb,&pd2frdb))

        {

if (d2frdbis_IsSubclassed(pd2fctx,pd2frdb)==D2FS_YES

            {

d2frdbs_par_flpath(pd2fctx,pd2frdb,NULL);

printf("radio button is Subclassed\n");

            }

else if (d2frdbis_IsSubclassed(pd2fctx,

pd2frdb)==D2FS_NO)

printf("radio button is NOT Subclassed\n");

       }

      }

/* Process Block Level Trigger Objects */

for(status = d2fblkg_trigger(pd2fctx,pd2fblk,&pd2ftrg);

pd2ftrg != NULL;

status = d2ftrgg_next(pd2fctx,pd2ftrg,&pd2ftrg))

      {

if (d2ftrgis_IsSubclassed(pd2fctx,pd2ftrg) == D2FS_YES)

          {

d2ftrgs_par_flpath(pd2fctx,pd2ftrg,NULL);

printf("block trigger is Subclassed\n");

          }

else if (d2ftrgis_IsSubclassed(pd2fctx,

pd2ftrg)==D2FS_NO)

printf("block trigger is NOT Subclassed\n");

      }

/* Save out the form */

d2ffmdsv_Save(pd2fctx, pd2ffmd, (text *)0, FALSE) ;

/* Generate the forms executable (fmx) */

d2ffmdcf_CompileFile(pd2fctx, pd2ffmd);

/* Destroy the API Context */

d2fctxde_Destroy(pd2fctx); d2fctxde_Destroy(pd2fctx);

    }

}

Open APIを使用してモジュールを作成する

/*

This example creates a master-detail form based on the dept and emp database tables owned by the user scott.The master contains the following fields:empno, ename, job, sal, and deptno.The detail contains the following fields deptno, dname, and loc.The join condition is deptno.

*/

#include<stdio.h>

#include<string.h>

#include<windows.h>

#include<d2fctx.h>

#include<d2ffmd.h>

#include<d2ffpr.h>

#include<d2fob.h>

#include<d2fcnv.h>

#include<d2ftrg.h>

#include<d2blk.h>

#include<d2fitm.h>

#include<d2fwin.h>

#include<d2frel.h>

#define D2FS_SUCCESS 0

#define FAIL 1

#define BUFSIZE 128

#define WBP_TXT "null;\n"

int WINAPI WinMain(HANDLE hInstance,

HANDLE hPrevInstance,

LPSTR lpszCommandLine,

int cmdShow)

{

d2fctx  *pd2fctx;

d2ffmd  *pd2ffmd;

d2fcnv  *pd2fcnv;

d2fwin  *pd2fwin;

d2fblk  *pempblk;

d2fblk  *pdeptblk;

d2frel  *pd2frel;

d2fitm  *pEempnoitm;

d2fitm  *pEenameitm;

d2fitm  *pEjobitm;

d2fitm  *pEsalitm;

d2fitm  *pEdeptnoitm;

d2fitm  *pDdeptnoitm;

d2fitm  *pDdnameitm;

d2fitm  *pDlocitm;

text  *name = (text *)0;

text  *form_name = (text *)0;

d2fctxa  d2fctx_attr;

d2fstatus retval;

char buf[BUFSIZE];

/* Get form name */

strncpy(buf, "empdept", BUFSIZE);

form_name = (text*)strtok(buf, ".");

/* Initialize the attribute mask */

d2fctx_attr.mask_d2fctxa = 0;

/* for MS Windows-only attributes */

d2fctx_attr.d2fihnd_d2fctxa = hInstance;

d2fctx_attr.d2fphnd_d2fctxa = hPrevInstance;

d2fctx_attr.d2fcmsh_d2fctxa = cmdShow;

/* Create the API context */

status = d2fctxcr_Create(&pd2fctx, &d2fctx_attr);

/* Create the context */

d2fctxcn_Connect(pd2fctx, (text*)"scott/tiger@test");

/* Create the form */

d2ffmdcr_Create(pd2fctx, &pd2ffmd, form_name);

/* Create a window */

d2fwincr_Create(pd2fctx,pd2ffmd,&pd2fwin,(text*)"MYWIN");

/*** Create Canvas and set canvas-related properties ***/

/* Create a canvas */

d2fcnvcr_Create(pd2fctx, pd2ffmd, &pd2fcnv, (text*)"MYCANVAS");

/* Set viewport width */

d2fcnvs_vprt_wid(pd2fctx, pd2fcnv, 512);

/* Set viewport height */

d2fcnvs_vprt_hgt(pd2fctx, pd2fcnv, 403);

/* Set window */

dwfcnvs_wnd_obj(pd2fctx, pd2fcnv, pd2fwin);

/* Set viewport X-position */

d2fcnvs_vprt_x_pos(pd2fctx, pd2fcnv, 0);

/* Set viewport Y-position */

d2fcnvs_vprt_y_pos(pd2fctx, pd2fcnv, 0);

/* Set width */

d2fcnvs_width(pd2fctx, pd2fcnv, 538)

/* Set height */

d2fcnvs_height(pd2fctx, pd2fcnv, 403)

/*** Create Emp block and set block-related properties ***/

/* Create block */

d2fblkcr_Create(pd2fctx, pd2ffmd, &pempblk, (text*)"EMP");

/* Set to database block */

d2fblks_db_blk(pd2fctx, pempblk, TRUE);

/* Set query data source to Table */

d2fblks_qry_dat_src_typ(pd2fctx, pempblk, D2FC_QRDA_TABLE);

/* Set query data source name to EMP table */

d2fblks_qry_dat_src_nam(pd2fctx, pempblk, "EMP");

/* Set DML data source type to Table */

d2fblks_dml_dat_typ(Pd2fctx, pempblk, D2FC_DMDA_TABLE);

/* Set DML data source name to EMP table */

d2fblks_dml_dat_nam(pd2fctx, pempblk, (text*)"EMP");

/*** Create Dept block and set block-related properties ***/

/* Create block */

d2fblkcr_Create(pd2fctx, pd2ffmd, &pdeptblk, (text*)"DEPT");

/* Set to database block */

d2fblks_db_blk(pd2fctx, pdeptblk, TRUE);

/* Set query data source to Table */

d2fblks_qry_dat_src_typ(pd2fctx, pdeptblk, D2FC_QRDA_TABLE);

/* Set query data source name to EMP table */

d2fblks_qry_dat_src_nam(pd2fctx, pdeptblk, "DEPT");

/* Set DML data source type to Table */

d2fblks_dml_dat_typ(Pd2fctx, pdeptblk, D2FC_DMDA_TABLE);

/* Set DML data source name to EMP table */

d2fblks_dml_dat_nam(pd2fctx, pdeptblk, (text*)"DEPT");

/*** Create empno item and item-related properties ***/

/* Create item */

d2fitmcr_Create(pd2fctx, pempblk, &pEempnoitm, (text*)"EMPNO");

/* Set item type */

d2fitms_itm_type(pd2fctx, pEempnoitm, D2FC_ITTY_TI);

/* Set Enable property */

d2fitms_enabled(pd2fctx, pEempnoitm, TRUE);

/* Set item (keyboard) navigable property */

d2fitms_kbrd_navigable(pd2fctx, pEempnoitm, TRUE);

/* Set item Data Type property */

d2fitms_dat_typ(pd2fctx, pEempnoitm, D2FC_DATY_NUMBER);

/* Set item Max Length property */

d2fitms_max_len(pd2fctx, pEempnoitm, 6);

/*Set item Required property */

d2fitms_required(pd2fctx, pEempnoitm, TRUE);

/* Set Distance Between Records property */

d2fitms_dist_btwn_recs(pd2fctx, pEempnoitm, 0);

/* Set Database block(Database Item) property */

d2fitms_db_itm(pd2fctx, pEempnoitm, TRUE);

/* Set Query Allowed */

d2fitms_qry_allowed(pd2fctx, pEempnoitm, TRUE);

/* Set Query Length */

d2fitms_qry_len(pd2fctx, pEempnoitm, 6);

/* Set Update Allowed */

d2fitms_updt_allowed(pd2fctx, pEempnoitm, TRUE);

/* Set Item Displayed (Visible) */

d2fitms_visible(pd2fctx, pEempnoitm, TRUE);

/* Set Item Canvas property */

d2fitms_cnv_obj(pd2fctx, pEempnoitm, pd2fcnv);

/* Set Item X-position */

d2fitms_x_pos(pd2fctx, pEempnoitm, 32);

/* Set Item Y-position */

d2fitms_y_pos(pd2fctx, pEempnoitm, 50);

/* Set Item Width */

d2fitms_width(pd2fctx, pEempnoitm, 51);

/* Set Item Height */

d2fitms_height(pd2fctx, pEempnoitm, 17);

/* Set Item Bevel */

d2fitms_bevel(pd2fctx, pEempnoitm, D2FC_BEST_LOWERED);

/* Set item Hint */

d2fitms_hint(pd2fctx, PEempnoitm, (text*)"Enter value for :EMPNO");

/*** Create Ename item and item-related properties ***/

/* Create item */

d2fitmcr_Create(pd2fctx, pempblk, &pEenameitm, (text*)"ENAME");

/* Set item type */

d2fitms_itm_type(pd2fctx, pEenameitm, D2FC_ITTY_TI);

/* Set Enable property */

d2fitms_enabled(pd2fctx, pEenameitm, TRUE);

/* Set item (keyboard) navigable property */

d2fitms_kbrd_navigable(pd2fctx, pEenameitm, TRUE);

/* Set item Data Type property */

d2fitms_dat_typ(pd2fctx, pEenameitm, D2FC_DATY_CHAR);

/* Set item Max Length property */

d2fitms_max_len(pd2fctx, pEenameitm, 10);

/* Set Distance Between Records property */

d2fitms_dist_btwn_recs(pd2fctx, pEenameitm, 0);

/* Set Database block(Database Item) property */

d2fitms_db_itm(pd2fctx, pEenameitm, TRUE);

/* Set Query Allowed */

d2fitms_qry_allowed(pd2fctx, pEenameitm, TRUE);

/* Set Query Length */

d2fitms_qry_len(pd2fctx, pEenameitm, 10);

/* Set Update Allowed */

d2fitms_updt_allowed(pd2fctx, pEenameitm, TRUE);

/* Set Item Displayed (Visible) */

d2fitms_visible(pd2fctx, pEenameitm, TRUE);

/* Set Item Canvas property */

d2fitms_cnv_obj(pd2fctx, pEenameitm, pd2fcnv);

/* Set Item X-position */

d2fitms_x_pos(pd2fctx, pEenameitm, 83);

/* Set Item Y-position */

d2fitms_y_pos(pd2fctx, pEenameitm, 50);

/* Set Item Width */

d2fitms_width(pd2fctx, pEenameitm, 77);

/* Set Item Height */

d2fitms_height(pd2fctx, pEenameitm, 17);

/* Set Item Bevel */

d2fitms_bevel(pd2fctx, pEenameitm, D2FC_BEST_LOWERED);

/* Set item Hint */

d2fitms_hint(pd2fctx, PEenameitm, (text*)"Enter value for :ENAME");

/*** Create JOB item and item-related properties ***/

/* Create item */

d2fitmcr_Create(pd2fctx, pempblk, &pEjobitm, (text*)"JOB");

/* Set item type */

d2fitms_itm_type(pd2fctx, pEjobitm, D2FC_ITTY_TI);

/* Set Enable property */

d2fitms_enabled(pd2fctx, pEjobitm, TRUE);

/* Set item (keyboard) navigable property */

d2fitms_kbrd_navigable(pd2fctx, pEjobitm, TRUE);

/* Set item Data Type property */

d2fitms_dat_typ(pd2fctx, pEjobitm, D2FC_DATY_CHAR);

/* Set item Max Length property */

d2fitms_max_len(pd2fctx, pEjobitm, 9);

/* Set Distance Between Records property */

d2fitms_dist_btwn_recs(pd2fctx, pEjobitm, 0);

/* Set Database block(Database Item) property */

d2fitms_db_itm(pd2fctx, pEjobitm, TRUE);

/* Set Query Allowed */

d2fitms_qry_allowed(pd2fctx, pEjobitm, TRUE);

/* Set Query Length */

d2fitms_qry_len(pd2fctx, pEjobitm, 9);

/* Set Update Allowed */

d2fitms_updt_allowed(pd2fctx, pEjobitm, TRUE);

/* Set Item Displayed (Visible) */

d2fitms_visible(pd2fctx, pEjobitm, TRUE);

/* Set Item Canvas property */

d2fitms_cnv_obj(pd2fctx, pEjobitm, pd2fcnv);

/* Set Item X-position */

d2fitms_x_pos(pd2fctx, pEjobitm, 160);

/* Set Item Y-position */

d2fitms_y_pos(pd2fctx, pEjobitm, 50);

/* Set Item Width */

d2fitms_width(pd2fctx, pEjobitm, 70);

/* Set Item Height */

d2fitms_height(pd2fctx, pEjobitm, 17);

/* Set Item Bevel */

d2fitms_bevel(pd2fctx, pEjobitm, D2FC_BEST_LOWERED);

/* Set item Hint */

d2fitms_hint(pd2fctx, PEjobitm, (text*)"Enter value for :JOB");

/*** Create SALARY item and item-related properties ***/

/* Create item */

d2fitmcr_Create(pd2fctx, pempblk, &pEsalitm, (text*)"SAL");

/* Set item type */

d2fitms_itm_type(pd2fctx, pEsalitm, D2FC_ITTY_TI);

/* Set Enable property */

d2fitms_enabled(pd2fctx, pEsalitm, TRUE);

/* Set item (keyboard) navigable property */

d2fitms_kbrd_navigable(pd2fctx, pEsalitm, TRUE);

/* Set item Data Type property */

d2fitms_dat_typ(pd2fctx, pEsalitm, D2FC_DATY_NUMBER);

/* Set item Max Length property */

d2fitms_max_len(pd2fctx, pEsalitm, 9);

/* Set Distance Between Records property */

d2fitms_dist_btwn_recs(pd2fctx, pEsalitm, 0);

/* Set Database block(Database Item) property */

d2fitms_db_itm(pd2fctx, pEsalitm, TRUE);

/* Set Query Allowed */

d2fitms_qry_allowed(pd2fctx, pEsalitm, TRUE);

/* Set Query Length */

d2fitms_qry_len(pd2fctx, pEsalitm, 9);

/* Set Update Allowed */

d2fitms_updt_allowed(pd2fctx, pEsalitm, TRUE);

/* Set Item Displayed (Visible) */

d2fitms_visible(pd2fctx, pEsalitm, TRUE);

/* Set Item Canvas property */

d2fitms_cnv_obj(pd2fctx, pEsalitm, pd2fcnv);

/* Set Item X-position */

d2fitms_x_pos(pd2fctx, pEsalitm, 352);

/* Set Item Y-position */

d2fitms_y_pos(pd2fctx, pEsalitm, 50);

/* Set Item Width */

d2fitms_width(pd2fctx, pEsalitm, 70);

/* Set Item Height */

d2fitms_height(pd2fctx, pEsalitm, 17);

/* Set Item Bevel */

d2fitms_bevel(pd2fctx, pEsalitm, D2FC_BEST_LOWERED);

/* Set item Hint */

d2fitms_hint(pd2fctx, PEsalitm, (text*)"Enter value for :SAL");

/*** Create DEPTNO item and item-related properties ***/

/* Create item */

d2fitmcr_Create(pd2fctx, pempblk, &pEdeptnoitm, (text*)"DEPTNO");

/* Set item type */

d2fitms_itm_type(pd2fctx, pEdeptnoitm, D2FC_ITTY_TI);

/* Set Enable property */

d2fitms_enabled(pd2fctx, pEdeptnoitm, TRUE);

/* Set item (keyboard) navigable property */

d2fitms_kbrd_navigable(pd2fctx, pEdeptnoitm, TRUE);

/* Set item Data Type property */

d2fitms_dat_typ(pd2fctx, pEdeptnoitm, D2FC_DATY_NUMBER);

/* Set item Max Length property */

d2fitms_max_len(pd2fctx, pEdeptnoitm, 4);

/*Set item Required property */

d2fitms_required(pd2fctx, pEdeptnoitm, TRUE);

/* Set Distance Between Records property */

d2fitms_dist_btwn_recs(pd2fctx, pEdeptnoitm, 0);

/* Set Database block(Database Item) property */

d2fitms_db_itm(pd2fctx, pEdeptnoitm, TRUE);

/* Set Query Allowed */

d2fitms_qry_allowed(pd2fctx, pEdeptnoitm, TRUE);

/* Set Query Length */

d2fitms_qry_len(pd2fctx, pEdeptnoitm, 4);

/* Set Update Allowed */

d2fitms_updt_allowed(pd2fctx, pEdeptnoitm, TRUE);

/* Set Item Displayed (Visible) */

d2fitms_visible(pd2fctx, pEdeptnoitm, TRUE);

/* Set Item Canvas property */

d2fitms_cnv_obj(pd2fctx, pEdeptnoitm, pd2fcnv);

/* Set Item X-position */

d2fitms_x_pos(pd2fctx, pEdeptnoitm, 493);

/* Set Item Y-position */

d2fitms_y_pos(pd2fctx, pEdeptnoitm, 50);

/* Set Item Width */

d2fitms_width(pd2fctx, pEdeptnoitm, 30);

/* Set Item Height */

d2fitms_height(pd2fctx, pEdeptnoitm, 17);

/* Set Item Bevel */

d2fitms_bevel(pd2fctx, pEdeptnoitm, D2FC_BEST_LOWERED);

/* Set item Hint */

d2fitms_hint(pd2fctx, PEdeptnoitm, (text*)"Enter value for :DEPTNO");

/*** Create DEPTNO item and item-related properties ***/

/* Create item */

d2fitmcr_Create(pd2fctx, pdeptblk, &pDdeptnoitm, (text*)"DEPTNO");

/* Set item type */

d2fitms_itm_type(pd2fctx, pDdeptnoitm, D2FC_ITTY_TI);

/* Set Enable property */

d2fitms_enabled(pd2fctx, pDdeptnoitm, TRUE);

/* Set item (keyboard) navigable property */

d2fitms_kbrd_navigable(pd2fctx, pDdeptnoitm, TRUE);

/* Set item Data Type property */

d2fitms_dat_typ(pd2fctx, pDdeptnoitm, D2FC_DATY_NUMBER);

/* Set item Max Length property */

d2fitms_max_len(pd2fctx, pDdeptnoitm, 4);

/*Set item Required property */

d2fitms_required(pd2fctx, pDdeptnoitm, TRUE);

/* Set Distance Between Records property */

d2fitms_dist_btwn_recs(pd2fctx, pDdeptnoitm, 0);

/* Set Database block(Database Item) property */

d2fitms_db_itm(pd2fctx, pDdeptnoitm, TRUE);

/* Set Query Allowed */

d2fitms_qry_allowed(pd2fctx, pDdeptnoitm, TRUE);

/* Set Query Length */

d2fitms_qry_len(pd2fctx, pDdeptnoitm, 4);

/* Set Update Allowed */

d2fitms_updt_allowed(pd2fctx, pDdeptnoitm, TRUE);

/* Set Item Displayed (Visible) */

d2fitms_visible(pd2fctx, pDdeptnoitm, TRUE);

/* Set Item Canvas property */

d2fitms_cnv_obj(pd2fctx, pDdeptnoitm, pd2fcnv);

/* Set Item X-position */

d2fitms_x_pos(pd2fctx, pDdeptnoitm, 32);

/* Set Item Y-position */

d2fitms_y_pos(pd2fctx, pDdeptnoitm, 151);

/* Set Item Width */

d2fitms_width(pd2fctx, pDdeptnoitm, 38);

/* Set Item Height */

d2fitms_height(pd2fctx, pDdeptnoitm, 17);

/* Set Item Bevel */

d2fitms_bevel(pd2fctx, pDdeptnoitm, D2FC_BEST_LOWERED);

/* Set item Hint */

d2fitms_hint(pd2fctx, PDdeptnoitm, (text*)"Enter value for :DEPTNO");

/*** Create DNAME item and item-related properties ***/

/* Create item */

d2fitmcr_Create(pd2fctx, pdeptblk, &pDdnameitm, (text*)"DNAME");

/* Set item type */

d2fitms_itm_type(pd2fctx, pDdnameitm, D2FC_ITTY_TI);

/* Set Enable property */

d2fitms_enabled(pd2fctx, pDdnameitm, TRUE);

/* Set item (keyboard) navigable property */

d2fitms_kbrd_navigable(pd2fctx, pDdnameitm, TRUE);

/* Set item Data Type property */

d2fitms_dat_typ(pd2fctx, pDdnameitm, D2FC_DATY_CHAR);

/* Set item Max Length property */

d2fitms_max_len(pd2fctx, pDdnameitm, 14);

/* Set Distance Between Records property */

d2fitms_dist_btwn_recs(pd2fctx, pDdnameitm, 0);

/* Set Database block(Database Item) property */

d2fitms_db_itm(pd2fctx, pDdnameitm, TRUE);

/* Set Query Allowed */

d2fitms_qry_allowed(pd2fctx, pDdnameitm, TRUE);

/* Set Query Length */

d2fitms_qry_len(pd2fctx, pDdnameitm, 14);

/* Set Update Allowed */

d2fitms_updt_allowed(pd2fctx, pDdnameitm, TRUE);

/* Set Item Displayed (Visible) */

d2fitms_visible(pd2fctx, pDdnameitm, TRUE);

/* Set Item Canvas property */

d2fitms_cnv_obj(pd2fctx, pDdnameitm, pd2fcnv);

/* Set Item X-position */

d2fitms_x_pos(pd2fctx, pDdnameitm, 70);

/* Set Item Y-position */

d2fitms_y_pos(pd2fctx, pDdnameitm, 151);

/* Set Item Width */

d2fitms_width(pd2fctx, pDdnameitm, 102);

/* Set Item Height */

d2fitms_height(pd2fctx, pDdnameitm, 17);

/* Set Item Bevel */

d2fitms_bevel(pd2fctx, pDdnameitm, D2FC_BEST_LOWERED);

/* Set item Hint */

d2fitms_hint(pd2fctx, PDdnameitm, (text*)"Enter value for :DNAME");

/*** Create LOC item and item-related properties ***/

/* Create item */

d2fitmcr_Create(pd2fctx, pdeptblk, &pDlocitm, (text*)"LOC");

/* Set item type */

d2fitms_itm_type(pd2fctx, pDlocitm, D2FC_ITTY_TI);

/* Set Enable property */

d2fitms_enabled(pd2fctx, pDlocitm, TRUE);

/* Set item (keyboard) navigable property */

d2fitms_kbrd_navigable(pd2fctx, pDlocitm, TRUE);

/* Set item Data Type property */

d2fitms_dat_typ(pd2fctx, pDlocitm, D2FC_DATY_CHAR);

/* Set item Max Length property */

d2fitms_max_len(pd2fctx, pDlocitm, 13);

/* Set Distance Between Records property */

d2fitms_dist_btwn_recs(pd2fctx, pDlocitm, 0);

/* Set Database block(Database Item) property */

d2fitms_db_itm(pd2fctx, pDlocitm, TRUE);

/* Set Query Allowed */

d2fitms_qry_allowed(pd2fctx, pDlocitm, TRUE);

/* Set Query Length */

d2fitms_qry_len(pd2fctx, pDlocitm, 13);

/* Set Update Allowed */

d2fitms_updt_allowed(pd2fctx, pDlocitm, TRUE);

/* Set Item Displayed (Visible) */

d2fitms_visible(pd2fctx, pDlocitm, TRUE);

/* Set Item Canvas property */

d2fitms_cnv_obj(pd2fctx, pDlocitm, pd2fcnv);

/* Set Item X-position */

d2fitms_x_pos(pd2fctx, pDlocitm, 173);

/* Set Item Y-position */

d2fitms_y_pos(pd2fctx, pDlocitm, 151);

/* Set Item Width */

d2fitms_width(pd2fctx, pDlocitm, 96);

/* Set Item Height */

d2fitms_height(pd2fctx, pDlocitm, 17);

/* Set Item Bevel */

d2fitms_bevel(pd2fctx, pDlocitm, D2FC_BEST_LOWERED);

/* Set item Hint */

d2fitms_hint(pd2fctx, PDlocitm, (text*) "Enter value for :LOC");

/*** Create Relations and relations-related properties ***/

/* Create Relation */

d2frelcr_Create(pd2fctx, (d2fob *)pdeptblk, &pd2frel, (text*)"DEPT_EMP");

/* Set Relation Detail block */

d2frels_detail_blk(pd2fctx, pd2frel, (text *)"EMP");

/* Set Master Deletes property */

d2frels_del_rec([pd2fctx, pd2frel, D2FC_DERE_NON_ISOLATED);

/* Set Deferred property */

d2frels_deferred(pd2ctx, pd2frel, FALSE);

/* Set Auto Query property */

d2frels_auto_qry(pd2ctx, pd2frel, FALSE);

/* Set Prevent Masterless property */

d2frels_prvnt_mstrless_ops(pd2ctx, pd2frel, FALSE);

/* Set Join Condition property */

d2frels_join_cond(pd2ctx, pd2frel, (text*)"DEPTNO");

/* Instantiate Relation:creates master-detail triggers */

d2frelup_Update(pd2fctx, pd2frel);

/* Save Form */

d2ffmdsv_Save(pd2fctx, pd2ffmd, (text*)0, FALSE, TRUE);

/* Compile Form */

d2ffmdcf_CompileFile(pd2fctx, pd2ffmd);

/* Destroy Context */

d2fctxde_Destroy(pd2fctx); d2fctxde_Destroy(pd2fctx);

}


Form Builderコンポーネントについて

  関連項目

Form Builderは、次のプログラムまたはコンポーネントで構成され、コマンド・ラインから、またはアイコンをクリックして個別に実行できます。

Form Builder	Form Builderは、ユーザーがForm Builderアプリケーションの作成、コンパイルおよび実行に使用する設計コンポーネントです。Form Builderを使用すると、フォーム、メニューおよびライブラリの3タイプのモジュールを作成できます。
Forms Runtime	フォーム・オペレータは、完成したアプリケーションを実行するのにForms Runtimeを使用します。アプリケーションの設計者として、設計段階でフォームのテストとデバッグにForms Runtimeを使用することもできます。Forms RuntimeはForm Compilerが作成した実行形式ファイルを読み取ります。
Webプレビューア	アプリケーション開発者はWebプレビューアを使用して、フォームをローカル環境でテストします。このときフォームはブラウザまたはAppletviewerの中で、Forms Serverから実行されているかのように動作します。Forms Runtimeと同様に、WebプレビューアはForm Compilerが作成した実行形式ファイルを読み取り、フォームを実行します。
Form Compiler	Forms Runtimeが実行できる実行形式ファイルを作成するためにForm Compilerを使用します。 Form Compilerにより、フォームをさまざまな形式で変換できます。Form Compilerを使用すると、次のことを行うことができます。 • バイナリ、テキストおよびデータベース・モジュール格納形式間でファイルを変換します。 • モジュール定義をデータベース表に挿入します。 • データベースからモジュール定義を削除します。 • 異なるプラットフォームに移行するときにアプリケーション・モジュールを再コンパイルします。 • Form BuilderおよびSQL*Forms、SQL*Menuの旧バージョンで作成されたアプリケーションをアップグレードします。


Form Builderコンポーネントの起動

  関連項目

プラットフォームには、アイコンをサポートするものやコマンド・ラインをサポートするものがあります。ユーザーのコンピュータ・プラットフォームに依存しますが、次の2通りの方法のいずれかでForm Builder、Form Compiler、WebプレビューアまたはForms Runtimeの各コンポーネントを起動できます。

アイコン	Form Builder、Forms RuntimeおよびForm Compilerの各コンポーネントの異なるアイコンが表示されます。コンポーネントを起動するには、それをダブルクリックします。
コマンド・ライン	コマンド・ラインでコマンドを入力することによってコンポーネントを起動したとき、このセッションで使用するオプションを指定する場合は、コマンド・ラインでキーワード・パラメータを入力します。
Form Builderコンポーネントの起動の詳細は、使用しているオペレーティング・システムのForm Builderドキュメンテーションを参照してください。


コマンド・ラインからのForm Builderコンポーネントの起動

  関連項目	 例

コマンド・ラインからForm Builderコンポーネントを起動するには、システム・プロンプトで次の文を入力します。

component_name [module_name] [userid/password] [parameters]

パラメータの内容は次のとおりです。

component_name	使用するForm Builderコンポーネントを指定します。

•	Form Builder - ifbld60

•	Forms Runtime - · ifrun60

•	Webプレビューア - · ifweb60

•	Form Compiler - ifcmp60


Form Builderコンポーネント起動の例

ifrun60	ユーザー出口ルーチンへのコールがない状態でMicrosoft WindowsでForms Runtimeコンポーネントを起動します。

ユーザー出口ルーチンを通じてコール可能な外部関数が実行可能ファイルとリンクしていることを示すには、component_nameにxを追加します。

有効なコンポーネント名の詳細は、お使いのオペレーティング・システムのForm Builderドキュメンテーションを参照してください。

module_name	ロードするモジュール（フォーム、メニューまたはライブラリ名）を指定します。モジュール名を省略すると、Form Builderはダイアログを表示し、オープンするモジュールを選択できます。

userid/password	ORACLEユーザー名およびパスワードを指定します。

parameters	現行ランタイム・セッションでアクティブにするオプションのコマンド・ライン・パラメータを指定します。オプション・パラメータは、「keyword1=value1 keyword2=value2...」の形式で指定します。

ifrun60 custform scott/tiger statistics=yes

注意: 例では、ユーザー出口インタフェースのコールがない状態で、Microsoft Windows上のForm Builderを実行します。したがって、Forms Runtimeコンポーネント名は"ifrun60"と入力します。ユーザーは自分のプラットフォームとアプリケーションのcomponent_nameの値を正しく置き換える必要があります。

キーワードの使用法

Form Builderには、3項目のパラメータがあります。

•	MODULEおよびUSERID

•	オプション（オプションを設定するためのコマンド・ライン・パラメータ）

•	フォーム・パラメータ

最初の2つのパラメータ、MODULEおよびUSERIDが一意であるのは、位置またはキーワード表記法を使用して入力できるからです。キーワード表記法を使用して、コマンド・ラインにオプション・パラメータを入力します（オプション・パラメータのほとんどは、ダイアログを使用しても設定できます）。フォーム・パラメータは、特定フォームのために設計時に定義されるオプション入力変数です。

MODULEおよびUSERID

最初の2つのパラメータ、MODULEおよびUSERIDを指定された順序で入力する場合、次の例に示されるように、キーワードを省略して値のみを入力できます。

ifrun60 custform scott/tiger

無効な例:

ifrun60 scott/tiger

この順序は、ユーザー名/パスワードの値が順不同なので、無効であり、USERIDキーワードの後に配置する必要があります。キーワードのかわりに位置表記法を使用するとき、前述の例と同様に、コンポーネント名のすぐ後にMODULEパラメータの値を挿入する必要があります。

有効な例:

ifrun60 module=custform userid=scott/tiger
ifrun60 userid=scott/tiger
ifrun60

モジュール名のみを示す場合、Form Builderは、そのモジュール名およびユーザーID/パスワードを入力するよう、プロンプトします。

オプション

コマンド・ラインにオプションを設定するためには、キーワード表記法を使用します。オプションの詳細は、次を参照してください。

•	Forms Runtimeオプションの設定

•	Form Compilerオプションの設定

•	Form Builderオプションの設定

次の構文規則は、オプションおよびフォーム・パラメータなど、すべてのキーワード・パラメータに適用されます。

•	引数の等号記号（=）の前後にはスペースを入れないでください。

•	引数と引数の間は、1つ以上のスペースで区切ってください。この際、スペースのかわりにカンマを使用しないでください。

無効な例:

ifrun60 custform scott/tiger statistics = yes
ifrun60 custform scott/tiger statistics=yes,debug=yes

有効な例:

ifrun60 custform scott/tiger statistics=yes
ifrun60 custform scott/tiger statistics=yes debug=yes

フォーム・パラメータ

フォーム・パラメータは、設計時に定義する変数です。フォーム・パラメータは、起動時にフォームが要求する入力値を定義および設定するために単純な機構を提供します。フォーム・パラメータの値を入力するとき、オペレータは標準コマンド・ライン構文を使用して、コマンド・ラインにそれらを入力します。

フォーム・パラメータのデフォルト値は、「パラメータの初期値」プロパティから得られます。オペレータは、コマンド・ラインでフォーム・パラメータの新しい値を指定することによってForms Runtime起動時にデフォルト値を無効にできます。

次の例の場合、myname_paramは、Form Builderで定義されたユーザー定義のフォーム・パラメータです。

注意: フォーム・パラメータ値にスペースまたは句読点が含まれている場合は、その値を二重引用符で囲みます。

例

ifrun60 empform scott/tiger myname_param="Msr.Dubois"

コマンド・ライン・オプションでのヒント・テキストの表示

構文およびパラメータに関するヘルプを得るには、システム・プロンプトでコンポーネント名とこれに続けて"help=yes"を入力します。

例

ifrun60 help=yes


データベースへのログオン

  例

データベースに明示的にログオンするには、USERIDコマンド・ライン・キーワードを使用するか、あるいはForm Builderで、「ファイル」 [image] 「接続」を選択します。

USERID

USERIDには、ORACLEユーザー名およびパスワードを指定します。SQL*Net接続文字列を合せて指定することもできます。接続文字列の最大長は255文字です。

ログオンするには、次のフォームのうちどれか1つを使用します。

username/password
username/password@node

期限切れパスワード

Oracle8データベース・サーバーには、データベース管理者が使用できるパスワード失効機能が用意されています。これは、ユーザーに一定の基準でパスワードの更新を促すためのものです。

パスワードが期限切れになった場合、ログオン時に新しいパスワードを入力する機会がFormsによって提供されます（Formsの起動ダイアログ・ボックスを使用して、期限切れになる前にパスワードを変更することもできます）。


データベースへのログオン例

次のコマンドを指定して、LONDONノードのデフォルト・データベースでORDER_ENTRYフォームを実行します。

ifrun60 order_entry scott/tiger@D:london

SQL*Netについては、『SQL*Net ユーザーズ・ガイド』を参照してください。ORACLEユーザー名が分からない場合には、データベース管理者に連絡してください。


Forms Runtimeのオプション

「Forms Runtime」オプションでは、Forms ランタイム・セッション時のForm Builderのデフォルト動作が指定されます。次の2通りの方法のいずれかでForms Runtimeを設定できます。

•	「Forms Runtimeオプション」ダイアログ・ボックスでオプションを設定します。

•	Forms Runtimeをコールしたときに、コマンド・ラインでパラメータをForm Builderに渡します。

さらに、「作業環境」ダイアログ・ボックスでForms Runtimeのオプションを指定して、Form Builderから実行するフォームに対してデフォルトの環境を指定できます。「作業環境」ダイアログ・ボックスを表示するには、「ツール」 [image] 「作業環境」を選択します。

注意: Form Builderで設定される「Forms Runtime」作業環境は、Form Builder内から実行するフォームのみに適用されます。

ベースHTMLファイルのserverargsパラメータで、Webプレビューアに対するオプションを設定することもできます。このHTMLファイルの名前は、「作業環境」ダイアログ・ボックスの「ランタイム」タブまたはコマンド・ライン上で指定できます。ベースHTMLファイル作成の詳細は、「Forms アプリケーション Web 利用ガイド」の「Formsサーバーの構成」のセクションを参照してください。

以下に「Formsランタイム・オプション」ウィンドウから指定できる「Forms Runtime」オプションとそれらの対応キーワード・パラメータをリストします。

キーワード・パラメータをコマンド・ライン・オプションとして入力する場合は、複数のパラメータを任意の順序で同時に入力できます。

ifrun60 module=myform userid=scott/tiger debug=YES statistics=YES

オプション名	キーワード・パラメータ	デフォルト
Oracle*Terminalリソース・ファイル	Term
デバッグ・モードで実行	Debug	いいえ
デバッグ・メッセージ	Debug_Messages *	いいえ
入力キー・ストロークを書き込むファイル	Keyout
入力キー・ストロークを読み込むファイル	Keyin
出力内容の書込み先ファイル	Output_File
書き込んでいる出力内容を表示しますか	Interactive	はい
配列SQL処理を使用	Array	はい
レコードを一時ファイルにバッファリング	Buffer_Records	いいえ
ログオン指定画面を表示	Logon_Screen	いいえ
起動時にブロック・メニューを表示	Block_Menu	いいえ
V2スタイルのトリガー・ステップSQL処理を最適化	OptimizeSQL	はい
トランザクション・モード処理を最適化	OptimizeTP	はい
消音モードで実行	Quiet	いいえ
統計を表示	Statistics	いいえ
問合せのみモードで実行	Query_Only	いいえ
ヘルプ情報を表示	Help	いいえ
ウィンドウの状態	Window_State	NORMAL
PECSデータを集めますか	PECS	OFF
オプション・スクリーン	Options_Screen *	いいえ
SDIモードを使用	USESDI	いいえ
HTMLファイルへのパス（Web実行時のみ）	HTML
*コマンド・ラインのみで使用可能です。「Formsランタイム・オプション」ダイアログ・ボックスからは使用できません。


Array（Forms Runtime）

 例	 すべてのオプション

説明

「Forms Runtime」セッション時に配列処理を行います。

配列処理を抑止すると、Formsは、サーバー上のデータベースからクライアントに問合せ結果を1度に1行のみを戻すことを要求します。同様に、Formsは、データベースに、配列処理が抑止されたら、クライアントからサーバーにINSERTまたはUPDATE、DELETEについて1度に1行のみを送信することを要求します。

配列処理を抑止すると、通常、最初に検索されたレコードが、配列処理で多くのレコードをフェッチした場合よりも速く表示されます。ただし、ネットワーク・オーバーヘッドが減少できるので、数多くのレコードをフェッチして表示するときにかかる合計時間は、配列処理の場合よりも短くなります。

オプション名  配列処理

デフォルト YES


Array（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger array=NO


Block_Menu（Forms Runtime）

 例	 すべてのオプション

説明

フォームのかわりに最初のスクリーンとして（ログイン・スクリーンが表示される場合は、その後に）ブロック・メニューを自動的に表示します。

作業環境名  ブロック・メニューの表示

デフォルト NO


Block_Menu（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger block_menu=YES


Buffer_Records（Forms Runtime）

 例	 すべてのオプション

説明

メモリー上のバッファ・レコード数を、（各ブロック当たり）最低許容行数に3を加えた値に設定します。ブロックが、この最小値を超えて問合せでレコードを検索すると、Form Builderは、これらの追加レコードを、ディスクの一時ファイルにバッファします。

このオプションを設定すると、Formsランタイム実行時のメモリーは節約できますが、ディスクI/Oにより処理速度が低下することがあります。

Buffer_Records=NOと指定すると、Form Builderは、最小値を各ブロックの「バッファ・レコード数」プロパティで指定された数に設定します。

オプション名  レコードを一時ファイルにバッファリング

デフォルト NO


Buffer_Records（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger buffer_records=YES


Debug（Forms Runtime）

 例	 すべてのオプション

説明

Forms Runtimeセッションのデバッグ・モードをコールします。トリガーでBREAKビルトインが使用される場合、または「Form Builder」メニューから「ヘルプ」 [image] 「デバッグ」コマンドを使用する場合は、デバッガがブレーク処理を行います。

Windows以外のプラットフォームでデバッガによるブレーク処理を行うためには、デバッグ・ランフォーム実行可能ファイルを使用する必要があります。

ifdbg60 module=myform userid=scott/tiger debug=YES

オプション名 デバッグ・モードでの実行

デフォルト NO


Debug（Forms Runtime）例

ifdbg60 module=myform userid=scott/tiger debug=YES


Debug_Messages（Forms Runtime）

 例	 すべてのオプション

説明

Debug_Messagesは、フォームの実行中にトリガー実行に関するメッセージを表示します。

デフォルト NO


Debug_Messages（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger debug_messages=YES


Help（Forms Runtime）

 例	 すべてのオプション

説明

Form Builderヘルプ・スクリーンを起動します。

オプション名 ヘルプ情報の表示

デフォルト NO


Help（Forms Runtime）例

ifrun60 help=YES


Interactive（Forms Runtime）

 例	 すべてのオプション

説明

Interactiveは、キースクリプト・ファイルを入力として使用しているとき、出力をファイルにプリントすると同時に、端末スクリーンに表示すること（すなわち、対話型実行）を指定します。Interactive=NOを使用して、バッチ・モードでフォームを実行しているときにスクリーン出力を抑止します。

このパラメータは、文字モード端末のみに適用されます。

注意: 対話形式を使用しているときは必ずKeyinおよびOutput_Fileパラメータを使用する必要があります。Keyinファイルは、入力またはキースクリプト・ファイルを指定します。Output_Fileは、出力またはログ・ファイルを指定します。

オプション名 ディスプレイへの出力書込み

デフォルト YES


Interactive（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger keyin=myfile.key

output_file=mydisplay.out interactive=NO


Keyin（Forms Runtime）

 例	 すべてのオプション

説明

キースクリプト・ファイルを入力項目としてフォームに読み込ませることができます。キースクリプト・ファイルは、Forms Runtimeセッションを起動、実行および終了します。

指定するファイル名は、入力またはキースクリプト・ファイルです。

デフォルトでは、Form Builderは端末スクリーンのアクションすべてを実行します。スクリーン出力を抑止する場合は、Interactive=NOを指定して、Output_Fileを使用して、出力ファイルを指定します。

このパラメータは、文字モード端末のみに適用されます。

オプション名 ファイルからの入力キー・ストロークの読込み


Keyin（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger keyin=myfile.key


Keyout（Forms Runtime）

 例	 すべてのオプション

説明

Forms Runtimeセッション時に関与したキーストロークをキースクリプト・ファイルで獲得します。キースクリプト・ファイルには、フォーム内のナビゲート、ファンクションの起動およびトランザクションの実行に関与するキー・ストロークが組み込まれます。

ファイル名は出力またはキースクリプト・ファイルを指定します。

このパラメータは、文字モード端末のみに適用されます。

オプション名 入力キー・ストロークのファイルへの書込み


Keyout（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger keyout=newfile.key


Logon_Screen（Forms Runtime）

 例	 すべてのオプション

説明

パスワードを入力していない場合に、ログオン・スクリーンが強制的に表示されるようにします。Logon_Screenを使用するとき、ユーザー名とパスワードは指定しません（指定しても、Form Builderは、それを無視します）。

（参照できる）コマンド・ラインにパスワードを入力しない場合は、Logon_Screenを使用します。

オプション名 ログオン指定のためのスクリーン表示

デフォルト NO


Logon_Screen（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger logon_screen=YES


SQL文処理の最適化（Forms Runtime）

 例	 すべてのオプション

説明

Form Builderが、データベース・カーソルを共有することによって、V2スタイルのトリガーでSQL文処理を最適化するように指定します。

デフォルトで、Form Builderは、フォームがV2トリガーで明示的に実行する各SQL文に個別のデータベース・カーソルを割り当てます。この動作は処理能力を高めます。なぜなら、各SQL文の解析が、Formsランタイム・セッションが実行された最初のときのみ行われ、毎回行われなくなるからです。

OptimizeSQL=NOを指定すると、Form Builderは、V2トリガーのすべてのSQL文に個別カーソルを割り当てます。これらの文はそのカーソルを共有、つまり再使用します。これにより、メモリーは節約できますが、SQL文を実行のたびに解析する必要がありますので、処理速度は遅れます。

この動作は、｢新規カーソル領域」トリガー・ステップ特性を介して微調整できます。SQL文を含むトリガー・ステップで、この特性がオンになっていると、Form Builderは、文に個別カーソルを割り当てて、事実上その文のOptimizeSQLパラメータを上書きします。

注意: OptimizeSQLは、PL/SQLトリガーの文に全く影響を及ぼしません。

オプション名 V2スタイルのトリガー・ステップ処理を最適化   optimizesql

デフォルト YES


SQL文処理の最適化（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger optimizesql=NO


トランザクション・モード処理の最適化（Forms Runtime）

 例	    制限事項	 すべてのオプション

説明

トランザクション・モード処理を最適化します。

デフォルトでは、Form Builderは、フォームがデータの転記または問合せの一部として暗黙的に実行する各SQL文に別々のデータベース・カーソルを割り当てます。この動作は処理能力を高めます。なぜなら、各SQL文の解析が、Formsランタイム・セッションが実行された最初のときのみ行われ、毎回行われなくなるからです。

ただし、問合せSELECT文に割り当てられるカーソルは、実行するたびに解析する必要があるので、注意してください。問合せが実行によって変わるので、この例外が存在します。

OptimizeTP=NOを指定すると、Form Builderは、各問合せSELECT文にのみ別々のカーソルを割り当てます。その他のすべての暗黙的SQL文はカーソルを共有、つまり再使用します。これにより、メモリーは節約できますが、すべてのINSERTおよびUPDATE、DELETE、SELECTFOR文を実行のたびに解析する必要がありますので、処理速度は遅くなります。

オプション名  トランザクション・モード処理の最適化   optimizetp

デフォルト YES


トランザクション・モード処理の最適化（Forms Runtime）制限事項

標準Form Builder処理を、On-InsertおよびOn-Update、On-Deleteトリガーに置換すると、OptimizeTPパラメータは全く影響を及ぼしません。それは、これらのトリガーが暗黙的に発行されるINSERT、UPDATEおよびDELETE文を置き換えるためです。


トランザクション・モード処理の最適化（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger optimizetp=NO


Options_Screen（Forms Runtime）

 例	 すべてのオプション

説明

「オプション」ウィンドウを表示します。

このパラメータは、GUI表示のみに適用されます。

デフォルト NO


Options_Screen（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger options_screen=YES


Output_File（Forms Runtime）

 例	 すべてのオプション

説明

フォームの端末出力をスクリーンに表示すると同時に、ログ・ファイルに書き込みます。スクリーン出力を抑止する場合は、Interactive=NOを使用したあと、Output_Fileを指定します。

このパラメータは、文字モード端末のみに適用されます。

注意: Output_Fileを使用する場合は必ずKeyinパラメータを使用する必要があります。Keyinファイルは、入力またはキースクリプト・ファイルを指定します。Output_Fileは、出力またはログ・ファイルを指定します。

オプション名 ファイルへの出力書込み


Output_File（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger keyin=myfile.key output_file=mydisplay.out


PECS（Forms Runtime）

 例	 すべてのオプション

説明

Performance Event Collection Services（PECS）を使用可能にして、フォームを実行します。

PECSは、次の作業を実行するときに使用できるパフォーマンス測定ツールです。

•	Form Builderまたはアプリケーション特定イベントの使用方法（各イベントのCPU時間または1時間で処理されるトランザクション）を測定します。

•	パフォーマンスの問題（各イベントの経過時間）を突きとめます。

•	オブジェクト対象領域（テスト実行中にトリガー、警告またはウィンドウなどの特定のオブジェクトが使用されたかどうか）を測定します。

•	（トリガーおよびプロシージャのPL/SQLコードについて）ライン別対象領域を測定します。

PECSオプションは、ONまたはOFF、FULLに設定できます。

•	オブジェクト対象領域では、PECS=ONに設定します。

•	オブジェクト対象領域およびライン対象領域では、

•	Debug=ONでコンパイルします。

•	PECS=FULLで実行します。

•	デフォルトはPECS=OFFです。

Windows以外のプラットフォームでPECSを使用するには、デバッグ・ランフォーム実行可能ファイルを使用する必要があります。

ifdbg60 module=myform userid=scott/tiger PECS=ON

デフォルト: OFF


PECS（Forms Runtime）例

ifdbg60 module=myform userid=scott/tiger PECS=ON


Query_Only（Forms Runtime）

 例	 すべてのオプション

説明

フォームを問合せ専用モードで起動します。このオプションをオンに設定するのは、CALL_FORM(query_only)ビルトインを使用することと同じです。

作業環境名 問合せ専用モード

デフォルト NO


Query_Only（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger query_only=YES


Quiet（Forms Runtime）

 例	 すべてのオプション

説明

Forms Runtimeセッションの消音モードをコールします。消音モードで、メッセージはビープ音をしません。BELLビルトインをコールすることにより、トリガーからビープ音を明示的に鳴らすことができます。quiet=NOはデフォルトで、ブザーが鳴ることを示します。ブザーをオフにするには、quiet=YESに設定します。

オプション名 消音モードで実行

デフォルト NO


Quiet（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger quiet=YES


Statistics（Forms Runtime）

 例	 すべてのオプション

説明

セッションの終わりに、セッション中に同時に使用したカーソルの最大数を示すメッセージを表示します。このメッセージは、メッセージ・ラインではなく、端末スクリーンに表示されます。

このオプションは、データベースに次のコマンドも発行します。

ALTER SESSION SET SQL_TRACE TRUE

このコマンドは、サーバー上にトレース・ファイル・ディレクトリを表示して、現行セッションのSQLトレース機能を使用可能にします。ｾデータベースのパフォーマンスに関する機能の詳細は、『Oracle RDBMS パフォーマンス・チューニング・ガイド』を参照してください。

Form Builder内からフォームを実行中に、この機能を使用する場合、「統計表示」ランタイム・オプションをアクティブにします。

オプション名  統計を表示

デフォルト NO


Statistics（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger statistics=YES


Term（Forms Runtime）

 例	 すべてのオプション

説明

現行のデバイスおよび製品にデフォルト・マッピング以外のマッピングを指定します。

resfile	指定するファイル名は、OracleTerminalリソース・ファイルの名前です。resfileを指定しないと、Form Builderは、デフォルトがプラットフォームに固有のファイル名になり、大部分のプラットフォームでは"FMR"で実行が開始されます。たとえば、Microsoft Windowsのデフォルト・ファイルはFMRUSWです。

mymapping	指定するマッピング名は、この「Form Builder」セッションで使用するマッピングです。

注意: ユーザーまたはDBAは、Oracle Terminalでマッピングを定義します。リソース・ファイルの詳細は、使用しているオペレーティング・システムのFormBuilderドキュメンテーションを参照してください。

Web上でフォームを実行している際に、使用するリソース・ファイルの完全なパスを指定するには、resfile引数のみを使用します。

オプション名 Oracle*Terminalリソース・ファイル


Term（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger@<alias> term=resfile:mymapping

Web上でフォームを実行している場合:

serverargs="myform.fmx scott/tiger@<alias> term=c:\formdir\resfile.res"


Window_State（Forms Runtime）

 例	  制限事項	 すべてのオプション

説明

Forms Runtimeの開始時のMDIアプリケーション・ウィンドウのサイズを設定します。

MAXIMIZE, に設定すると、MDIアプリケーション・ウィンドウはForms Runtimeセッションの開始時に最大になります。MINIMIZEに設定すると、MDIアプリケーション・ウィンドウはForms Runtimeセッションの開始時に最小になります。NORMAL設定は、標準サイズであるMDIアプリケーション・ウィンドウを起動します。

オプション名  ウィンドウの状態

デフォルト NORMAL


Window_State（Forms Runtime）制限事項

Microsoft Windowsにおいてのみ有効です。Webから実行中のフォームはサポートされていません。


Window_State（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger window_state=MAXIMIZE


「Form Compiler」オプションの設定

 すべてのオプション

「Form Compiler」オプションでは、Form Compilerセッション時のForm Builderのデフォルト動作が指定されます。オプションには、フォームを実行およびテストするため開発中のファイル生成に適用されるものや、ファイルを旧バージョンからバージョン6.0に変換しているときにのみ適用されるものがあります。

次の2通りの方法で「Form Compiler」オプションを設定できます。

•	「Form Compilerオプション」ダイアログ・ボックスのオプションを設定します。

•	Form Compilerをコールするときにコマンド・ラインでForm Compilerにパラメータを渡します。

以下に「フォーム・コンパイラ・オプション」ウィンドウの「Form Compiler」オプションおよびそれらの対応キーワード・パラメータをリストします。個々の「Forms Runtime」オプションに関する詳細ついては、チャートに続いて表示されるアルファベット順に記述されている対応パラメータ・リストを参照してください。

Form Compilerパラメータのアルファベット順リストで、次の情報がパラメータごとに記述されています。

•	デフォルト以外の値をパラメータに設定するときの例

•	関連モジュール・タイプ: フォーム、メニュー、ライブラリまたはすべて

•	説明

•	デフォルト

キーワード・パラメータをコマンド・ライン・オプションとして入力する場合は、複数のパラメータを任意の順序で同時に入力できます。

ifcmp60 module=myform userid=scott/tiger batch=YES statistics=YES

オプション名	キーワード・パラメータ
ファイル	Module
userid/password	Userid
モジュール・タイプはFORM、MENU、LIBRARY	Module_Type
モジュール・アクセスはFILEまたはDATABASE	Module_Access
デバッグ・モードでビルド	Debug
統計を表示	Statistics
データベースにログオン	Logon
出力内容の書込み先ファイル	Output_File
スクリプト・ファイルを書きますか	Script
データベースからモジュールを削除	Delete
データベースにモジュールを挿入	Insert
データベースからファイルにモジュールを取り出しますか	Extract
3.0 Formまたは5.0 Menuから4.5モジュールにアップグレードしますか	Upgrade
SQL*Menu 5.0ロール情報をアップグレードしますか	Upgrade_Roles
アップグレードするバージョン	Version
アップグレード時に使用するCRTファイル	CRT_File
アップグレード時に実行時ファイルをビルド	Build
アップグレード時にkey-up/downトリガーを追加	Add_Triggers
アップグレード時に実行マクロステップへにNOFAILを追加	Nofail
ヘルプ情報を表示	Help
Options_Screen	Options_Screen*
バッチ	Batch*

*コマンド・ラインのみで使用可能です。「フォーム・コンパイラ・オプション」ダイアログからは使用できません。


Add_Triggers（Form Compiler）

 例	 すべてのオプション

説明

KEY-PRVRECおよびKEY-NXTRECIトリガーが存在した場合は、必ずForms2.0または2.3から4.0にアップグレードするときに、key-upトリガーおよびkey-downトリガーを追加するかどうかを指示します。

モジュール: フォーム

デフォルト NO


Add_Triggers（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger upgrade=yes version=23 add_triggers=YES


Batch（Form Compiler）

 例	 すべてのオプション

説明

対話形式メッセージを抑止します。バッチ生成を実行しているときに使用します。

モジュール: フォーム

デフォルト NO


Batch（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger batch=YES


Build（Form Compiler）

 例	 すべてのオプション

説明

「アップグレード」とともに「ビルド」オプションを使用します。upgrade=YESを指定し、buildを省略すると、Form Builderは2つのファイルを作成し、このためデフォルト値build=YESをアクセプトします。

•	アップグレードしたバイナリ開発モジュール（.FMBまたは.MMBファイル）

•	アップグレードしたForms Runtime実行可能モジュール（.FMXまたは.MMXファイル）

自動的にForms Runtimeモジュールを作成することを望むことを否定する場合、build=NOを指定します。

モジュール: フォーム、メニュー

デフォルト YES


Build（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger upgrade=YES build=NO


Compile_All（Form Compiler）

 例	 すべてのオプション

説明

指定したモジュール内でプログラム単位をコンパイルします。

注意: 「出力ファイル」を使用して別の場所を指定しない限り、出力ファイルは現在のディレクトリに置かれます。

モジュール: フォーム、メニュー、ライブラリ

デフォルト NO


Compile_All（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger compile_all=YES


CRT_File（Form Compiler）

 例	 すべてのオプション

説明

SQL*Formsバージョン2.0または2.3からアップグレードするとき使用するCRTファイルを指示します。

モジュール: フォーム


CRT_File（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger upgrade=yes version=20 crt_file=myfile.crt


Debug（Form Compiler）

 例	 すべてのオプション

説明

デバッグ可能なフォームを作成します。

「Debug Form Compiler」オプションを選択すると､ランタイム・ソース・レベル・デバッカが使用するユーザーの.FMXファイルが作成されます。したがって、実行の場合にdebug=yesを指定するためにはdebug=yesでコンパイルしておく必要があります。

オプション名  デバッグ・モードでの実行

デフォルト NO


Debug（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger debug=yes


Delete（Form Compiler）

 例	 すべてのオプション

説明

データベースから直接モジュールを削除します。

モジュール: すべて

デフォルト NO


Delete（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger delete=YES


Extract（Form Compiler）

 例	 すべてのオプション

説明

データベースからモジュールを抽出して、同じモジュール名のファイルとして保存します。

モジュール: すべて

デフォルト NO


Extract（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger extract=YES


Help（Form Compiler）

 例	 すべてのオプション

説明

Form Builderヘルプ・スクリーンを起動します。

モジュール: すべて

デフォルト NO


Help（Form Compiler）例

ifcmp60 help=YES


Insert（Form Compiler）

 例	 すべてのオプション

説明

Form Compilerのコマンド・ラインからモジュールを直接データベースに挿入します。

モジュール: すべて

デフォルト NO

使用上の注意

Insertオプションは、Upgradeオプションとの組合わせでは機能しません。


Insert（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger insert=YES


Logon（Form Compiler）

 例	 すべてのオプション

説明

Form Compilerがデータベースにログオンすべきかどうかを指定します。モジュールが表を参照するPL/SQLコードを含んでいる場合、生成するにはデータベースへの接続が必要となります。

モジュール: フォーム

デフォルト YES


Logon（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger logon=NO


Module_Access（Form Compiler）

 例	 すべてのオプション

説明

モジュールをオープンして、ファイル・システムまたはデータベースに保存するかどうかを指定します。

モジュール: すべて

デフォルト FILE


Module_Access（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger module_access=database


Module_Type（Form Compiler）

 例	 すべてのオプション

説明

現行モジュールのモジュール・タイプを指定します。Module_Typeを指定することにより、フォームおよびメニュー、ライブラリ・モジュールの名前を同じにすることができます。

モジュール: すべて

デフォルト FORM


Module_Type（Form Compiler）例

ifcmp60 module=orders userid=scott/tiger module_type=menu


Nofail（Form Compiler）

 例	 すべてのオプション

説明

Forms 2.0からアップグレードしているときに限り、NOFAILキーワードを実行マクロ・ステップに追加するかどうかを指示します。

モジュール: フォーム

デフォルト NO


Nofail（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger upgrade=yes version=20 nofail=YES


Options_Screen（Form Compiler）

 例	 すべてのオプション

説明

「オプション」ウィンドウを起動します。

このパラメータはGUI表示のみに適用されます。

モジュール: すべて

デフォルト NO


Options_Screen（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger options_screen=YES


Output_File（Form Compiler）

 例	 すべてのオプション

説明

生成したファイルにファイル名を指定します。

upgrade=yesで生成すると、output_fileは次を指定します。

•	アップグレードされたバイナリ開発用モジュール（.FMBまたは.MMB、.PLLファイル）の完全名

注意: 生成されたライブラリ・ファイルの名前を指定するには、Output_FileとともにStrip_Sourceを使用する必要があります。

•	アップグレードしたForms Runtime実行可能モジュール（.FMX or .MMXファイル）のルート名（拡張子なし）

upgrade=yesおよびbuild=noで使用するとき、ファイルの拡張子は無視されます。

モジュール: すべて


Output_File（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger upgrade=yes output_file=myform.fmb


Parse（Form Compiler）

 例	 すべてのオプション

説明

モジュールのテキスト・ファイル形式（.FMT、.MMT、.PLD）をバイナリ形式（.FMB、.MMB、.PLL）に変換します。

この動作は、「変換」コマンドを使用すると、Form Builder内からでも実行できます。

モジュール:  すべて

デフォルト NO


Parse（Form Compiler）例

ifcmp60 module=myform parse=YES


Script（Form Compiler）

 例	 すべてのオプション

説明

バイナリ・ファイル形式（.FMBまたは.MMB、.PLL）をテキスト形式（.FMTまたは.MMT、.PLD）に変換します。

この動作は、「変換」コマンドを使用すると、Form Builder内からでも実行できます。

モジュール: すべて

デフォルト NO


Script（Form Compiler）例

ifcmp60 module=myform script=YES


Statistics（Form Compiler）

 例	 すべてのオプション

説明

セッションの終わりに、コンパイルされたフォーム内のさまざまなオブジェクトの数をリストしたメッセージを表示します。

•	オブジェクト統計: 警告、エディタ、値リスト、プロシージャ、レコード・グループ、キャンバス、可視属性およびウィンドウの数と、オブジェクトの総数

•	トリガー統計: フォーム・トリガー、ブロック・トリガー、項目トリガーの数およびトリガーの総数

•	ブロック統計: 配列フェッチがONのブロック数、平均の配列フェッチ・サイズおよびブロックの総数

•	項目統計: ボタン、チェックボックス、表示項目、イメージ項目、リスト項目、ラジオ・グループ、テキスト項目、ユーザー領域の数および項目の総数

モジュール: フォーム

デフォルト NO


Statistics（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger statistics=YES


Strip_Source（Form Compiler）

 例	 すべてのオプション

説明

ライブラリ・ファイルからソース・コードを削除し、pcodeのみを含んでいるライブラリ・ファイルを作成します。生成されたファイルは運用時には使用できますが、後でForm Builderで編集できません。

Strip_Sourceを使用するときは、Output_File（Forms Runtime）パラメータを使用して出力ファイルを指定する必要があります。

モジュール: ライブラリ

デフォルト NO


Strip_Source（Form Compiler）例

ifcmp60 module=old_lib.pll userid=scott/tiger strip_source=YES output_file=new_lib.pll


Upgrade（Form Compiler）

 例	 すべてのオプション

説明

モジュールを、SQL*Forms 2.0、2.3または3.0からForm Builder 5.0に、あるいはSQL*Menu 5.0からForm Builder 5.0メニュー・モジュールにアップグレードします。

•	SQL*Forms 3.0またはSQL*Menu 5.0からForm Builder 5.0にアップグレードするには、upgrade=yesと指定して、versionを省略します。

•	SQL*Forms 2.0からアップグレードするには、upgrade=yesおよびversion=20と指定します。

•	SQL*Forms 2.3からアップグレードするには、upgrade=yesおよびversion=23と指定します。

モジュール: フォーム、メニュー

デフォルト NO

使用上の注意

Upgradeオプションは、Insertオプションとの組合せでは機能しません。


Upgrade（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger upgrade=YES


Upgrade_Roles（Form Compiler）

 例	 すべてのオプション

説明

SQL*Menu 5.0表権限をOracle８のデータベース・ロールにアップグレードします。

注意: メニュー・ロールは、すべての特定メニュー・アプリケーションから独立しています（モジュール名は指定されません）。1つの実行で、upgrade=yesおよびupgrade_roles=yesと指定できません。

モジュール: なし

デフォルト NO


Upgrade_Roles（Form Compiler）例

ifcmp60 userid=system/manager upgrade_roles=YES


Version（Form Compiler）

 例	 すべてのオプション

説明

どのバージョンからアップグレードするかを指示します。バージョン2.3（version=23）またはバージョン2.0（version=20）からアップグレードするには、upgrade=yes をともに使用します。

バージョン3.0からアップグレードするには、upgrade=yesを指定して、versionパラメータを省略します。

モジュール: フォーム

デフォルト version=30


Version（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger upgrade=yes version=23


Widen_Fields（Form Compiler）

 例	 すべてのオプション

説明

「Upgrade」とともに「Widen_Fields」オプションを使用します。バージョン5.0にアップグレードしているとき、各フィールドの凹凸によって、1フィールドあたり最大1文字が失われることがあります。アップグレード時に、このオプションを指定すると、各フィールドの画面幅に自動的に1文字が追加されます。注意: 最高許容値には影響しません。

このオプションは、1～6文字のフィールドを多く含むForm Builder 3.0の文字モード・アップグレード・アプリケーションをアップグレードするときに最も有用です。Widen_Fieldsオプションの影響は、ユーザーのインタフェース設計によって異なるので、慎重にテストする必要があります。ここで影響とは次のことです。

•	フィールド間のスペースに上限があると、テキスト項目がボイラープレート・テキストにオーバーラップすることがあります。

•	現在、2フィールドが相互にフラッシュであるとき、Widen_Fieldsオプションにより、両フィールドはオーバーラップします。

モジュール: フォーム

デフォルト NO


Widen_Fields（Form Compiler）例

ifcmp60 module=myform userid=scott/tiger upgrade=yes widen_fields=YES


「Form Builder」オプションの設定

 例	 すべてのオプション

「Form Builder」作業環境では、Form Builderセッションのデフォルト動作が指定されます。「作業環境」ダイアログ・ボックスをコールする場合は、Form Builderで「ツール」 [image] 「作業環境」を選択します。オプションを設定するには、チェックボックスをクリックするか、または選択するオプションのファイル名を記入します。

「作業環境」ダイアログ・ボックスには、「Form Builder」と「Forms Runtime」の作業環境が含まれています。

Form Builderの作業環境

現行Form Builderセッションのデフォルトを指定する場合は、次のオプションを設定します。

•	ビルド前に保存

•	実行前にビルド

•	ヒント表示の抑止

•	モジュール非同期実行

•	システム・エディタの使用

•	アクセス（ファイル、データベース、ファイル/データベース）

•	表示（フォーム、メニュー、ライブラリ、すべて）

•	プリンタ

•	カラー・パレット

•	カラー・モード

個々のオプションの詳細については、次のアルファベット順リストを参照してください。

ランタイム・オプション

Form Builderから実行するフォームのデフォルトを指定する場合は、次の「ランタイム」オプションを設定します。

•	ファイルのバッファ・レコード

•	デバッグ・モード

•	配列処理

•	SQL処理の最適化

•	トランザクション・モード処理の最適化

•	統計表示

•	ブロック・メニューの表示

•	問合せ専用モード

•	消音モード

「ランタイム」オプションは、この章の前半にリストされています。

キーワード・パラメータ

「作業環境」ダイアログにリストされているオプションの他に、Form Builderコマンド・ラインでこれらのキーワード・パラメータを設定できます。

•	Module_Type

•	Module_Access

•	Help


「Form Builder」オプション設定例

ifbld60 module=orders userid=scott/tiger module_type=menu


カラー・モード

 すべてのオプション

どのようにForm Builderカラー・パレットをシステムにロードするかを判断します。フォームをロード、オープンまたは作成するたびに、Form Builderは、Form Builderカラー・パレットをシステムのカラー表にロードします。このシステム・カラー表は、同時に処理できるカラー数が限定されているので、異なるカラー・パレットを使用する場合、Form Builderは、複数フォームを同時に正確に変更できないことがあります。このため、「Form Builder」カラー・パレットをアクティブに変更している場合を除いて、「Read Only - Shared」オプションを使用します。

「カラー・モード」オプション:

Editable	「Form Builder」カラー・パレットを変更する場合のみ「Editable」モードを選択します。一度、カラー・パレットを変更すると、「Read Only - Shared」モードに戻ります。「Editable」モードでは、各カラーが、現行のシステム・カラー表について独自の一意のエントリを持っています。表にスペースがなくなると、カラー・パレットはロードを拒否することがあります。

Form Builderカラー・パレットを変更するには、次のようにします。

•	「カラー・モード」を「Editable」に変更して、オプションを保存します。（ツール -> 環境設定、「一般」タブ、「カラー・モード」）

•	Form Builderを再起動します。

•	カラー・パレットを変更するには、書式 -> レイアウト・オプション -> カラー・パレットを使用します（レイアウト・エディタが開いているときのみ）。

•	Form Builderカラー・パレットをファイルに保存するには、ファイル -> エクスポート -> カラー・パレットを使用します（レイアウト・エディタが開いているときのみ）。

•	新カラー・ファイルを使用するには、オプションを変更します（ツール -> 環境設定、「一般」タブ、カラー・パレット）。

•	「カラー・モード」を「ReadOnly - Shared」に戻して、オプションを保存します。

•	Form Builderを再起動します。

Read Only-Shared	「Read Only - Shared」モードでは、Form Builderカラー・パレットから新規エントリを追加する前に、複製したカラーを現行のシステム・カラー表内の同じエントリにマッピングします。「Read Only - Shared」では、「Form Builder」カラー・パレットを切り替えるときに発生するカラー・フリッカーを回避できるようにします。

Read Only-Private	このオプションは、Graphics Builderとの一貫性のために提供され、Form Builderには関係ありません。Form Builderでは、「Read Only - Shared」にマッピングされます。

デフォルト Read Only - Shared


カラー・パレット

 すべてのオプション

説明

新規フォームを作成するとき、自動的にロードされる「Form Builder」カラー・パレットの名前を指定します。このフィールドをブランクにしておくと、デフォルトの「Form Builder」カラー・パレットがロードされます。

カラー・パレットの詳細は、「カラー・パレットについて」を参照してください。


実行前にビルド

 すべてのオプション

説明

ユーザーがForm Builderからフォームを実行するときに、Form Builderでアクティブ・モジュールを自動的にコンパイルするかどうかを決めます。「実行前にビルド」がチェックされているとき、ユーザーが「プログラム」 [image] 「フォーム実行」コマンドを発行して、指定のフォームを実行したときにForm Builderは次のことを実行します。

•	アクティブなフォーム、メニューまたはライブラリのモジュールをビルドして、そのモジュールと同じ名前を持つ実行ファイルを作成します。

•	「実行」ダイアログ・ボックスで指定した.FMXファイル（フォームの実行ファイル）を実行します。

このオプションを使用すると、フォームを変更して実行するたびに個別の「コンパイル」および「実行」コマンドの発行を避けることができます。ただし、このオプションはモジュールを保存しません。モジュールを保存するには、「ファイル」 [image] 「上書き保存」コマンドを発行するか、「ビルド前に保存」オプションをチェックしておく必要があります。

さらに、「実行前にビルド」オプションがチェックされているとき、Form Builderは、フォームに連結しているメニューまたはライブラリ・モジュールをコンパイルしません。ユーザーは、個別にメニューおよびライブラリをコンパイルしてから、それらを参照するフォームを実行する必要があります。

デフォルト: Off


Help（Form Builder）

 例	 すべてのオプション

説明

Form Builderヘルプ・スクリーンを起動します。

モジュール: すべて

デフォルト NO


Help（Form Builder）例

ifbld60 help=YES


HTMLファイル名

 関連項目	 すべてのオプション

説明

Webプレビューアでフォームを実行するときに使用するHTMLファイルを指定します。

Webプレビューアでフォームをプレビューするとき、環境設定またはデフォルトによって指定された実行時オプションを伴って、コンテナHTMLファイルが動的に作成されます。このファイルは、フォームを実行するためにWebプレビューアに送られます。Form Builderにより作成されたカスタムHTMLファイルと置き換えるには、カスタムHTMLファイルのパスとファイル名を入力する必要があります。

ベースHTMLファイル作成の詳細は、「FormsアプリケーションWeb利用ガイド」の「Formsサーバーの構成」のセクションを参照してください。


「アクセス」作業環境（Form Builder）

 例	 すべてのオプション

説明

モジュールをオープンして、ファイル・システムまたはデータベースに保存するかどうかを指定します。

このオプションは、Module_Accessパラメータを使用してコマンド・ライン上で設定することも、「作業環境」ダイアログ・ボックスの「アクセス」タブで設定することもできます。

コマンド・ライン・パラメータを指定すると、現行Form Builderセッション1回ごとのアクセスが可能になります。コマンド・ラインで、「Module_Access」オプションは、fileまたはdatabaseに設定できます。

Form Builderセッションでこのオプションを常に有効にするには、「アクセス」作業環境（「ツール」 [image] 「作業環境」を選択し、「アクセス」タブを利用）を使用して、自分の作業環境ファイルを変更します。

「アクセス」オプションで、次の格納作業環境の1つを指定して、モジュールをオープンおよび保存できます。

ファイル	モジュールはファイル・システムからロードされ、ファイル・システムに保存されます。
データベース	モジュールはデータベースからロードされ、データベースに保存されます。
確認	モジュールはファイル・システムまたはデータベースからロードして、ファイル・システムまたはデータベースに保存できます。Form Builderは、これらの操作を実行するたびに、ファイルの場所をユーザーに問い合せます。
モジュール: すべて

デフォルト FILE


「アクセス」作業環境（Form Builder）例

ifbld60 module=myform userid=scott/tiger module_access=database


Module_Type（Form Builder）

 例	 すべてのオプション

説明

現行モジュールのモジュール・タイプを指定します。Module_Typeを指定することにより、フォームおよびメニュー、ライブラリ・モジュールの名前を同じにすることができます。

モジュール: すべて

デフォルト FORM


Module_Type（Form Builder）例

ifbld60 module=orders userid=scott/tiger module_type=menu


プリンタ

デフォルトのプリンタの名前。この名前はオペレーティング・システムに依存しています。

プリンタの詳細は、使用しているオペレーティング・システムのForm Builderマニュアルを参照してください。


モジュールの非同期実行

 すべてのオプション

実行するフォームがForm Builder自身に関して同期モードでに実行されるのかあるいは非同期モードで実行されるのかを決めます。

•	「モジュールの非同期実行」がオフのとき、Form Builderから実行するフォームは同期モードで実行されます。つまり、フォームを終了までForm Builderで作業を行うことはできません。

•	「モジュールの非同期実行」がオンのとき、Form Builderから実行するフォームは非同期モードで実行されます。したがって、Form BuilderとForms Runtimeとの間を自由に移動できます。

フォームを同期モードで実行すると、Form Builderは、発生したFormsランタイム起動エラーをForm Builderで警告を表示して知らせます。フォームを非同期モードで実行すると、FormsランタイムとForm Builderとの間で一切交信が行われることがなく、Forms ランタイムエラーはForm Builderで報告されません。

デフォルト  Off


ビルド前に保存

ユーザーが「ファイル」 [image] 「管理」 [image] 「コンパイル・ファイル」を選択したとき、あるいは「実行前にビルド」作業環境がチェックされていて実行前にフォームがビルドされたときに、Form Builderが現行モジュールをビルドする前にそれを自動的に保存するかどうかを決めます。

デフォルト  Off


サブクラス・パス

 すべてのオプション

説明

下記のオプションのどれかを指定して、サブクラス化されたオブジェクトとともに元のオブジェクトのパスを保存するかどうかを判断します。

サブクラス化されたオブジェクトをともなう元のオブジェクトに関するパスの保存について、次のいずれかの環境設定を指定します。

削除	サブクラス化されたオブジェクトにおいて参照される元のオブジェクトのファイル名からパスを削除します。

保管	サブクラス化されたオブジェクトは、完全なパスに従って元のオブジェクトを参照します。

確認	ユーザーがオブジェクトをサブクラス化するたびに、Form Builderはダイアログ・ボックスを表示して、パスを削除するか残すかを問い合わせます。

デフォルト ASK

注意

サブクラス化されたオブジェクトは、元のオブジェクトからプロパティ値を継承し、元のオブジェクトの保存先フォームのファイル名によって元のオブジェクトを参照します。サブクラス化されたオブジェクトとともにフォームの完全なパス名が保存されるか、あるいはファイル名のみが保存されます。サブクラス化されたオブジェクトを含んでいるフォームがオープンされると、Form Builderはサブクラス化されたオブジェクトに対して指定されたファイルを探します。ファイル名がパスなしで指定されている場合、Form Builderは自身が起動された現在のディレクトリからファイルを探します。


ヒント表示の抑止

 すべてのオプション

ユーザーがForm Builderで作業を行っているときにメッセージ・ラインからヒント表示を抑止するかどうかを決めます。

デフォルト  Off


「用語」（Form Builder）

 例	 すべてのオプション

説明

現行のデバイスおよび製品にデフォルト・マッピング以外のマッピングを指定します。

resfile	指定するファイル名は、OracleTerminalリソース・ファイルの名前です。resfileを指定しないと、Form Builderは、デフォルトがプラットフォームに固有のファイル名になり、大部分のプラットフォームでは"FMR"で実行が開始されます。たとえば、Microsoft Windowsのデフォルト・ファイルはFMRUSWです。

mymapping	指定するマッピング名は、この「Form Builder」セッションで使用するマッピングです。

リソース・ファイルの詳細は、使用しているオペレーティング・システムのFormBuilderマニュアルを参照してください。

注意: ユーザーまたはDBAは、Oracle Terminalでマッピングを定義します。


用語（Form Builder）例

ifbld60 module=myform userid=scott/tiger term=resfile:mymapping


USESDI（Forms RuntimeおよびWeb Forms Runtime）

 例	 すべてのオプション

説明

Forms RuntimeセッションまたはWeb Forms Runtimeセッションの実行中は、ウィンドウ管理のシングル・ドキュメント・インタフェース（SDI）システムを使用してください。

複数ドキュメント・インタフェース（MDI）のルート・ウィンドウはありません。MDIツールバーは親ウィンドウに存在し、メニューが各ウィンドウに付加されます。

usesdi=YESの場合、FORMS_MDI_WINDOW定数をコールすると、MDIウィンドウ・ハンドルとしてNULLが戻されます。

オプション名 なし

デフォルト YES

使用上の注意:

SDIフォームは固有のウィンドウではありません。このため、Microsoft Windowsにおける[Alt]+[Tab]のような、特定OSに固有のウィンドウへのアクセス方法ではSDIウィンドウに移動できません。


USESDI（Forms Runtime）例

ifrun60 module=myform userid=scott/tiger usesdi=YES


システム・エディタの使用

 すべてのオプション

マルチライン・テキスト項目からエディタをコールしたときにどのエディタForms Runtimeを使用するかを決めます。「システム・エディタの使用」がチェックされていない場合、Form Builderはデフォルト・エディタを表示します。「システム・エディタの使用」がチェックされている場合、Form Builderは、システムに定義されたデフォルトのシステム・エディタを表示します。

注意: 「システム・エディタの使用」がチェックされており、固有のドキュメント・フォーマットでエディタを使用している場合、そのエディタのフォーマットでドキュメントを保存するかわりに、ASCIIテキストとしてそのドキュメントを保存する必要があります。

デフォルト・システム・エディタの定義の詳細は、使用しているオペレーティング・システムのForm Builderマニュアルを参照してください。

デフォルト  Off


ユーザー作業環境ファイル

 すべてのオプション

「作業環境」ダイアログ・ボックスは、オプションを設定するとき最も便利な方法ですが、（通常、PREFS.ORAと呼ばれる）作業環境ファイルに直接それらを設定することもできます。

「Form Builder」オプションを実行させる作業環境ファイルは、ユーザーが作業環境を変更するたびに自動的に更新されます。ユーザーがForm Builderを起動したときにForm Builderは更新作業環境ファイルを読み取ります。このファイルには、「Form Builder」および「Forms Runtime」オプションのそれぞれをユーザーが事前設定できるようにするキーワードと設定が含まれています。

この章でリストしている、ユーザー作業環境ファイルのForm BuilderまたはForms Runtimeキーワード・パラメータをどれでも使用できます。たとえば、消音モードでForm Builderから実行されるフォームを確実なものとするために､次のラインをユーザー作業環境ファイルに含めます。

FORMS.QUIET=ON

作業環境ファイルで、ユーザーはForm Builderのマッピングを事前設定することもできます。ほとんどのプラットフォームでは、作業環境ファイルは、PREFS.ORAと命名され、ログイン・ディレクトリに常駐する必要があります。

作業環境またはマッピングを指定しているコマンド・ライン・パラメータでForm Builderを起動すると、コマンド・ライン・パラメータにより作業環境ファイルの設定が取り消されます。さらに、作業環境ファイルのラインにエラーがある場合、Form Builderは、そのファイルを読み込むとき、そのラインを無視します。

オプションの構文

「Form Builder」または「Forms Runtime」オプションを事前設定するには、ちょうどコマンド・ラインでの操作のように、必要なキーワードと設定を作業環境ファイルに含めてください。次の構文を使用します。

keyword = {on | off | string}

キーワードおよび該当する値のリストについては、作業環境を保存してから、PREFS.ORAファイルの現行内容を調べます。


前置きダイアログ

 すべてのオプション

説明

Form Builderの起動時に「ようこそ」画面を表示するかどうかを判断します。

チェックされていると、Form Builderの起動時に「ようこそ」画面が表示されます。チェックされていないと、Form Builderは新しい、空白の「module1」モジュールを表示した状態で起動します。

デフォルト  ON


前置きページ

 すべてのオプション

説明

ウィザードの起動時に特定のウィザードに対する「ようこそ」ページを表示するかどうかを判断します。

チェックされていると、ウィザードの起動時に「ようこそ」ページが表示されます。チェックされていないと、ウィザードは「ようこそ」ページを表示しません。

適用されるオブジェクト

データ・ブロック・ウィザード

値リスト・ウィザード

レイアウト・ウィザード

チャート・ウィザード

デフォルト  ON


外部ファンクション・インタフェース


外部ファンクションについて

  関連項目

外部ファンクションは、Form Builderアプリケーションをカストマイズするための3GL言語で書かれたサブプログラムです。外部ファンクションは、Oracleデータベースと、Form Builderの変数および項目と対話できます。Form Builderの変数と項目にはアクセスできますが、外部ファンクションからForm Builderのビルトイン・サブプログラムをコールすることはできません。

外部ファンクションを使用して、次の処理を実行できます。

•	トランザクション・トリガーを使用してOracle以外のデータ・ソースに対して処理を実行している場合、デフォルトのFormBuilder処理を置き換えます。

•	複合データ操作を実行します。

•	オペレーティング・システムのテキスト・ファイルからForm Builderへデータを渡します。

•	LONG RAW型データを操作します。

•	すべてのPL/SQLブロックを、サーバーによる処理のために受け渡します。

•	プリンタやロボットなどのリアルタイム・デバイスを制御します。

注意: 外部ファンクションからホスト言語画面I/Oは実行しないでください。これは、ホスト言語が画面I/Oの実行に使用するランタイム・ルーチンが、Form Builderが画面I/Oに使用するルーチンと対立することを防ぐためです。ただし、ホスト言語ファイル I/Oは、外部ファンクションから実行できます。

PL/SQLインタフェースから起動する外部ファンクションは、動的ライブラリに含まれている必要があります。

外部ファンクションを初期化すると、動的ライブラリの場所が識別され、外部ファンクション・プロトタイプが分析されます。初期化の過程で、外部ファンクションのホスト言語のデータ型と、PL/SQLのデータ型との間に1対1の対応が形成されます。PL/SQLパッケージ本体の外部ファンクションが初期化されます。


PL/SQLインタフェースについて

  関連項目

Form Builderでは、PL/SQLの言語慣例を使用して、PL/SQLインタフェースから外部ファンクションを起動できます。

PL/SQLパッケージは、外部ファンクションへのPL/SQLインタフェースの作成に使用されるコンポーネントをカプセル化します。複数の外部ファンクションへのPL/SQLインタフェースを、単一のPL/SQLパッケージに組み込むことができます。このとき外部ファンクションへのPL/SQLインタフェースのそれぞれについて、外部ファンクションを初期化し、PL/SQLサブプログラムと外部ファンクションとを関連付け、外部ファンクション・プロトタイプをPL/SQLで疑似実行するという手順を踏む必要があります。またその代わりに、単一の外部ファンクションへのPL/SQLインタフェースをPL/SQLパッケージに組み込む方法もあります。

PL/SQLインタフェースから起動する外部ファンクションは、動的ライブラリに含まれてる必要があります。動的ライブラリには、Microsoft Windowsにおけるダイナミック・リンク・ライブラリや、UNIXシステムにおける共有ライブラリなどがあります。動的ライブラリの作成手順は、オペレーティング・システムによって異なります。現在の環境での動的ライブラリの作成方法については、ご使用のオペレーティング・システムのマニュアルを参照してください。pkg_aboff

外部ファンクションへのPL/SQLインタフェースの作成には、ORA_FFIビルトイン・パッケージ（Oracle外部ファンクション・インタフェース）が必要です。ORA_FFIパッケージは、外部ファンクションへのPL/SQLインタフェースを作成するためのPL/SQLビルトイン・サブプログラムの集合から構成されます。ORA_FFIパッケージの詳細は、『Oracle Procedure Builder開発者ガイド』を参照してください。

PL/SQLサブプログラムを外部ファンクションと関連付けると、関連付けられたPL/SQLサブプログラムをコールするたびにその外部ファンクションを起動できます。外部ファンクションとPL/SQLサブプログラムを関連付ける必要があるのは、Form BuilderがPL/SQL構成体を使用するためです。関連付けられたPL/SQLサブプログラムは、実行される外部ファンクション・コードのメモリ位置を指定します。

いったんPL/SQLサブプログラムと外部ファンクションを関連付けると、PL/SQLサブプログラムをコールするたびに、Form Builderは外部ファンクションを起動します。関連付けられたサブプログラムの最初のパラメータは、外部ファンクション・ハンドルで、なおかつ外部ファンクション・プロトタイプにホスト言語の等価の型を持たないパラメータ・タイプでなくてはなりません。

外部ファンクションのパラメータ・タイプと戻りデータ型が1対1で対応しているPL/SQLインタフェースを得るには、PL/SQLを使用して外部ファンクションのプロトタイプを擬似実行する必要があります。このプロトタイプは、パブリックなPL/SQLインタフェースです。

注意: 別の方法として、ユーザー・イグジット・インタフェースからも外部ファンクションを起動できます。ユーザー・イグジット・インタフェースを使用して外部ファンクションを起動する場合、Form Builderランフォームを再リンクする必要があります。このため、PL/SQLインタフェースを使用した方が、ユーザー・イグジット・インタフェースを使用するよりも柔軟な対応が可能になります。


外部ファンクションのタイプ

  関連項目

次のタイプの外部ファンクションを作成できます。

•	Oracleプリコンパイラ外部ファンクション

•	OCI（Oracleコール・インタフェース）外部ファンクション

•	Oracle以外の外部ファンクション

Oracleプリコンパイラ・インタフェースとOCIを組み合せる外部ファンクションも作成できます。

Oracleプリコンパイラ外部ファンクション  Oracleプリコンパイラ・インタフェースを取り込みます。このインタフェースによって、サポートされている次のホスト言語のいずれかを使用して、埋め込みSQLコマンドを利用したサブプログラムを作成できます。

•	Ada

•	C

•	COBOL

•	FORTRAN

•	Pascal

•	PL/I

注意: オペレーティング・システムによっては、これらの言語のうちサポートしない言語もあります。どの言語がサポートされるかについては、ご使用のオペレーティング・システム用のForm Builderのマニュアルを参照してください。

埋込みSQLコマンドによって、Oracleプリコンパイラ外部ファンクションは、Form Builderの変数および項目と同様にOracleデータベースにもアクセスできます。データベース・アクセス機能をもつOracleプリコンパイラ文を使用することで、Form Builderの変数と項目にアクセスできます。

OracleデータベースおよびForm Builderの変数と項目の両方へのアクセス機能があることから、外部ファンクションのほとんどはOracleプリコンパイラ外部ファンクションになります。Oracleプリコンパイラ・インタフェースの詳細は、『Oracleコール・インタフェース・プログラマーズ・ガイド』を参照してください。

Oracleコール・インタフェース（OCI）外部ファンクション  Oracleコール・インタフェース取り込みます。このインタフェースを使用して、Oracleデータベースのコールを含むサブプログラムを作成できます。OCIのみを取り込む（Oracleプリコンパイラ・インタフェースは取り込まない）外部ファンクションは、Form Builderの変数と項目にアクセスできません。OCIの詳細は、『Oracleコール・インタフェース・プログラマーズ・ガイド』を参照してください。

Oracle以外の外部ファンクション  Oracleプリコンパイラ・インタフェースまたはOCIのいずれも取り込みません。たとえば、Oracle以外の外部ファンクションは、その全部がC言語のみで書かれている場合てがあります。Oracle以外の外部ファンクションは、OracleデータベースまたはForm Builderの変数と項目のいずれにもアクセスできません。


プリコンパイラ文

  関連項目

すべてのOracleプリコンパイラ外部ファンクションでは、ホスト言語を使用して手続き操作を実行できます。またプリコンパイラ外部ファンクションは、次のようなステートメントを使用してデータベースへのアクセスおよびForm Builderの変数と項目の操作などの追加機能を実行できます。

文	機能
EXEC SQL	SQLコマンドを実行します。
EXEC TOOLS GET	Form Builderから外部ファンクションへ値を取り出します。
EXEC TOOLS SET	外部ファンクションからForm Builderへ値を送ります。
EXEC TOOLS MESSAGE	Form Builderで表示するメッセージを外部ファンクションから渡します。
EXEC TOOLS GET CONTEXT	以前、外部ファンクションに保管されたコンテキスト情報を取得します。
EXEC TOOLS SET CONTEXT	次の外部ファンクションの起動で使用できるように、外部ファンクションのコンテキスト情報を保存します。
EXEC ORACLE	Oracleプリコンパイラ・オプションを実行します。

Oracleプリコンパイラ外部ファンクションのソース・ファイルは、ホスト・プログラミング言語のステートメントとOracleプリコンパイラ文を、埋込みSQL文と一緒に組み込みます。Oracleプリコンパイラ外部ファンクションをプリコンパイルすると、埋込みSQL文が等価なホストプログラミング言語の文に置き換えられます。プリコンパイル後、ホスト言語のコンパイラでコンパイルできるソース・ファイルが作成されます。特定のプリコンパイラについての詳細は、現在の環境用のプリコンパイラのマニュアルを参照してください。


外部ファンクションへのPL/SQLインタフェースの作成

 例	  関連項目

外部ファンクションへのPL/SQLインタフェースの作成方法:

1	外部ファンクションの初期化

2	PL/SQLサブプログラムと外部ファンクションの関連付け

3	PL/SQLを使用した外部ファンクション・プロトタイプの擬似実行


外部ファンクションの初期化

  例	  次のステップ	  関連項目

外部ファンクションを初期化する方法:

1	ORA_FFI.LOAD_LIBRARYを使用して、外部ファンクションを含むダイナミック・ライブラリへのライブラリ・ハンドルを取得します。ダイナミック・ライブラリの名前と格納場所を指定する必要があります。

2	ORA_FFI.REGISTER_FUNCTIONを使用して、外部ファンクションへのファンクション・ハンドルを取得します。ライブラリ・ハンドルおよび外部ファンクション名を指定する必要があります。

3	ORA_FFI.REGISTER_PARAMETERを使用して、外部ファンクションのパラメータ・タイプを登録します。各パラメータに対して、外部ファンクションとそれに対応するPL/SQLの等価なパラメータ・タイプを識別するためのファンクション・ハンドルを指定します。パラメータは、外部ファンクション・プロトタイプ内で定義されている順序で登録してください。

4	ORA_FFI.REGISTER_RETURNを使用して、外部ファンクションの戻り値の型を登録します。外部ファンクションとそれに対応するPL/SQLの等価な戻り値の型を識別するためのファンクション・ハンドルを指定する必要があります。


外部ファンクションの初期化の例

外部ファンクション初期化の例を示します。

PACKAGE BODY calc IS
BEGIN
/*
This example shows how to initialize the foreign function
int ADD(int X, int Y) that is contained in the dynamic
library CALC.DLL;
*/
lh_calc := ora_ffi.load_library('c:\mathlib\', 'calc.dll');
fh_add := ora_ffi.register_function(lh_calc,'add',
ora_ffi.C_STD);
ora_ffi.register_return(fh_add,ORA_FFI.C_INT);
ora_ffi.register_parameter(fh_add,ORA_FFI.C_INT);
ora_ffi.register_parameter(fh_add,ORA_FFI.C_INT);
END;


PL/SQLサブプログラムと外部ファンクションの関連付け

  例	  次のステップ

PL/SQLサブプログラムと外部ファンクションの関連付け

1	ORA_FFI.FIND_FUNCTIONまたはORA_FFI.REGISTER_FUNCTIONを使用して、ファンクション・ハンドルを取得します。

2	PL/SQLパッケージ本体の宣言セクションで、ORA_FFI.FUNCHANDLETYPEタイプのパラメータを最初のパラメータとし、それに続く他のすべての外部ファンクション・パラメータのPL/SQLと等価なデータ型を受け入れるPL/SQLサブプログラムを定義します。

3	PRAGMAインタフェースをPL/SQLサブプログラムに組み込みます。

PRAGMA文は、動的ライブラリと対話できるForm Builderの記憶場所に制御を渡すことで、外部ファンクションを起動します。


PL/SQLサブプログラムと外部ファンクションとの関連付けの例

サブプログラムの外部ファンクションへの関連付けの例を示します。

PACKAGE BODY calc IS
/*
This example shows how to associate a PL/SQL subprogram with
 	the given function prototype, int ADD(int X, int Y);
*/

FUNCTION ff_ADD(ff_handle ORA_FFI.FUNCHANDLETYPE,
 X IN BINARY_INTEGER,
 Y IN BINARY_INTEGER);
RETURN BINARY_INTEGER;
PRAGMA インタフェース(C, ff_ADD, 11265);

BEGIN
...
END;


PL/SQLを使用した外部ファンクション・プロトタイプの擬似実行

 例	  関連項目

PL/SQLで外部ファンクションを擬似実行する方法:

1	PL/SQLパッケージ本体の宣言セクションで、PL/SQLと等価なデータ型で指定された外部ファンクション・パラメータの受け渡しを行うPL/SQLサブプログラムを定義。このサブプログラムが外部ファンクション・プロトタイプを擬似実行します。

2	擬似実行サブプログラムから、外部ファンクションに関連付けられたPL/SQLサブプログラムをコールします。

3	PL/SQLパッケージの仕様部に、PL/SQLサブプログラム・プロトタイプを記述します。


PL/SQLによる外部ファンクション・プロトタイプの疑似実行の例

外部ファンクション定義の擬似実行の例を示します。

PACKAGE calc IS
FUNCTION ADD(X IN BINARY_INTEGER, Y IN BINARY_INTEGER)
RETURN BINARY_INTEGER;
END;

PACKAGE BODY calc IS
/*
Given the foreign function prototype, int ADD(int X, int y),
and the associated PL/SQL subprogram,
FUNCTION ff_ADD(ff_handle,X,Y),
this example shows how to mimic the foreign function
definition in PL/SQL.
*/

FUNCTION ADD(X IN BINARY_INTEGER, Y IN BINARY_INTEGER)
RETURN BINARY_INTEGER IS
BEGIN
RETURN(ff_ADD(ff_ADD_HANDLE,X,Y));
END;

BEGIN
...
END;


PL/SQLインタフェースからの外部ファンクションの起動

  関連項目

外部ファンクションへのPL/SQLインタフェースを定義した後、Form BuilderからPL/SQLを使用して外部ファンクションを起動できます。PL/SQLインタフェースから外部ファンクションを起動するには、PL/SQLパッケージ名、ピリオド、PL/SQLファンクション名の順で指定します。この例では、ImageLib PL/SQLパッケージから外部ファンクションのGet_ImageとShow_Imageを起動する方法を示しています。

PROCEDURE display_image(keywrd IN OUT VARCHAR2) IS
img_ptr	ORA_FFI.POINTERTYPE;
BEGIN
img_ptr := ImageLib.Get_Image(keywrd);
ImageLib.Show_Image(img_ptr,2);
END;

PL/SQLインタフェースから外部ファンクションを起動すると、プロセス制御が外部ファンクションに渡されます。外部ファンクションの処理が完了すると、プロセス制御はForm Builderに戻ります。


PL/SQLを使用した外部ファンクションへのパラメータ値の受渡し

例	  関連項目

Form Builderの変数や項目などのパラメータ値を、PL/SQLインタフェースから起動された外部ファンクションへ受け渡す方法は、パラメータをPL/SQLサブプログラムに渡す方法と似ています。PL/SQLインタフェースの作成時に、必ずパラメータ値を定義してください。

Form Builderの変数または項目をPL/SQL変数に割り当てた後、そのPL/SQL変数を外部ファンクションのPL/SQLインタフェースのパラメータ値として渡します。パラメータとして渡されたPL/SQL変数は、有効なPL/SQLのデータ型でなくてはなりません。また、PL/SQLインタフェースで定義された適切なパラメータ・タイプでなくてはなりません。


PL/SQLを使用した外部ファンクションへのパラメータ値の受渡しの例

/*
The variables X_Val and Y_Val contain values obtained from
Form Builder and are used as parameter values in the ADD
foreign function.
*/
DECLARE
X_Val	BINARY_INTEGER := :addblk.Xitm;
Y_Val	BINARY_INTEGER := :addblk.Yitm;
sum	BINARY_INTEGER;

BEGIN
sum := ADD(X_Val, Y_Val);
END;


PL/SQLを使用した外部ファンクションからの値の戻し

例	  関連項目

外部ファンクションからForm Builderの変数または項目へ値を戻す方法は、PL/SQLファンクションから値を戻すのと同じです。PL/SQLインタフェースの作成時に、必ず戻り値を定義してください。

戻り値をForm Builderの変数または項目に割り当てることで、外部ファンクションからの戻り値を取得できます。Form Builderの変数または項目が、外部ファンクションからの戻り値と同じデータ型であることを確認してください。


PL/SQLを使用した外部ファンクションからの値の戻りの例

/*
The BINARY_INTEGER that the ADD foreign function returns is
assigned to the item sum_itm of the block addblk.
*/
BEGIN
addblk.sum_itm:= ADD(X_Val, Y_Val);
END;


複合パラメータ・データ・タイプの単純化

  関連項目

ORA_FFIパッケージは、Cプログラミング言語に対応する単純なPL/SQLパラメータ・データ型と戻りデータ型のみをサポートします。複合パラメータのデータ型と戻りデータ型を外部ファンクション・プロトタイプで使用する場合、その両方を単純化するかまたは置き換える必要があります。単純化できない場合は、かわりにユーザー・イグジット・インタフェースを使用します。

たとえば、C言語の構造体データ型と等価なPL/SQLデータ型はありません。この場合、この構造体を構築する外部ファンクションを作成することで、構造体データ型を単純化できます。複合パラメータ・データ・タイプを単純化しないで外部ファンクションへのPL/SQLインタフェースは作成できません。

MainStructは、複合パラメータ・タイプの例です。

Foreign_Func(MainStruct a, int b, char c)
{
/* process MainStruct */
...
}

MainStructパラメータを単純化する例:

New_Foreign_Func(int x, float y, char* z, int b, char c)
{
 struct MainStruct
{
int x;
float y;
char* z;
}
/* process MainStruct */
...
}


Microsoft Windows上でのPL/SQLインタフェースの作成例

  関連項目

PL/SQLインタフェースの作成方法は、ほとんどのプラットフォームで似ていますが、ここでは、Microsoft Windows上で動作するFormBuilderでの作成方法について説明します。

この例では、PL/SQLインタフェースからWindows Profile Stringファンクションを起動します。PL/SQLパッケージOraWinProfileには、Windows Profile StringファンクションへのPL/SQLインタフェースが含まれています。

PL/SQLパッケージ仕様部:

PACKAGE OraWinProfile IS
/*
Function WritePrivateString calls the Windows
WritePrivateProfileString function
*/
FUNCTION WritePrivateString(pSection IN VARCHAR2,
     pEntry IN VARCHAR2,
     pString IN VARCHAR2,
     pFilename IN VARCHAR2)
RETURN BOOLEAN;

/*
Function GetPrivateString calls the Windows
GetPrivateProfileString function
*/
FUNCTION GetPrivateString(pSection IN VARCHAR2,
   pEntry IN VARCHAR2,
   pDefault IN VARCHAR2,
   pReturnBuffer IN OUT VARCHAR2,
   pReturnBufferN IN BINARY_INTEGER,
   pFilename IN VARCHAR2)
RETURN BINARY_INTEGER;
END OraWinProfile;

PL/SQLパッケージ本体:

PACKAGE BODY OraWindProfile IS
lh_window	ora_ffi.libHandleType;
lh_forms	ora_ffi.libHandleType;
fh_wpps	ora_ffi.funcHandleType;
fh_gpps	ora_ffi.funcHandleType;

/*
icd_wpps function acts as the interface to the
WritePrivateString function in Windows
*/
FUNCTION icd_wpps(funcHandle IN ora_ffi.funcHandleType,
   pSection IN OUT VARCHAR2,
   pEntry IN OUT VARCHAR2,
   pString IN OUT VARCHAR2,
   pFilename IN OUT VARCHAR2)
RETURN BINARY_INTEGER;
PRAGMA interface(c,icd_wpps,11265);

/*
icd_gpps function acts as the interface to the
GetPrivateString function in windows
*/
FUNCTION icd_gpps(funcHandle IN ora_ffi.funcHandleType,
   pSection IN OUT VARCHAR2,
   pEntry IN OUT VARCHAR2,
   pDefault IN OUT VARCHAR2,
   pReturnBuffer IN OUT VARCHAR2,
   pRetrunBufferN IN BINARY_INTEGER,
   pFilename IN OUT VARCHAR2)
RETURN BINARY_INTEGER;
PRAGMA(c,icd_gpps,11265);

FUNCTION WritePrivateString(pSection IN VARCHAR2,
     pEntry IN VARCHAR2,
     pString IN VARCHAR2,
     pFilename IN VARCHAR2)
RETURN BOOLEAN IS
/* WritePrivateString calls the Windows function */
/* Make copies of in out arguments */
lSection VARCHAR2(1024) := pSection;
lEntry VARCHAR(1024) := pEntry;
lString VARCHAR2(1024) := pString;
lFilename VARCHAR(1024) := pFilename;

BEGIN
/*
validate arguments--although NULL is a valid argument
for Windows functions, we are going to prohibit this
case because of the format of the string that is
returned
*/
IF (lSection is NULL) OR (lEntry is NULL) OR
   (lString is NULL) OR (lFilename is NULL) THEN
    RAISE VALUE_ERROR;
END IF;
RETURN(icd_wpps(fh_wpps,lSection,lEntry,lString,
lFilename)<>0);
END WritePrivateString;

FUNCTION GetPrivateString(pSection IN VARCHAR2,
   pEntry IN VARCHAR2,
   pDefault IN VARCHAR2,
   pReturnBuffer IN OUT VARCHAR2,
   pReturnBufferN IN BINARY_INTEGER,
   pFilename IN VARCHAR2)
RETURN BINARY_INTEGER IS
/* GetPrivateString calls the Windows function */
/* Make copies of in out arguments */
lSection VARCHAR2(1024) := pSection;
lEntry VARCHAR(1024) := pEntry;
lDefault VARCHAR2(1024) := pDefault;
lFilename VARCHAR(1024) := pFilename;

BEGIN
/*
validate arguments--although NULL is a valid argument for
Windows functions, we are going to prohibit this case
because of the format of the string that is returned
*/
IF (lSection is NULL) OR (lEntry is NULL) OR
   (lDefault is NULL) OR (lFilename is NULL) OR
 	   (pReturnBufferN <= 0) THEN
    RAISE VALUE_ERROR;
END IF;
/* Pad the buffer with spaces */
pReturnBuffer := rpad(' ', pReturnBufferN);
RETURN(icd_gpps(fh_gpps,lSection,lEntry,lDefault,
pReturnBuffer,pReturnBufferN,lFilename));
END GetPrivateString;

BEGIN
/* Declare a library handle to the Windows 386 Kernel */
lh_windows := ora_ffi.load_library(NULL,'krnl386.exe');

/*
Register the components of WritePrivateString
 This is function prototype for WritePrivateProfileString:
 BOOL WritePrivateProfileString(LPCSTR lpszSection,
    LPCSTR lpszEntry,
    LPCSTR lpszString,
    LPCSTR lpszFilename)
*/
fh_wpps := ora_ffi.register_function(lh_windows,
'WritePrivateProfileString',
 ora_ffi.PASCAL_STD);

ora_ffi.register_return(fh_wpps,ORA_FFI.C_SHORT);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_CHAR_PTR);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_CHAR_PTR);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_CHAR_PTR);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_CHAR_PTR);

/*
Register the components of GetPrivateString
This is function prototype for GetPrivateProfileString:
int GetPrivateProfileString(LPCSTR lpszSection,
 LPCSTR lpszEntry,
 LPCSTR lpszDefault,
 LPCSTR lpszReturnBuffer,
 int cbReturnBuffer,
 LPCSTR lpszFilename)
*/
fh_gpps := ora_ffi.register_function(lh_windows,
      'GetPrivateProfileString',
       ora_ffi.PASCAL_STD);
ora_ffi.register_return(fh_gpps,ORA_FFI.C_INT);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_CHAR_PTR);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_CHAR_PTR);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_CHAR_PTR);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_CHAR_PTR);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_INT);
ora_ffi.register_parameter(fh_wpps,ORA_FFI.C_CHAR_PTR);
END OraWinProfile;

次の例は、Form BuilderのPL/SQLインタフェースからWritePrivateProfileStringとGetPrivateProfileStringファンクションを起動する方法です。

DECLARE
tmpb BOOLEAN;
tmpn NUMBER;
buffer VARCHAR(1024) := '';
buffern BINARY_INTEGER := 1024;
BEGIN
tmpb := OraWinProfile.WritePrivateString('Section',
    'Entry',
    'string1',
    'PROFILE.INI');
tmpn := OraWinProfile.GetPrivateString('Section',
  'Entry',
  'Bad Entry',
   buffer,
   buffern,
  'PROFILE.INI');
   MESSAGE(buffer);
END;

OraWinProfileパッケージから、WritePrivateStringとGetPrivateStringファンクションを起動します。PL/SQLコードの例を実行した後、次の2行がPROFILE.INIファイルに追加されます。

[Section]
Entry=String1

WindowsのProfile StringファンクションのWritePrivateStringとGetPrivateStringが、Form Builderの外部からコールされた場合も、同様の結果が得られます。この例からも判るように、様々な外部ファンクションをPL/SQLインタフェースを使用してForm Builder内で起動できます。


PL/SQLインタフェースからMicrosoft Windows SDKへのアクセス

  関連項目

Microsoft Windows Software Developer's Kit（SDK）からのファンクションの多くはPL/SQLインタフェースからアクセス可能です。外部ファンクションへのPL/SQLインタフェースの作成と同じ方法で、Microsoft Windows SDKファンクションへのPL/SQLインタフェースを作成できます。

Microsoft Windows SDKファンクションのパラメータ・タイプおよび戻り値の型は、PL/SQLと等価なデータ型があるものでなくてはなりません。つまり、単純化できない複合データ型は使用できません。複合データ型の単純化の詳細は、PL/SQLインタフェースからの外部ファンクションの起動を参照してください。

単純化できない複合パラメータ・タイプおよび戻りデータ型がある外部ファンクションは、ユーザー・イグジット・インタフェースからのみ起動できます。単純化できない複合パラメータ・データ型の1つとして、ウィンドウ・ハンドルがあります。これは、多くのMicrosoft Windows SDKファンクションで認識されるパラメータ・データ型です。ウィンドウ・ハンドルは、インタフェース・オブジェクトの参照に使用される一意な内部文字定数です。

ウィンドウ・ハンドルを必要とするMicrosoft Windows SDKファンクションは、PL/SQLインタフェースから起動できません。かわりに、ユーザー・イグジット・インタフェースとWindow_Handleプロパティを使用して、必要なパラメータを提供してください。Window_Handleは、Form Builderの項目とウィンドウのプロパティです。

Microsoft Windows SDKファンクション・コールが、複合データ型がない一般的なC言語のファンクション・コールの場合、PL/SQLインタフェースからそのファンクションを起動できます。Microsoft Windows SDKのファンクションは、他の外部ファンクションと同様に、初期化時にライブラリをロードし、ファンクション名および戻り型、パラメータを登録します。Microsoft Windows SDKファンクションへのPL/SQLインタフェースを作成した後、Form BuilderからPL/SQLを使用してWindows SDKファンクションを起動します。


外部ファンクションの例

このセクションでは、外部ファンクションの使用方法を説明するいくつかの例を示します。

1	Microsoft Windows上でのPL/SQLインタフェースの作成する例

2	Windows上でORA_FFIを使用して「ファイルを開く」ダイアログをオープンする例

3	ORA_FFIを使用してSTDIN/STDOUTタイプ・インタフェースとともにUNIX(SUN)の実行プログラムをコールする例


Windows上でORA_FFIを使用して「ファイルを開く」ダイアログをオープンする例

PACKAGE OraDlg IS

FUNCTION OraMultiFileDlg

(Title IN  VARCHAR2,

Filter IN  VARCHAR2,

Dir IN  VARCHAR2,

FileString IN OUT VARCHAR2)

RETURN PLS_INTEGER;

FUNCTION OraSingleFileDlg

(Title IN  VARCHAR2,

Filter IN  VARCHAR2,

Dir IN  VARCHAR2,

FileString IN OUT VARCHAR2)

RETURN PLS_INTEGER;

END OraDlg;

PACKAGE BODY OraDlg IS

lh_ORADLG ora_ffi.libHandleType;

fh_OraMultiFileDlg ora_ffi.funcHandleType;

fh_OraSingleFileDlg ora_ffi.funcHandleType;

FUNCTION i_OraMultiFileDlg

(funcHandle IN ora_ffi.funcHandleType,

Title IN OUT VARCHAR2,

Filter IN OUT VARCHAR2,

Dir IN OUT VARCHAR2,

FileString IN OUT VARCHAR2)

RETURN PLS_INTEGER;

PRAGMA INTERFACE(C,i_OraMultiFileDlg,11265);

FUNCTION OraMultiFileDlg

(Title IN  VARCHAR2,

Filter IN  VARCHAR2,

Dir IN  VARCHAR2,

FileString IN OUT VARCHAR2)

RETURN PLS_INTEGER IS

Title_l VARCHAR2(128)  :=  RPAD(SUBSTR(NVL(Title,'Open'),1,128),128,CHR(0));

Filter_l VARCHAR2(128)  :=  RPAD(SUBSTR(NVL

(Filter,'All Files (*.*)|*.*|'),1,128),128,CHR(0));

Dir_l VARCHAR2(256)  :=  RPAD(SUBSTR(NVL(Dir,' '),1,256),256,CHR(0));

FileString_l VARCHAR2(2000)  :=  RPAD(SUBSTR(NVL(FileString,' '),1,2000),2000,CHR(0));

rc PLS_INTEGER;

BEGIN

rc  := i_OraMultiFileDlg(fh_OraMultiFileDlg,

Title_l,

Filter_l,

Dir_l,

FileString_l);

FileString := FileString_l;

RETURN (rc);

END;

FUNCTION i_OraSingleFileDlg

(funcHandle IN ora_ffi.funcHandleType,

Title IN OUT VARCHAR2,

Filter IN OUT VARCHAR2,

Dir IN OUT VARCHAR2,

FileString IN OUT VARCHAR2)

RETURN PLS_INTEGER;

PRAGMA INTERFACE(C,i_OraSingleFileDlg,11265);

FUNCTION OraSingleFileDlg

(Title IN  VARCHAR2,

Filter IN  VARCHAR2,

Dir IN  VARCHAR2,

FileString IN OUT VARCHAR2)

RETURN PLS_INTEGER IS

Title_l VARCHAR2(128)  :=  RPAD(SUBSTR(NVL(Title,'Open'),1,128),128,CHR(0));

Filter_l VARCHAR2(128)  :=  RPAD(SUBSTR(NVL

(Filter,'All Files (*.*)|*.*|'),1,128),128,CHR(0));

Dir_l VARCHAR2(256)  :=  RPAD(SUBSTR(NVL(Dir,' '),1,256),256,CHR(0));

FileString_l VARCHAR2(2000)  :=  RPAD(SUBSTR(NVL(FileString,' '),1,2000),2000,CHR(0));

rc PLS_INTEGER;

BEGIN

rc  := i_OraSingleFileDlg(fh_OraSingleFileDlg,

Title_l,

Filter_l,

Dir_l,

FileString_l);

FileString := FileString_l;

RETURN (rc);

END;

BEGIN

BEGIN

lh_ORADLG := ora_ffi.find_library('ORADLG.DLL');

EXCEPTION WHEN ora_ffi.FFI_ERROR THEN

lh_ORADLG := ora_ffi.load_library(NULL,'ORADLG.DLL');

END;

fh_OraMultiFileDlg := ora_ffi.register_function

(lh_ORADLG,'OraMultiFileDlg',ora_ffi.PASCAL_STD);

ora_ffi.register_parameter(fh_OraMultiFileDlg,ORA_FFI.C_CHAR_PTR);

ora_ffi.register_parameter(fh_OraMultiFileDlg,ORA_FFI.C_CHAR_PTR);

ora_ffi.register_parameter(fh_OraMultiFileDlg,ORA_FFI.C_CHAR_PTR);

ora_ffi.register_parameter(fh_OraMultiFileDlg,ORA_FFI.C_CHAR_PTR);

ora_ffi.register_return(fh_OraMultiFileDlg,ORA_FFI.C_LONG);

fh_OraSingleFileDlg := ora_ffi.register_function

(lh_ORADLG,'OraSingleFileDlg',ora_ffi.PASCAL_STD);

ora_ffi.register_parameter(fh_OraSingleFileDlg,ORA_FFI.C_CHAR_PTR);

ora_ffi.register_parameter(fh_OraSingleFileDlg,ORA_FFI.C_CHAR_PTR);

ora_ffi.register_parameter(fh_OraSingleFileDlg,ORA_FFI.C_CHAR_PTR);

ora_ffi.register_parameter(fh_OraSingleFileDlg,ORA_FFI.C_CHAR_PTR);

ora_ffi.register_return(fh_OraSingleFileDlg,ORA_FFI.C_LONG);

END OraDlg;


ORA_FFIを使用してSTDIN/STDOUTタイプ・インタフェースとともにUNIX（SUN）の実行プログラムをコールする例

/* Copyright (c) 1997 by Oracle Corporation */

/*

NAME

ora_pipe_io_spec.sql - Specification for access to Unix Pipe mechanism

DESCRIPTION

Demonstration of how to use the ORA_FFI Package to provide access to the

Unix Pipe C functions.

PUBLIC FUNCTION(S)

popen    - Open the Pipe command

get_line - Get a line of Text from a Pipe

put_line - Put a line of Text into a Pipe

pclose   - Close the Pipe

is_open  - Determine whether the Pipe descriptor is open.

NOTES

In Order to use these routines you could write  the following

PL/SQL Code:

-- Example of Calls to ora_pipe_io functions

DECLARE

stream ora_pipe_io.PIPE;

buffer VARCHAR2(240);

BEGIN

stream := ora_pipe_io.popen('ls -l', ora_pipe_io.READ_MODE);

loop

exit when not ora_pipe_io.get_line(stream, buffer, 240);

:directory.file := buffer;

down;

end loop;

ora_pipe_io.pclose(stream);

END;

MODIFIED   (MM/DD/YY)

smclark    08/05/94 -  Creation

*/

PACKAGE ora_pipe_io is

    /*

** Arguments to popen.

    */

READ_MODE constant VARCHAR2(1) := 'r';

WRITE_MODE constant VARCHAR2(1) := 'w';

/* ------------- TYPE PIPE ----------- */

    /*

** Public Type PIPE - Handle to a Un*x pipe

    **

** Do not modify the private members of this type

    */

TYPE PIPE is RECORD

(file_handle ORA_FFI.POINTERTYPE,

is_open boolean,

read_write_mode VARCHAR2(1));

/* ------------ FUNCTION POPEN ----------- */

    /*

** Function POPEN -- Open a Un*x pipe command

    **

** Given a Unix command to execute and a Pipe read/write mode in which

** to execute the instruction this Function will execute the Command

** and return a handle, of type PIPE, to the resulting Input/Output

** stream.

    **

** The command to be executed is limited to 1024 characters.

    */

FUNCTION popen(command in VARCHAR2,

ctype in VARCHAR2)

RETURN PIPE;

/* ------------ PROCEDURE PCLOSE ----------- */

    /*

** Procedure PCLOSE -- Close a pipe

    **

** Close a previously opened pipe.

    **

** Raises a VALUE_ERROR exception if incorrect arguments are passed.

    */

PROCEDURE pclose(stream in out PIPE);

/* ------------ FUNCTION GET_LINE ----------- */

    /*

** Function GET_LINE

** -- Get a line of text into a buffer from the read mode pipe.

    **

** Get a line of text from a previously opened pipe.

    **

** Raises a VALUE_ERROR exception if incorrect arguments are passed.

** For example

** if you pass a pipe which has never been opened (using popen)

    */

FUNCTION get_line(stream in out PIPE,

s in out VARCHAR2,

n in PLS_INTEGER)

RETURN BOOLEAN;

/* ------------ PROCEDURE PUT_LINE ----------- */

    /*

** Procedure PUT_LINE -- Put a line of text into a a write mode pipe.

    **

** Put a line of text into a previously opened pipe.

    **

** Raises a VALUE_ERROR exception if incorrect arguments are passed.

** For example

** if you pass a pipe which has never been opened (using popen)

    **

** The Internal buffer for the string to write is limited to 2048 bytes

    */

PROCEDURE put_line(stream in out PIPE,

s in VARCHAR2);

/* ------------ FUNCTION IS_OPEN ----------- */

    /*

** Function IS_OPEN -- Determines whether a pipe is open.

    **

** Returns TRUE if the pipe is open, FALSE if the pipe is closed.

    */

FUNCTION is_open(stream in PIPE)

RETURN BOOLEAN;

END;

/*    ora_pipe_io_body.sql - Body of Package for access to Unix Pipe mechanism

DESCRIPTION

Demonstration of how to use the ORA_FFI Package to provide access to the

Unix Pipe C functions.

PUBLIC FUNCTION(S)

popen    - Open the Pipe command

get_line - Get a line of Text from a Pipe

put_line - Put a line of Text into a Pipe

pclose   - Close the Pipe

is_open  - Determine whether the Pipe descriptor is open.

PRIVATE FUNCTION(S)

icd_popen, icd_fgets, icd_fputs, icd_pclose

NOTES

MODIFIED   (MM/DD/YY)

smclark    11/02/94 -  Modified for production release changes to ORA_FFI.

smclark    08/05/94 -  Creation

*/

PACKAGE BODY ora_pipe_io is

lh_libc   ora_ffi.libHandleType;

fh_popen  ora_ffi.funcHandleType;

fh_pclose ora_ffi.funcHandleType;

fh_fgets  ora_ffi.funcHandleType;

fh_fputs  ora_ffi.funcHandleType;

/* ------------ FUNCTION ICD_POPEN ----------- */

    /*

** Function ICD_POPEN -- Interface routine to C function popen

    **

** This function acts as the interface to the popen function in

** libc.

    */

FUNCTION icd_popen(funcHandle in ora_ffi.funcHandleType,

command in out VARCHAR2,

ctype in out VARCHAR2)

return ORA_FFI.POINTERTYPE;

pragma interface(c, icd_popen, 11265);

/* ------------ PROCEDURE ICD_PCLOSE ----------- */

    /*

** Function ICD_PCLOSE -- Interface routine to C function pclose

    **

** This function acts as the interface to the pclose function in

** libc.

    */

PROCEDURE icd_pclose(funcHandle in ora_ffi.funcHandleType,

stream in out ORA_FFI.POINTERTYPE);

pragma interface(c, icd_pclose, 11265);

/* ------------ FUNCTION ICD_FGETS ----------- */

    /*

** Function ICD_FGETS -- Interface routine to C function fgets

    **

** This function acts as the interface to the fgets function in

** libc.

    */

FUNCTION icd_fgets(funcHandle in ora_ffi.funcHandleType,

s in out VARCHAR2, n in PLS_INTEGER,

stream in out ORA_FFI.POINTERTYPE)

RETURN ORA_FFI.POINTERTYPE;

pragma interface(c, icd_fgets, 11265);

/* ------------ FUNCTION ICD_FPUTS ----------- */

    /*

** Function ICD_FPUTS -- Interface routine to C function fputs

    **

** This function acts as the interface to the fputs function in

** libc.

    */

PROCEDURE icd_fputs(funcHandle in ora_ffi.funcHandleType,

s in out VARCHAR2,

stream in out ORA_FFI.POINTERTYPE);

pragma interface(c, icd_fputs, 11265);

/* ------------ FUNCTION POPEN ----------- */

    /*

** Function POPEN -- Open a Un*x pipe command

    */

FUNCTION popen(command in VARCHAR2,

ctype in VARCHAR2)

RETURN PIPE is

        /*

** Take a copy of the arguments because we need to pass them

** IN OUT to icd_popen, but we really don't want people to have

** to call our routines in the same way.

        */

cmd varchar2(1024) := command;

cmode varchar2(1) := ctype;

stream PIPE;

BEGIN

if (cmode not in (READ_MODE, WRITE_MODE))

or (cmode is NULL)

or (cmd is NULL)

then

raise VALUE_ERROR;

end if;

stream.file_handle := icd_popen(fh_popen, cmd, cmode);

stream.is_open := TRUE;

stream.read_write_mode := ctype;

return(stream);

END popen;

/* ------------ PROCEDURE PCLOSE ----------- */

    /*

** Procedure PCLOSE -- Close a pipe

    */

PROCEDURE pclose(stream in out PIPE) is

BEGIN

icd_pclose(fh_pclose, stream.file_handle);

stream.is_open := FALSE;

END pclose;

/* ------------ FUNCTION GET_LINE ----------- */

    /*

** Function GET_LINE -- Get a line of text into a buffer

** from the read mode pipe.

    */

FUNCTION get_line(stream in out PIPE,

s in out VARCHAR2, n in PLS_INTEGER)

RETURN BOOLEAN is

buffer ORA_FFI.POINTERTYPE;

BEGIN

if (n <= 0)

or (stream.is_open = FALSE)

or (stream.is_open is NULL)

or (stream.read_write_mode <> READ_MODE)

then

raise VALUE_ERROR;

end if;

        /*

** Initialise the Buffer area to reserve the correct amount of space.

        */

s := rpad(' ', n);

buffer := icd_fgets(fh_fgets, s, n, stream.file_handle);

        /*

** Determine whether a NULL pointer was returned.

        */

return (ora_ffi.is_null_ptr(buffer) = FALSE);

END get_line;

/* ------------ PROCEDURE PUT_LINE ----------- */

    /*

** Procedure PUT_LINE -- Put a line of text into a a write mode pipe.

    */

PROCEDURE put_line(stream in out PIPE,

s in VARCHAR2) is

buffer varchar2(2048) := s;

BEGIN

if (stream.is_open = FALSE)

or (stream.is_open is NULL)

or (stream.read_write_mode <> WRITE_MODE)

then

raise VALUE_ERROR;

end if;

icd_fputs(fh_fputs, buffer, stream.file_handle);

buffer := chr(10);

icd_fputs(fh_fputs, buffer, stream.file_handle);

END put_line;

/* ------------ FUNCTION IS_OPEN ----------- */

    /*

** Function IS_OPEN -- Determines whether a pipe is open.

    */

FUNCTION is_open(stream in PIPE)

RETURN BOOLEAN is

BEGIN

return(stream.is_open);

END is_open;

BEGIN

    /*

** Declare a library handle as libc.(Internal so NULL,NULL)

    */

lh_libc := ora_ffi.load_library(NULL, NULL);

if ora_ffi.is_null_ptr(lh_libc) then

raise VALUE_ERROR;

end if;

    /*

** Register the popen function, it's return type and arguments.

    */

fh_popen := ora_ffi.register_function(lh_libc, 'popen');

if ora_ffi.is_null_ptr(fh_popen) then

raise VALUE_ERROR;

end if;

ora_ffi.register_return(fh_popen, ORA_FFI.C_DVOID_PTR);

ora_ffi.register_parameter(fh_popen, ORA_FFI.C_CHAR_PTR);

ora_ffi.register_parameter(fh_popen, ORA_FFI.C_CHAR_PTR);

    /*

** Register the pclose function, it's return type and arguments.

    */

fh_pclose := ora_ffi.register_function(lh_libc, 'pclose');

if ora_ffi.is_null_ptr(fh_pclose) then

raise VALUE_ERROR;

end if;

ora_ffi.register_return(fh_pclose, ORA_FFI.C_VOID);

ora_ffi.register_parameter(fh_pclose, ORA_FFI.C_DVOID_PTR);

    /*

** Register the fgets function, it's return type and arguments.

    */

fh_fgets := ora_ffi.register_function(lh_libc, 'fgets');

if ora_ffi.is_null_ptr(fh_fgets) then

raise VALUE_ERROR;

end if;

ora_ffi.register_return(fh_fgets, ORA_FFI.C_DVOID_PTR);

ora_ffi.register_parameter(fh_fgets, ORA_FFI.C_CHAR_PTR);

ora_ffi.register_parameter(fh_fgets, ORA_FFI.C_INT);

ora_ffi.register_parameter(fh_fgets, ORA_FFI.C_DVOID_PTR);

    /*

** Register the fputs function, it's return type and arguments.

    */

fh_fputs := ora_ffi.register_function(lh_libc, 'fputs');

if ora_ffi.is_null_ptr(fh_fputs) then

raise VALUE_ERROR;

end if;

ora_ffi.register_return(fh_fputs, ORA_FFI.C_VOID);

ora_ffi.register_parameter(fh_fputs, ORA_FFI.C_CHAR_PTR);

ora_ffi.register_parameter(fh_fputs, ORA_FFI.C_DVOID_PTR);

END ora_pipe_io;


環境変数

  関連項目

CA_GPREFS

CA_UPREFS

CUE_PREFS

DEV2000_PROJECT

DEV2000_SOURCECONTROL

DOC60

FORMS60_DEFAULTFONT

FORMS60_EDITOR

FORMSnn_ERROR_DATE/DATETIME_FORMAT

FORMS60_JAVADIR

FORMS60_MAPPING

FORMS60_OUTPUT

FORMSnn_OUTPUT_DATE/DATETIME_FORMAT

FORMS60_PATH

FORMS60_REPFORMAT

FORMSnn_PLSQLV1_NAME_RESOLUTION

FORMS60_TIMEOUT

FORMSnn_USER_DATE/DATETIME_FORMAT

FORMS60_USEREXITS

GRAPHICS60_PATH

INTERRUPT（DOS SQL*Netユーザーのみ）

LOCAL

NLS_LANG

OleCreateObjPoolInMemory

OleDoNotUpdateLinks

OleUpdateLinksPrompt

ORACLE_HOME

ORACLE_PATH

ORAINFONAV_DOCPATH

REPORTS60_CGIDIAGBODYTAGS

REPORTS60_CGIDIAGHEADTAGS

REPORTS60_CGIHLP

REPORTS60_CGIMAP

REPORTS60_CGINODIAG

REPORTS60_CGIPATHONLYURL

REPORTS60_COOKIE_EXPIRE

REPORTS60_DB_AUTH

REPORTS60_ENCRYPTION_KEY

REPORTS60_OWSDIAGBODYTAGS

REPORTS60_OWSDIAGHEADTAGS

REPORTS60_OWSHELP

REPORTS60_OWSMAP

REPORTS60_OWSNODIAG

REPORTS60_OWSPATHONLYURL

REPORTS60_PATH

REPORTS60_REPORTS_SERVER

REPORTS60_SYS_AUTH

REPORTS60_TERMINAL

REPORTS60_TMP

REPORTS60_USEREXIT

REMOTE

UI_ICON

USERNAME

WIN_REMOTE_SESSIONS

XMITTR（DOSユーザーのみ）


レジストリ（Windows95およびWindows NT）

  環境変数

Oracleインストーラは、レジストリ内に新しいORACLEセクションを作成します。Oracleレジストリには、Oracleホーム・ディレクトリの名前、製品の作業環境ファイルのディレクトリ、ヘルプ・ファイルのディレクトリなどを制御する構成パラメータが入っています。

レジストリの表示と変更

Microsoft Windowsレジストリは、レジストリ・エディタを使用して表示およびオプションの編集ができます。このエディタは、Windowsソフトウェアがインストールされているディレクトリに入っています。エディタを起動するには、「スタート」 [image] 「ファイル名を指定して実行」を選択し、続いてREGEDITと入力し、「OK」をクリックします。

レジストリ・エディタ内で、HKEY_LOCAL_MACHINEノードを拡張し、続いてSOFTWAREノードを拡張します。[ORACLE]キーをクリックし、Oracle構成パラメータを表示させます。

パラメータ名をダブルクリックし「文字列の編集」ダイアログを表示させると、どのパラメータ値でも変更できます。「値」データ・テキスト・ボックス内の値を変更し、「OK」をクリックして新しい値を認めます。


構成パラメータ

  環境変数

Oracleインストーラは、多くのパラメータを自動的に設定します。これらのパラメータはOracle製品が必要とするものもあれば、開発者が製品動作のカスタマイズに使用するものもあります。

必要なパラメータ

この項に挙げているパラメータは、Oracleインストーラにより自動的に設定または削除されます。これらのパラメータは、さまざまなOracle製品が正しく動作するために必要なものです。

注意: この項に挙げられているパラメータの設定は変更しないでください。設定を変更すると、1つ以上のOracle製品が正しく動作しなくなります。

次に挙げているパラメータ内のnnは、製品またはコンポーネントのリリース番号を示します。この番号は、Oracle製品の新しいリリースにアップグレードする際に変わる場合があります。

パラメータ	デフォルト値
BROWSERnn	ORACLE_HOME\BROWSE25
DEnn	ORACLE_HOME\TOOLS\COMMON60
FORMSnn	ORACLE_HOME\FORMS60
GRAPHICSnn	ORACLE_HOME\GRAPH60
MMnn	ORACLE_HOME\TOOLS\COMMON60
OCLnn	ORACLE_HOME\GRAPH60
PROnn	ORACLE_HOME\PRO18
RDBMSnn	ORACLE_HOME\RDBMS73
RWnn	ORACLE_HOME\REPORT60
TKnn	ORACLE_HOME\TOOLS\COMMON60
VGSnn	ORACLE_HOME\TOOLS\COMMON60
カスタマイズできるパラメータ

この項に挙げているパラメータは、Oracle製品のさまざまな面を制御します。これらのパラメータの設定を変更し、製品動作をカスタマイズできます。

この後の項では、Oracleインストーラにより自動的に設定される、各パラメータのデフォルト設定（存在する場合）を挙げています。自動的に設定されないパラメータについても述べられています。設定の有効な値および例の説明も合わせて挙げられています。


CA_GPREFS

デフォルト: ORACLE_HOME

有効な値: 任意のドライブの任意のディレクトリ

例:

CA_GPREFS=C:\orawin95

このパラメータは、グローバル作業環境ファイルCAGPREFS.ORAのディレクトリを指定します。グローバル作業環境は、ネットワーク化されたユーザー間で共有されます。この製品は、CAGPREFS.ORAファイルを探すのに、CA_GPREFSパラメータで指定されるディレクトリの他、現行ディレクトリも検索します。

CAGPREFS.ORAファイルは、Oracleインストーラにより自動的に作成されます。グローバル作業環境を変更するには、「メモ帳」などのテキスト・エディタを使用し、このファイルを直接編集してください。CAGPREFS.ORA内のグローバル作業環境は、ローカル作業環境ファイルCAUPREFS.ORA（パラメータCA_UPREFSにより定義される）で上書きできます。


CA_UPREFS

デフォルト: ORACLE_HOME

有効な値: 任意のドライブの任意のディレクトリ

例:

CA_UPREFS=C:\orawin95

このパラメータは、ユーザー作業環境ファイルCAUPREFS.ORAのディレクトリを指定します。CAUPREFS.ORAファイルは、開発者が「ツール」 [image] 「ツール・オプション」から設定する作業環境をメンテナンスします。製品は、CAUPREFS.ORAファイルを探すために、CA_UPREFSパラメータで指定されているディレクトリの他、現行ディレクトリも検索します。

Oracle製品の中には、作業環境情報をCAUPREFS.ORAファイルに書き込むものもあります。ユーザー作業環境を手動で変更するには、「メモ帳」などのテキスト・エディタを使用しこのファイルを編集します。CAUPREFS.ORAに設定されているユーザー作業環境は、CAGPREFS.ORAファイル（パラメータCA_GPREFSで定義する）内のグローバル作業環境を上書きします。


CUE_PREFS

デフォルト: ORACLE_HOME

有効な値: 任意のドライブの任意のディレクトリ

例:

CUE_PREFS=C:\orawin95

このパラメータは、キュー・カードの作業環境ファイルCUEPREF.RESのディレクトリを指定します。CUEPREF.RESファイルは、「キュー・カード・オプション」ダイアログで設定可能なキューカードの作業環境をメンテナンスします。

作業環境は、アプリケーションを終了するたびにCUEPREF.RESファイルに保存されます。このファイルは、手動では変更できません。


DEV2000_SOURCECONTROL

デフォルト: なし

有効な値: Forms DeveloperまたはReports Developerにどのソース制御システムを使用すべきかを指定するキーワード

例:

DEV2000_SOURCECONTROL=PVCS

このパラメータは、Forms DeveloperまたはReports Developerにどのソース制御システムを使用するかを指定します。現在のところ、ソース制御システムを指定しない、またはこのパラメータを値'PVCS'に設定する、のどちらかを指定できます。ソース制御システムのサポートが追加されると、追加されたソース制御システムのキーワードも指定できるようになります。


DEV2000_PROJECT

デフォルト: なし

有効な値: Forms DeveloperまたはReports Developerで使用するソース制御システムのプロジェクト・ファイルを指定するキーワード

例:

DEV2000_PROJECT=c:\pvcs\project1\project1.cfg

このパラメータは、開発者がDEV2000_SOURCECONTROLパラメータ上で選択したソース制御システムのプロジェクト・ファイルの名前を指定します。


DOC60

デフォルト: Oracle_Home\tools\doc60

有効な値: 任意のドライブの任意のディレクトリ

例:

DOC60=c:\orawin95\tools\doc60

このパラメータは、オンライン・ヘルプ、キュー・カード、クイック・ツアーなど、オンライン・ドキュメント・ファイルのディレクトリを指定します。


FORMS60_DEFAULTFONT

デフォルト: なし

有効な値: 任意の有効フォントを指定するテキスト文字列

例:

FORMS60_DEFAULTFONT="MS Sans Serif.8"

このパラメータは、Form Builderのレイアウト・エディタ内のボイラープレートに使用するデフォルト・フォントを指定します。


FORMS60_EDITOR

デフォルト: なし

有効な値: システム・エディタの名前とパス

例:

FORMS60_EDITOR=C:\windows\notepad.exe

このパラメータは、デザイナまたはランフォーム・コンポーネント内でForm Builderの複数行の項目が起動できるエディタを定義します。このパラメータが定義されない限り、ユーザー定義のエディタは起動できません。

注意: エディタを終了する際、ファイルは「ASCIIのみ」のファイルとして保存する必要があります。固有のワープロ形式はサポートされていません。


FORMSnn_ERROR_DATE/DATETIME_FORMAT

目的： 次の環境変数は、エンドユーザーが日付または日時項目に無効な値を入力したときに表示されるランタイム・エラー･メッセージを生成するために、Formsが使用する書式マスクを設定します。

デフォルト: ヘルプ・トピック「日付の書式マスク」を参照してください。

有効な値: 任意の有効な日付/日時書式マスク。

例:

FORMS65_ERROR_DATE_FORMAT YYYY/MM/DD


FORMS60_JAVADIR

デフォルト: Oracle_Home\forms60\java

有効な値: Oracle Java実行時環境の名前およびパス

例:

FORMS60_JAVADIR=C:\orant\forms60\java

このパラメータは、Java Beanエリアを使用し、WebベースのフォームをForm Builderからプレビューするのに必要なOracle Java実行時環境ファイルのロケーションを定義します。


FORMS60_MAPPING

デフォルト: なし

有効な値: 一時作業ディレクトリの仮想位置

例:

FORMS60_MAPPING=http://myhost.com/webtemp

Web上でイメージを処理するために、Forms Serverは一時的な圧縮JPEGファイルを送信します。Web Formsアプリケーションでイメージまたはアイコンを使用する場合は、Forms Serverがイメージやその他の作業ファイルに使用する一時ディレクトリと仮想ディレクトリ（例 C:\ORANT\WEBTEMP）を作成する必要があります。また、Forms Serverが動作しているコンピュータ上にFORMS60_OUTPUT環境変数およびFORMS60_MAPPING環境変数を作成する必要もあります。


FORMS60_OUTPUT

デフォルト: なし

有効な値: Formsサーバーが動作しているコンピュータ上の任意のドライブの任意のディレクトリ

例:

FORMS60_OUTPUT=C:\ORANT\WEBTEMP\

Web上でイメージを処理するために、Forms Serverは一時的な圧縮JPEGファイルを送信します。Web Formsアプリケーションでイメージまたはアイコンを使用する場合は、Forms Serverがイメージやその他の作業ファイルに使用する一時ディレクトリ（例 C:\ORANT\WEBTEMP）を作成する必要があります。また、Forms Serverが動作しているコンピュータ上にFORMS60_OUTPUT環境変数およびFORMS60_MAPPING環境変数を作成する必要もあります。


FORMSnn_OUTPUT_DATE/DATETIME_FORMAT

目的： 次の2つの環境変数は、独自のマスクを持たない任意の日付および日時項目で実行時出力操作を行うためにFormsが使用する書式マスクを設定します。

デフォルト: ヘルプ・トピック「日付の書式マスク」を参照してください。

有効な値: 任意の有効な日付/日時書式マスク。

例:

FORMS65_OUTPUT_DATETIME_FORMAT YYYY/MM/DD HH24:MI:SS


FORMS60_PATH

デフォルト: ORACLE_HOME\FORMS60\PLSQLLIB

有効な値: 任意のドライブの任意のディレクトリ

例:

FORMS60_PATH=C:\oracle\apps\forms;C:\myfiles

このパラメータは、Form Builderのランタイム・アプリケーション内で使用するファイルの検索パスを指定します。これには、フォーム・ファイル（.fmx）、メニュー・ファイル（.mmx）、PL/SQLライブラリ（.pll）、アプリケーションが実行時にロードを試みるその他のオブジェクトが含まれます。たとえば、イメージ・ファイルscooter.tifをインポートすると、Form BuilderはそのファイルをFORMS60_PATHで指定されているディレクトリ内で検索します。

FORMS60_PATHは、複数のディレクトリを指定できます。セミコロン（;）を使用して、パス・リスト内のディレクトリ名を区切ってください。


FORMSnn_PLSQLV1_NAME_RESOLUTION

デフォルト:  オフ

有効な値:  オン、オフ

例:

FORMS6i_PLSQLV1_NAME_RESOLUTION=ON

この環境変数を使用すると、ランタイム・プログラム・ユニット名の解決の動作をR4.5とR5以降のバージョン間で選択できます。オンを指定すると、R4.5の動作が選択されます。オフを指定すると（またはこの環境変数を指定しないと）、R5以降の動作が選択されます。

R4.5の動作:

Formsがプログラム・ユニットのコールに出会うと、まず現行Formsまたはメニューのプログラム・ユニットを探し、次に連結されたライブラリを検索します。この動作により、呼び出されるプログラム・ユニットが、コンパイル時に解決されたのと同じプログラム・ユニットではないので、動的名前の解決の簡易なスタイルが得られます。さらに、同じライブラリが複数のFormsに連結される場合には、各Formsは、インスタンシエーション、パッケージ状態、依存関係を含む一意のセットのライブラリ情報を保持します。これは依存関係情報がForms全体にわたって共有されないことを意味します。

R4.5には次の短所があります。

•	Forms全体にわたって情報が共有されません。SHARE_LIBRARY_STATEは効果がありません。

•	実行時間とメモリー使用量が増えます（R5+と比較した場合）。

R5+の動作:

Formsがプログラム・ユニットのコールに出会うと、まず現行Formsまたはメニューのプログラム・ユニットを探し、次に連結されたライブラリを検索します。しかし、同じライブラリが複数のFormsに連結される場合には、各Formsは一意のセットのライブラリ情報を保持しません。その代わりに、プログラム・ユニット・インスタンシエーションはForms全体にわたって共有されます。これは依存関係情報がForms全体にわたって共有できることを意味します。

推奨事項:

前述の短所とこの環境変数が将来のバージョンで必ずサポートされるとは限らないため、R4.5の動作を選択しないようお薦めします。

その代わりに、動的な名前の解決を取得するために、Execute-Triggerビルトインを使用してください。引数が必要な場合はグローバル変数を使用します。


FORMS60_REPFORMAT

デフォルト: なし

有効な値: HTML、PDF

例:

FORMS60_REPFORMAT=HTML

ブラウザを起動して、フォームからRUN_PRODUCTを使用してレポートを実行する場合は、FORMS60_REPFORMAT環境変数を設定する必要があります。このパラメータは、レポートの書式を指定します。


FORMS60_TIMEOUT

デフォルト:   15

有効な値: 1～1440（1日）

例:

FORMS60_OUTPUT=1440

このパラメータは、クライアントとFormsのサーバーとの通信がない場合に、Formsのサーバーのプロセスが終了するまでの経過時間を分単位で指定します。


FORMSnn_USER_DATE/DATETIME_FORMAT

目的: 次の2つの環境変数は、独自のマスクを持たないDATE型およびDATETIME型の項目から値を取り出すためにFormsが実行時に使用する書式マスクを設定します。

デフォルト: ヘルプ・トピック「日付の書式マスク」を参照してください。

有効な値: 任意の有効な日付/日時書式マスク。複数の書式マスクを垂直バーで区切って指定できます。ランタイム項目の変換時には、その変換が正常に終了するまで（または、書式マスクがなくなるまで）書式マスクが指定された順に使用されます。

例:

FORMS65_USER_DATE_FORMAT  FXFMDD-MM-RRRR


FORMS60_USEREXITS

デフォルト: なし

有効な値: （絶対パスおよび）任意のユーザー・イグジット・ダイナミック・リンク・ライブラリ。

このパラメータにより、複数のDLLを定義し、ユーザー・イグジット・インタフェースから起動できる外部ファンクションを含めることができます。FORMS60_USEREXITSパラメータには、セミコロンで区切られた一連のユーザー・インタフェースDLLが入っています。

FORMS60_USEREXITSには、複数のDLLを指定できます。円記号（\）を使用してパス内のディレクトリを指定し、セミコロン（;）を使用してパスごとに区切ってください。

この値を明示的に設定しないと、Form Builderは値をORACLE_HOME\BIN\F45XTB.DLLと断定します。

例:

FORMS60_USEREXITS = C:\mathlib\add.dll;C:\mathlib\mult.dll


GRAPHICS60_PATH

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

GRAPHICS60_PATH=C:\oracle\apps\graphics;C:\myfiles

このパラメータは、Graphics Runtimeアプリケーション内で使用されるファイルの検索パスを指定します。これは、表示ファイル（.ogr）、イメージ、外部問合せおよびアプリケーションが実行時にファイルからロードを試みるその他のオブジェクトを含みます。たとえば、イメージ・ファイルscooter.tifをインポートすると、Graphics Builderはこのファイルを探すためにGRAPHICS60_PATHで指定されているディレクトリを検索します。

GRAPHICS60_PATHには、複数のディレクトリを指定できます。円記号（\）を使用してパス内のディレクトリを指定し、セミコロン（;）を使用してパスごとに区切ってください。


INTERRUPT（DOS SQL*Netユーザーのみ）

デフォルト: なし

有効な値: DOSのCONFIG.ORAファイルで指定されているものと同じ値

このパラメータは、DOSのOracle製品が使用する割込みベクトル・アドレスを指定します。Windows版のDOS SQL*Netドライバを使用する場合は、CONFIG.ORAファイルがDOSのOracleホーム・ディレクトリに入っていることを確認してください。INTERRUPTパラメータがCONFIG.ORA内に設定されている場合は、レジストリ内でこのパラメータを同じ値に設定する必要があります。DOSのCONFIG.ORAファイル内でこの変数が設定されていない場合は、レジストリ内で設定する必要はありません。

注意: QEMM、386MAX、CEMM、EMM386などのサードパーティのメモリー管理製品を使用する場合は、INTERRUPTを103に設定しないでください。この設定が行われると、SQLPMEおよびSQL*Netを起動後、予期しない動作が起きます。


LOCAL

デフォルト: なし

有効な値: データベースの文字列パラメータを含む、任意の有効なSQL*Netドライバ接頭辞。詳細は、『Oracleネットワーク管理者ガイド』を参照してください。

このパラメータは、製品内でのデータベースの接続に通信ドライバを設定しない場合にこの製品が使用する、SQL*Netドライバと完全な接続文字列を指定します。

LOCALパラメータを追加する場合、そのパラメータをファイルの最後に追加しないでください。Oracle製品は、LOCALパラメータが最後のパラメータとして現れる場合、それを認識しません。

注意: Windows版のDOS SQL*Netドライバを使用する場合は、LOCALパラメータがDOSのOracleホーム・ディレクトリのCONFIG.ORAファイルに設定されているかを確認してください。CONFIG.ORA内でLOCALが設定されている場合、同じ値をレジストリ内で設定する必要があります。


NLS_LANG

デフォルト: AMERICAN_AMERICA.WE8ISO8859P1

有効な値: 利用できる値の現行の一覧を、『NLSリファレンス・マニュアル』またはCDの\bonus\nls\nlsd2r1.wriファイルで参照してください。

例:

NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

このパラメータは、メッセージ・ファイルが表示される言語を設定します。NLS_LANGの構文を次に示します。

NLS_LANG=<language>_<territory>.<char_set>

パラメータの内容は次のとおりです。

language	メッセージおよび日と月の名前を表示するための言語とその規約を指定します。
territory	週と日の数を計算するための地域およびその規約を指定します。
char_set	UPPER、LOWERおよびINITCAPファンクションに使用されるキャラクタ・セットと、ORDER BY問合せが使用するソートの型を指定します。この引数は、メッセージの表示に使用するキャラクタ・セットも制御します。


OleCreateObjPoolInMemory

デフォルト:   0

有効な値: 0または1

例:

OleCreateObjPoolInMemory=0

Report Builderでは、このパラメータはOLE2オブジェクト・プールを一時ファイル（0）に作成するか、メモリー（1）に作成するかを指定します。メモリーにプールを作成すると、ディスク・アクセスを減らしパフォーマンスが向上します。OLE2オブジェクトが多いか大きなOLE2オブジェクト（イメージなど）がある場合は、必要なメモリー量が多くなる可能性があります。どれだけのOLE2オブジェクトがあるかを調べるには、繰返し枠内の1つのOLE2ボイラープレート・オブジェクトにOLE2オブジェクトが1つ入っていることを参考にしてください。1つのOLE2フィールドには、フィールドのそれぞれのインスタンスに対しOLE2オブジェクトが1つ入っています。


OleDoNotUpdateLinks

デフォルト:   0

有効な値: 0または1

例:

OleDoNotUpdateLinks=0

Report Builderでは、このパラメータは、レイアウト・エディタがオープンされる場合やレポートが実行される場合、リンクのアップデートを有効（0）または無効（1）にします。リンクされたOLE2オブジェクトには、それらのソース・オブジェクトのキャッシュされたプレゼンテーションが入っています。これらのキャッシュされたプレゼンテーションは、持続したオブジェクト・データに基づく対応するOLE2サーバーにより更新されます。

これらの更新は、リンクの種類に基づき、自動的に、または手動で行われます。キャッシュされたプレゼンテーションの更新はOLE2サーバーの起動を要するため、ソース・オブジェクトが変更されていないことが明らかな場合や、最新の変更を必要としない場合は、更新を無効にしパフォーマンスを向上させることができます。このオプションを指定しない場合も、OLE2オブジェクトが更新される際に表示される標準のダイアログ・ボックスで更新を取り消すことができます。


OleUpdateLinksPrompt

デフォルト:   0

有効な値: 0または1

例:

OleUpdateLinksPrompt=0

Report Builderでは、このパラメータは、リンクしたオブジェクトが見つからない場合にそれを知らせる（0）か知らせない（1）かを指定します。更新時にオブジェクトのソースが見つからない場合ダイアログ・ボックスが表示され、リンク・ソースを再指定するかエラーを無視できます。ダイアログ・ボックスに対応できない場合（レポートを一晩中実行している場合など）、レポートの実行が確実に終了するようにこの確認を無効にできます。


ORACLE_HOME

デフォルト: C:\ORAWIN95

有効な値: 任意のドライブの任意のディレクトリ

例:

ORACLE_HOME=C:\orawin95

このパラメータは、Windows版のOracle製品がインストールされているホーム・ディレクトリを指定します。このディレクトリは、Oracleディレクトリ階層の「トップ」ディレクトリです。

使用上の注意

•	Reports Runtimeを使用している場合は、ORACLE_HOMEとORACLE_PATHで使用できる検索パスの最大長は合計で255文字です。


ORACLE_PATH

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

ORACLE_PATH=C:\oracle\apps\forms;C:\oracle\apps\graphics;
C:\oracle\apps\reports

このパラメータは、Forms Runtime、Graphics RuntimeまたはReports Runtimeにより参照されるファイルの検索パスを指定します。ORACLE_PATHで指定されるディレクトリは、製品固有のパラメータであるFORMS60_PATH、GRAPHICS60_PATHまたはREPORTS60_PATHで指定されるディレクトリの後に検索される点に注意してください。

ORACLE_PATHには、複数のディレクトリを指定できます。セミコロン（;）を使用して、パス・リスト内のディレクトリ名を区切ってください。

使用上の注意

•	Reports Runtimeを使用している場合は、ORACLE_HOMEとORACLE_PATHで使用できる検索パスの最大長は合計で255文字です。


ORAINFONAV_DOCPATH

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

ORAINFONAV_DOCPATH=C:\orawin95\oin

このパラメータは、オンライン・ドキュメントの目次と索引のテーブルのディレクトリを指定します。


REMOTE

デフォルト: なし

有効な値: 任意の有効なSQL*Netドライバ接頭辞およびパラメータ

例:

REMOTE=P:PIPER

このパラメータは、ローカル・データベースを介して接続する場合に使用する、デフォルトのリモートSQL*Netドライバを指定します。このパラメータには、デフォルトのSQL*Netパラメータ（すべてのデータベース文字列）を含めることができます。

この例中のP：は名前付きパイプに対するネットワーク接頭辞、Piperはデータベース名です。

ユーザーがログインを行いREMOTEで指定されたものと一致する明示的なドライバ接頭辞との接続を指定し、SQL*Netパラメータを指定しないと、REMOTEで指定されたパラメータが使用されます。このパラメータによりDBAは、SQL*Netユーザーが接続パラメータを指定する必要がない「通常の」ネットワーク接続を定義できます。このパラメータは、コマンド・ラインでいつでもリセットできます。

注意:Windows版のDOS SQL*Netドライバを使用する場合は、DOSのOracleホーム・ディレクトリに入っているCONFIG.ORAファイルにREMOTEパラメータが設定されているか確認してください。CONFIG.ORAでREMOTEが設定されている場合は、レジストリ内でこのパラメータを同じ値に設定する必要があります。


REPORTS60_CGIDIAGBODYTAGS

Reports Web CGIでは、このパラメータはRWCGI60診断/デバッグ出力で<BODY_>タグとして挿入されるHTMLタグを指定します。たとえば、この環境変数を文字色/背景色とイメージを設定するのに使用することができます。


REPORTS60_CGIDIAGHEADTAGS

Reports Web CGIでは、このパラメータは診断/デバッグ出力のRWCGI60で <HEAD> � </HEAD>タグの間に挿入されるHTMLタグを指定します。たとえば、この環境変数を<TITLE>や<META_>タグを設定するのに使用することができます。


REPORTS60_CGIHLP

Reports Web CGIでは、このパラメータでRWCGI60ヘルプ・ファイルを空の要求で起動したときにナビゲートされるURL/URIを指定します。

http://your_webserver/your_virtual_cgi_dir/rwcgi60.exe?

たとえば、REPORTS60_CGIHLPをhttp://www.yahoo.comに設定すると、指定したWebページが表示され、myhelpfile.htmに設定すると指定したファイルが表示されます。

http://your_webserver/myhelpfile.htm

この変数を定義しない場合は、デフォルトのヘルプ画面が表示されます。


REPORTS60_CGIMAP

Reports Web CGIでは、このパラメータでマップ・ファイル構成が使用される場合に、RWCGI60マップ・ファイルの適切なファイル名および位置を定義します。

c:\orant\report60\mymap.dat


REPORTS60_CGINODIAG

Reports Web CGIでは、このパラメータを定義するとRWCGI60からのすべてのデバッグ/診断出力が使用不可になります。

http://your_webserver/cgi-bin/rwcgi60.exe/help?

使用上の注意

このパラメータは、REPORTS60_CGINODIAGが定義されている場合は使用できません。


REPORTS60_CGIPATHONLYURL

Reports Web CGIでは、このパラメータが定義されている場合（値にかかわらず）、指定されたURLのパス部分にしか戻りません。 たとえば、次のURLに戻るかわりに、

Location: http://your_webserver:port/path

こちらに戻ります。

Location: /Path

この変数は、デフォルトのポートを含む複数のポートを使用するWebサーバーのセットアップに関する問題を解決するのに使用することができます。


REPORTS60_COOKIE_EXPIRE

デフォルト:   30

有効な値: 任意の数（分単位）

例:

REPORTS60_COOKIE_EXPIRE=30

Reports Serverのセキュリティでは、このパラメータはクッキーのアイドル時間（例 REPORTS60_COOKIE_EXPIRE=30）を決定します。クッキーは暗号化されたユーザー名とパスワードをクライアント側で保存します。CGIがクライアントからクッキーを受け取ると、CGIがクッキーに保存された時間と、現在のシステム時間を比較します。

REPORTS60_COOKIE_EXPIREパラメータで指定された時間（例 30分）よりも長い時間が経過している場合は、CGIはクッキーを拒否し、データベース認証フォームとエラー・メッセージをクライアントに返します。レポートを実行するには、ユーザーは再度認証を受けなければなりません。


REPORTS60_DB_AUTH

デフォルト: dbauth.htm

有効な値: 特別な認証アクションを含む、任意のhtmlファイル。デフォルトの状態が望ましい。

例:

REPORTS60_DB_AUTH=dbauth.htm

データベースにログインするのに使用するデータベース認証テンプレートを指定します。


REPORTS60_SYS_AUTH

デフォルト: sysauth.htm

有効な値: 特別な認証アクションを含む、任意のhtmlファイル。デフォルトの状態が望ましい。

例:

REPORTS60_SYS_AUTH=sysauth.htm

アクセスが制限されているReports Serverに対してユーザがレポート要求を実行するときに、ユーザー名とパスワードを認証するのに使用する認証テンプレートを指定します。


REPORTS60_ENCRYPTION_KEY

デフォルト: Reports6.0

有効な値: 任意の暗号キー

例:

REPORTS60_ENCRYPTION_KEY=reports6.0

このパラメータで、ユーザー名とパスワードの暗号化に必要な暗号キーを指定します。


REPORTS60_REPORTS_SERVER

有効な値: 任意のReports Serverサービス・エントリ名

例:

REPORTS60_REPORTS_SERVER=repserver

デフォルトのReports ServerをWeb CartridgeまたはWeb CGI要求に指定します。このパラメータを設定すると、レポート要求でSERVERコマンド･ライン引数を省略し、デフォルト・サーバーを使用してそれらを処理することも、SERVERコマンド･ライン引数を組み込んで、デフォルトより優先させることもできます。


REPORTS60_OWSDIAGBODYTAGS

Reports Webカートリッジでは、このパラメータはRWOWS60診断/デバッグ出力ファイルで<BODY_>タグとして挿入されるHTMLタグを指定します。たとえば、この環境変数を文字や背景の色やイメージなどを指定するのに使用することができます。


REPORTS60_OWSDIAGHEADTAGS

Reports Webカートリッジでは、このパラメータはRWOWS60診断/デバッグ出力ファイルで<HEAD> _</HEAD>タグの間に挿入されるHTMLタグを指定します。たとえば、この環境変数を<TITLE>や<META_>タグなどを指定するのに使用することができます。


REPORTS60_OWSHELP

有効な値:任意のパスとファイル名、またはURL

Reports Web カートリッジでは、このパラメータはRWOWS60ヘルプ・ファイルが空の要求で起動されたときにナビゲートされるURL/URIを指定します。

http://your_webserver/rwows60?

例 このパラメータをhttp://www.yahoo.comに設定すると、Webページが表示され、myhelpfile.htmに設定すると、指定したファイルが表示されます。

http://your_webserver/myhelpfile.htm

このパラメータを定義しない場合は、デフォルトのヘルプ画面が表示されます。


REPORTS60_OWSMAP

Reports Webカートリッジでは、このパラメータはRWOWS60マップ・ファイルの適切なファイル名および位置を指定します（マップ・ファイル構成が使用されている場合）。

C:\ORANT\REPORTS60\MYMAP.DAT


REPORTS60_OWSNODIAG

Reports Webカートリッジでは、このパラメータを定義すると、RWOWS60からのすべてのデバッグ/診断出力が使用不可になります。

http://your_webserver/rwows60/help?

REPORTS60_OWSNODIAGが定義されている場合は、このパラメータを使用することはできません。


REPORTS60_OWSPATHONLYURL

Reports Webカートリッジでは、このパラメータを指定すると（値にかかわらず）、RWOWS60は、レポート出力するHTTPリダイレクションと、RWOWS60が生成する診断出力にURLのパス部分のみを使用します（例 "http://mywebsrv.com:1550/rscache/..."の代わりに"/rscache/..."）。クライアントのブラウザで、レポート出力を検索した後に、"Location"フィールドのオリジナルのURL要求を維持するのに役に立ちます。通常、RWOWS60はURLをレポート出力の場所に置き換えて（例 REPORTS60_WEBLOCで指定されたディレクトリ）、出力されたレポート出力ファイルの名前を、12345679.htmのような意味のない文字列のような形式の名前で表示します。このパラメータを設定することによって、このような"URL の切り替え"を避けることができます。すべてのURLがデフォルトのポート（通常は80）を使用している場合のみ、このパラメータを使用することができます。

しかし、このパラメータを設定する場合の欠点は、メインのレポート出力ファイルに依存している任意の補助ファイル（たとえば画像ファイルなど）をブラウザで検索することができないことです（REPORTS60_WEBLOCで指定した場所に作成はされています）。この問題は、メインのレポート出力ファイルにインクルードしたり、REPORTS60_WEBLOCでRWOWS60実行可能ファイルの場所を、レポート定義の<BASE HREF="...">や<META HREF="...">タグ（メイン・ファイルの場所をフル・パスまたは部分パスで）で指定すると対処できます。

コンピュータ名やIPアドレスのHTTPリダイレクションの依存性を解決するため、REPORTS60_OWSPATHONLYURLを設定すると、1台のコンピュータが複数の異なるIPアドレスを同時に（複数のネットワーク・カードを使用して）持つイントラネットまたはインターネット構成に対処することもできます。


REPORTS60_PATH

デフォルト:ORACLE_HOME\REPORT60\DEMO;ORACLE_HOME\REPORT60\DEMO\BITMAP;ORACLE_HOME\REPORT60\DEMO\REQFILES

有効な値: 任意のドライブの任意のディレクトリ

例:

REPORTS60_PATH=C:\oracle\apps\reports;C:\myfiles

この環境変数は、レポートと、PL/SQLライブラリ、外部問合せ、外部ボイラープレートなどのレポート内で使用する外部オブジェクトの位置を示すのに使用します。この環境変数により、ディレクトリ・パスをハードコード化する必要がなくなり、オペレーティング・システム間で簡単に移植できるレポートを作成することが可能となります。

注意: REPORTSPATHは256文字以内に制限されています。

パスの長さなどのプラットフォーム固有の規則に注意しながら、オペレーティング・システム上の他の環境変数の定義と同じ方法で、REPORTS60_PATHを定義してください。

REPORTS60_PATHを定義する際、ディレクトリ・パスの他、キーワードとなるデータベースを指定できます。この指定は、Report Builderに現在接続しているデータベースを検索するように指示します。

Unixプラットフォームで次のように指定したと仮定します。

setenv REPORTS60_PATH
/home/tkostin/pay:/home/tkostin/receive:DB

Report Builderは、初めにディレクトリ/home/tkostin/payを検索します。探しているファイルが見つからない場合、/home/tkostin/receiveを検索します。それでもファイルが見つからないと、Report Builderセッションを開始したときに接続していたデータベースを検索します。


REPORTS60_TERMINAL

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

REPORTS60_TERMINAL=C:\mytermdefs

この環境変数は、文字モード・レポート内で使用する端末定義の位置を示すのに使用します。この変数に指定するパスは、ORACLE_TERMINAL環境変数よりも優先します。

パスの長さなどのプラットフォーム固有の規則に注意しながら、オペレーティング・システム上の他の環境変数の定義と同じ方法でREPORTS60_TERMINALを定義してください。


REPORTS60_TMP

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

REPORTS60_TMP=C:\tmp

この環境変数は、Report Builderの一時ファイルを格納するディレクトリを設定します。Report Builderは、この目的では1つのディレクトリしか使用しません。 複数のディレクトリを定義しないでください。

パスの長さなどのプラットフォーム固有の規則に注意しながら、ベース・オペレーティング・システム上の他の環境変数の定義と同じ方法でREPORTS60_TMPを定義してください。REPORTS60_TMPを定義しないと、現在使用しているディレクトリがデフォルトで指定されます。


REPORTS60_USEREXIT

デフォルト: なし

有効な値: （絶対パスおよび）任意のユーザー・イグジット・ダイナミック・リンク・ライブラリ

例:

REPORTS60_USEREXIT=C:\mydll.dll;d:\mynew.dll;e:\bin\speed.dll

このパラメータにより、Report Builderおよびその関連する実行可能プログラム（Reports Runtimeなど）が使用する複数のDLLを定義できます。これらのDLLは、Report Builderの実行可能プログラムがコールするように開発者が作成したプログラム・モジュールです。

REPORTS60_USEREXITSには、複数のDLLを指定できます。円記号（\）を使用してパス内のディレクトリを指定し、セミコロン（;）を使用してパスごとに区切ってください。

この値を明示的に指定しないと、Report Builderはシステムのパス変数に従って60xtb32.dllを探します。


UI_ICON

デフォルト: なし

有効な値: 任意のドライブのアクセス可能なディレクトリ

例:

UI_ICON=C:\icon

この環境変数は、レイアウト内のボタンに使用するアイコンを格納するディレクトリを設定します。Report Builderは、この目的では1つのディレクトリしか使用しません。 複数のディレクトリを定義しないでください。

パスの長さのようなプラットフォーム固有の規則に注意しながら、ベース・オペレーティング・システム上の他の環境変数の定義と同じ方法で、UI_ICONを定義してください。


USERNAME

デフォルト: なし

有効な値: （OPS$接頭辞を除く）任意の有効なOracleユーザー名

例:

USERNAME=dsanvita

このパラメータは、デフォルトのログイン・アカウントの変数部分を指定します。USERNAMEパラメータの設定の詳細は、データベースのドキュメントを参照してください。


WIN_REMOTE_SESSIONS

デフォルト: なし

有効な値:   0～33

ログイン時にORA-3100～ORA-3100の範囲のエラーを受け取った場合は、Oracle Serverとの通信バッファを設定するのに十分なリアルモード・メモリーがない可能性があります。NETINIT7.EXEを使用すると、サーバー接続のメモリーを確保しこの問題を解決できます。

このパラメータは、NETINIT7がメモリーを確保する、リモート・サーバーへの接続数を設定します。WIN_REMOTE_SESSIONSパラメータを設定する際、次の規則に注意してください。

•	WIN_REMOTE_SESSIONSを0に設定すると、NETINIT7はリモート・サーバー接続に対しメモリーを確保しません。

•	WIN_REMOTE_SESSIONSを1～33の値に設定すると、指定した接続数に必要なメモリーを確保します。NETINIT7は、各リモート・サーバー接続に対し12KBのリアルモード・メモリーを確保します。

•	WIN_REMOTE_SESSIONSの推奨されるデフォルト値は5。 WIN_REMOTE_SESSIONSを5に設定すると、複数の製品を実行するのに十分なセッションを作成できます。

•	WIN_REMOTE_SESSIONSパラメータを追加しないと、NETINIT7は1つのリモート・サーバー接続に必要なメモリーを確保します。

NETINIT7を使用する場合、次に示すステップを行ってください。

1	WIN_REMOTE_SESSIONSパラメータを追加し、セッション数を設定します。

2	Oracleプログラム・グループ内でNETINIT7アイコンを作成します（アイコンの作成の詳細は、Microsoft Windowsの文書を参照）。Windowsの「アイコンのプロパティ」ダイアログ・ボックスの「コマンド・ライン」フィールドで次のパスを入力します。

ORACLE_HOME\bin\netinit7.exe

3	Oracleプログラム・グループ内のアイコンをダブルクリックし、NETINIT7を起動します。NETINIT7は、必ず製品を起動する前に起動してください。Windowsの起動時にNETINIT7を自動的に実行したい場合は、「Windows起動」プログラム・グループにNETINIT7アイコンを含めてください。

NETINIT7は、設定された数のサーバー接続に必要な実メモリーの確保を試みます。必要なメモリーを割り当てられないと、NETINIT7は警告メッセージを表示し、メモリーを割り当てた実際のセッション数を示します。

メモリーを割り当てた後、NETINIT7のサイズは最小化されます。NETINIT7を復元すると、設定されているセッションの合計数と使用されているメモリーの合計容量が表示されます。NETINIT7をクローズすると、使用されていないすべてのセッション・メモリーが解放されます。アプリケーションでセッション・メモリーがまだ使用されている場合は、NETINIT7はセッション・メモリーが解放される前にアプリケーションのログオフが必要なことを知らせます。

注意: NETINIT7の前にこの製品を起動すると、製品はNETINIT7が認識しないそれ自身のセッション・メモリーを割り当てます。NETINIT7は、起動した製品によりすでに割り当てられているメモリーに加えて設定されているセッション・メモリーを割り当てようとします。


XMITTR（DOSユーザーのみ）

デフォルト: なし

有効な値: DOSのCONFIG.ORAファイルで指定されているものと同じ値

このパラメータは、Oracle DOSのプロテクト・モードの実行可能プログラムのユーザーにのみ適用されます。DOSのOracleホーム・ディレクトリに入っているCONFIG.ORAファイルを確認してください。CONFIG.ORAにXMMITRパラメータが設定されている場合、レジストリ内でこのパラメータを同じ値に設定する必要があります。DOSのCONFIG.ORAファイル内でこの変数が設定されていない場合は、レジストリ内で設定する必要はありません。

拡張メモリー・マネージャの割込みベクトル（Extended Memory Manager Interrupt Vector:XMMITR）は、拡張メモリー・マネージャ、モード遷移ドライバXMMおよびMTD割込みサービスのエントリ・ポイントに使用される割込みベクトルを示す変数です。異なるベクトルを設定するには、新しいベクトルを10進数として表現します。XMMITRは、システム内の別のプログラムが割込みの100（10進）または64（16進）を使用する必要がある場合のみ使用してください。

注意: QEMM、386MAX、CEMM、EMM386などのサードパーティのメモリー管理製品を使用する場合は、XMMITRを103に設定しないでください。この設定が行われると、SQLPMEおよびSQL*Netのロード後、予期しない動作が起きます。


Form Builderリソース・ファイルについて

  関連項目

リソースとは関連データを収集したものです。Oracle端末を活用してアプリケーションを構築すると、その動作および外観に対してリソースを組み込むことができます。特に、Form Builderリソース・ファイルを利用すると、Form Builderでの設計時および実行時における属性およびキー・バインディングを定義することができます。

Oracle端末を使用して、プラットフォームのForm Builderリソース・ファイルを編集すると、次のことができます。

•	キー・バインディング定義による、キー順序と、アプリケーション・ファンクションの関連付け

•	キー・バインディング定義による、キー順序と、Form Builderキー・トリガーの関連付け

•	Form Builder固有の要素の表示外観（フォント、パターン、カラーなど）の変更

注意:リソース・ファイル名は、プラットフォーム固有です。Microsoft Windowsで、Form Builderアプリケーションのルック・アンド・フィールは、リソース・ファイルFMRUSW.RESによって定義されます。


Oracle端末を使用したForm Builderのキー・マッピングの再マップについて

  関連項目

リソース・ファイルは、キー・バインディングとして知られているものを使用して、アプリケーション・ファンクションと、特定キーを関連付けます。

キー・バインディングは、特定のキーと、アプリケーション・ファンクションを関連付けます。キーとファンクションをバインドする場合、プログラムは、ユーザーがそのキーを入力すると、そのファンクションを実行します。

キー・バインディングを定義すると、さまざまなキーボードを使用しても、アプリケーションに同一の振る舞いを行わせることができます。

インスタンスによっては、特定のForm Builderファンクションにユーザー自身のキー・マッピングを定義したい場合があります。たとえば、Microsoft Windows上で、[キー一覧]に対するデフォルトのキー・マッピングは[Ctrl]+[F1]です。Oracle端末を使用して、[キー一覧]機能を[Ctrl]+[F2]または何か他の希望するマッピングに変更することが可能です。

Key-FnまたはKey-Otherトリガーを作成するときは、Oracle端末を使用してKey-FnまたはKey-Otherファンクションにキーを関連付ける必要があります。トリガーのキー・バインディングを作成すると、オペレータがトリガーに関連付けられたキー順序を押したときに、トリガーが起動するようになります。

Oracle端末を使用して作成するキー・バインディングは、オペレータが「キー一覧」ファンクションを起動すると、自動的に「キー一覧」ウィンドウに表示されます。

注意:キー・バインディングは一意である必要があります。キー・バインディングを定義するときは、それを各バインド項目と照合し、他と重複していないことを確認してください。

また、複数のキー・バインディングを持つファンクションもあります。

たとえば、[アクセプト]はそのコンテキストに応じて[F10]と[Return]の両方のキーにマップされます。したがって、キーの順序をファンクションに一貫してバインドするためには、インスタンスごとにキー・バインディングを変更しなければなりません。

動作環境によっては、一部のキーを再マップできないことがあります。たとえば、Microsoft Windowsでは、一部のキーがWindowsキーボード・デバイス・ドライバで定義されているため、Oracle端末で再マップすることができません。[Alt]-[F4]（ウィンドウのクローズ）や[F1]（ヘルプ）など、Windowsに不可欠なキーの組合せは再マップできません。また、一般に"拡張"キーボードの一部になっているキーも再マップできません。たとえば、テン・キー、灰色の矢印キーと編集キー、[Print Screen]、[Scroll Lock]、[Pause]などが挙げられます。

Oracleでは、これらのキーのうち[F0]から[F9]の再マップのみをサポートしています。


Form Builderキー・バインディングの再マップ

  関連項目

Form Builderキー・バインディングを再マップするには:

1	Oracle端末を起動します。

2	該当するForm Builderリソース・ファイルをオープンします（Microsoft Windowsでは、FMRUSW.RESをオープンします）。

注意:Form Builderリソース・ファイルを変更する前に、バックアップ・コピーを作成する必要があります。

3	「ファンクション」 [image] 「キー編集」を選択します。

キー・バインディング・エディタが表示され、項目別にForm Builderキー・バインディングがリストされます。

4	「カテゴリ」をダブルクリックし、希望する「アクション」と「バインディング」を変更します。

たとえば[キー一覧]に対するキー・マッピングを変更するには、「windows-sqlforms」をダブルクリックし、「キー一覧」に対するキー・バインディングを変更して、次に「OK」をクリックします。

5	変更を保存するには、「ファイル」 [image] 「保存」を選択します。

6	変更を生成して新規リソース・ファイルを作成するには、「ファンクション」 [image] 「生成」を選択します。すると、キー・バインディングに割り当てた変更をシステムに組み込みます。

リソース・ファイルが正常に生成されたことを知らせる警告が表示されます。警告を受入れます。

7	12.変更を新規なリソース・ファイルに保存するには、「ファイル」 [image] 「保存」を選択します。

8	新規キー・バインディングを使用するには、Form Builderを実行します。


キー・トリガーのキー・バインディングの作成

  関連項目

キー・トリガーのキー・バインディングを作成するには

1	Form Builderでは、Key-FnまたはKey-Otherトリガーを作成します。

2	Oracle端末を使用して、該当するForm Builderリソース・ファイルをオープンします（Microsoft Windowsでは、FMRUSW.RESをオープンします）。

3	キー・バインディング・エディタを起動するには、「ファンクション」 [image] 「キー編集」を選択します。

4	キー・バインディング・エディタでは、「windows-sqlforms」をダブルクリックして、「キー・バインディング定義」ウィンドウを起動します。

5	「行を挿入」ボタンをクリックして、Key-FnまたはKey-Otherトリガーに対応するアクションを入力します。（下のチャートはMicrosoft Windowsにのみ適用されます。）

Key-Fnトリガー	MicrosoftW アクション	MicrosoftW コード
KEY-F0	ユーザー定義のキー0	82
KEY-F1	ユーザー定義のキー1	83
KEY-F2	ユーザー定義のキー2	84
KEY-F3	ユーザー定義のキー3	85
KEY-F4	ユーザー定義のキー4	86
KEY-F5	ユーザー定義のキー5	87
KEY-F6	ユーザー定義のキー6	88
KEY-F7	ユーザー定義のキー7	89
KEY-F8	ユーザー定義のキー8	90
KEY-F9	ユーザー定義のキー9	91
たとえば、Key-F3トリガーを作成した場合は、「アクション」フィールドに

User Defined Key 3

と入力します。

6	Key-Fnトリガーのキー・バインディングを指定するには、「OK」をクリックします。

たとえば、次のように入力できます。

アクション	バインディング
ユーザー定義のキー3	[Ctrl]+[F2]
7	「プロダクト･アクション」をクリックして、「プロダクト・アクション・エディタ」を起動します。

8	「sqlforms項目」をダブルクリックします。

9	「行挿入」ボタンをクリックして、Key-Fnトリガーに対するアクション、コード、そして記述を入力し、次に「OK」をクリックします。

たとえば、「ヘルプ・システム」を起動するKey-F3トリガーを作成する場合、Microsoft Windowsに次を入力します。

アクション	コード	説明
ユーザー定義のキー3	85	[ヘルプ・システム]
10	 それぞれに「OK」をクリックして「プロダクト・アクション・エディタ」と「キー・バインディング・エディタ」を閉じます。次に、「ファイル」 [image] 「保存」を選択します。

11	 変更を生成して、新規リソース・ファイルを作成するには、「ファンクション」 [image] 「生成」を選択します。すると、追加した内容がシステムに組み込まれます。

12	 変更を新規なリソース・ファイルに保存するには、「ファイル」 [image] 「保存」を選択します。

13	 （オプション）Form Builder内で、トリガーのキー・バインディングを「Show Keys」ウィンドウに表示する場合は、キー・トリガーの「キーボード・ヘルプ・テキスト」プロパティを「True」に設定します。


Form Builder論理属性変更のためのOracle端末使用について

  関連項目

Form Builderでデフォルトおよび名前付き可視属性を設定することに加えて、Form Builderリソース・ファイルを変更すると、Form Builderアプリケーションの外観（論理属性）も変更できます。

Form Builder論理属性は、文字モード（cm_logicals）およびGUI（forms_logicals）の2つのグループで編成されます。

注意:Oracle端末を使用して定義できるGUI論理属性の数は制限されているので、Form Builderを使用してForm Builderリソース・ファイルを変更するよりもむしろ、Form Builderを使用して希望するGUI要素に対する名前付き可視属性を作成する必要があります。

属性の順序について

Form Builderリソース・ファイルを編集するのではなく、文字モードのフォントおよびカラー属性、またはfield-current、field-non-current、pushbuttoncurrent、field-queryableなどのGUI論理属性を指定します。

Form Builderリソース・ファイルを変更するほかにも、Form Builderオブジェクトの画面属性を設定する方法がいくつかあります。方法を次に示します。

•	Form Builderのデフォルトの属性を指定します。

•	カスタム可視属性を定義します。

•	Oracle端末を使用して、論理属性を定義します。

•	ユーザーのウィンドウ・マネージャを使用して、画面属性を定義します。

多くの場合、選択した方法によっては、上位レベルで定義された属性を上書きする属性を作成できます。

オブジェクト属性を定義しているとき、属性優先順位に関する次のルールを考慮します。

1	ウィンドウ・マネージャ（最下位レベル）

ウィンドウ・マネージャ定義は、Oracle端末定義およびForm Builderで定義された可視属性、ローカル環境変数定義（登録、CONFIG.ORAなど）、デフォルトのForm Builder属性よりも優先されます。

たとえば、Microsoft Windowsのボタンのカラー属性は、Windowsによってのみ処理されます。ユーザーが作成する、Form Builderのボタンに適用させるカラー属性は、Windowsのボタンには影響しません。

Microsoft Windows環境で、ボタンのカラー属性を変更するには、Microsoft Windowsコントロール・パネル機能を使用します。

2	Oracle端末定義

Oracle端末定義は、Form Builderで定義された可視属性およびローカル環境変数定義、デフォルトのForm Builder属性より優先されます。

たとえば、テキスト項目がグレーで表示されるように、フォームのテキスト項目にカスタム可視属性を作成するとします。また、Oracle端末を使用して、問合せ可能項目をすべてシアンで表示されるように定義するとします。この場合、フォームを実行すると、テキスト項目はすべてグレーで表示されますが、「問合せ入力」モードを起動すると、テキスト項目はシアンで表示されます。

この例では、Oracle端末定義が上位レベル属性（設計時に作成したカスタム可視属性）に優先し、上書きします。

3	Form Builder内で作成される可視属性

Form Builderが作成した可視属性は、ローカル環境変数定義（登録、CONFIG.ORAなど）およびデフォルトのForm Builder属性に優先します。

たとえば、名前付き可視属性を作成して、フォームのテキスト項目に適用するとします。さらに、項目ラベルが10ポイントの「Courier」で表示されるように、登録（またはCONFIG.INI）でローカル環境変数FORMS60_DEFAULTFONTを定義するとします。

実行時に、ユーザーの名前付き可視属性が優先し、Form Builderは、名前付き可視属性で定義されたプロパティに応じてすべてのテキスト項目を表示します。

4	ローカル環境変数定義

ローカル環境変数定義（登録、CONFIG.ORAなど）は、デフォルトのForm Builder属性に優先します。

たとえば、登録ファイルを編集して、デフォルトのフォント(FORMS60_DEFAULTFONT)を10ポイントのクーリエとして定義すると、Form Builderは項目ラベルを10ポイントの「Courier」として表示します。

この例では、登録されたデフォルトのフォントが優先し、項目のデフォルト・フォント属性を上書きします。

5	Form Builderのデフォルト属性（最高位レベル）

Form Builderはデフォルト属性を各オブジェクトに適用します。実行時に、Form Builderは特定オブジェクトの特定カラーおよびパターン、フォント特性を調べてから、そのデフォルト属性でそれを表示します。


FormBuilder論理属性変更

  関連項目

Form Builder論理属性を変更するには:

1	Oracle端末を起動します。

2	Oracle端末を使用して、該当するForm Builderリソース・ファイルをオープンします（Microsoft Windowsでは、FMRUSW.RESをオープンします）。

3	「ファンクション」 [image] 「属性の編集」を選択します。

4	「属性リスト」ドロップダウン・リストからcm_logicalsまたはforms_logicalsを選択します。


「属性ノードを編集」オプションについて

「属性ノードを編集」ウィンドウは、論理属性のフォントおよびカラー要素を定義するために、次のオプションを指定できます。

フォント属性

フォント属性には、次のものが含まれます。

•	フォント

•	サイズ

•	スタイル

•	太さ

•	幅

実行時に、Form Builderはこれらの設定をウィンドウ・マネージャに渡します。指定するフォントがランタイム・オペレーティング・システムで使用できないと、Form Builderは、指定されたフォントの特性にほとんど一致するフォントを使用します。

カラー属性と塗りパターン属性

カスタムまたは名前付き可視属性定義で次のカラーおよびパターン属性を設定できます。

フォアグラウンド・カラーとバックグラウンド・カラー カラーはオブジェクトに対して、フォアグラウンド・レイヤとバックグラウンド・レイヤで適用されます。フォアグラウンドおよびバックグラウンド・カラー属性を設定して、各レイヤーのカラーを指定します。

パターン  パターン属性を、ご使用のシステム上で有効な定義済みの任意のパターンに設定します。パターンは名前で識別されます。たとえば、thinline45と命名されたパターンは、ソリッド・バックグラウンドで細い斜線のパターンです。

塗りパターンによる、カラー属性への影響

Form Builderでは、ユーザーがフォアグラウンド・カラーとバックグラウンド・カラーを選択した後に塗りパターン・パレットに表示されるとおりに、選択されたパターンをオブジェクトに適用されるフォアグラウンド・カラーとバックグラウンド・カラーでレンダリングします。

•	現行パターンが実線（パターン・パレットで黒の四角形）であると、オブジェクトは、フォアグラウンド・カラー属性で指定されたカラーで表示されます。

•	現行パターンが透明である（レイアウト・エディタ・パターン・パレットで白の四角形）とき、オブジェクトは、バックグラウンド・カラー属性で指定されたカラーで表示されます。

•	現行パターンが「なし」であるとき、オブジェクトは透明であり、（オブジェクトの背後に何が表示されたとしても）フォアグラウンド・カラーもバックグラウンド・カラーも適用されません。

注意: 塗りパターン・パレットでは、プロパティ・パレットのタイプのみが選択可能で、「なし」のパターンは選択できず、また項目に対しても無効です。最良の結果を得るには、項目に透明パターン（レイアウト・エディタ・パターン・パレットで実線の白い四角形）を使用します。


Form Builder文字モード論理属性について

Oracle端末を使用して、次にリストされている文字モード端末のForm Builder固有の可視属性のデフォルトを変更します。

属性名	属性を使用するコンテキスト
ToolkitDisabled	汎用属性
ToolkitEnabled	汎用属性
ToolkitCurrent	汎用属性
ToolkitDisabledMnemonic	汎用属性
ToolkitEnabledMnemonic	汎用属性
ToolkitCurrentMnemonic	汎用属性
NormalAttribute	標準バックグラウンド・ウィンドウ
Normal	テキスト項目
Bold	すべての項目（チェックボックスを含む）に太字
Bold-text	ボイラープレート
Bold-inverse	すべての項目に太字を反転
Underline	すべての項目に下線
ボイラープレート	定数テキスト
WindowTitleCurrent	アクティブ・ウィンドウのタイトル
メニュー	選択済みメニュー
Sub-menu	選択済みサブメニュー
Full-screen-title	スクリーン・タイトル
Menu-title	現行メニュー・タイトル
Menu-subtitle	現行メニュー・サブタイトル
Menu-bottom-title	メニューの下に現行タイトル
MenuItemEnable	使用可能な非現行メニュー項目
MenuItemDisabled	使用不可メニュー項目
MenuItemSelect	現行メニュー項目
MenuItemEnableMnemonic	使用可能メニュー項目のニーモニック
MenuItemDisableMnemonic	使用不可メニュー項目のニーモニック
MenuItemSelectMnemonic	現行メニュー項目のニーモニック
TextControlCurrent	現フィールドまたはテキスト・エディタ
Field-current	現行テキスト項目のカラー
TextControlNonCurrent	使用不可または非現行の、フィールドまたはテキスト・エディタ
Field-non-current	現在選択されていないテキスト項目のカラー
TextControlSelect	使用可能フィールドまたはテキスト・エディタの選択済みテキスト
Field-selected-current	現在選択済みのテキスト項目
Field-selected-non-current	現在選択済みでないテキスト項目
Field-queryable	オペレータが問い合わせできるフィールド
PushButtonDefault	デフォルトまたは現行ボタン
PushButtonNonDefault	デフォルトでないボタン
Button-non-current	非現行ボタン
Button-current	現行ボタン
警告	警告テキスト
AlertIcon	警告ウィンドウのアイコン
AlertMessage	警告ウィンドウのメッセージ・テキスト
AlertBackground	警告バックグラウンド
Listtitle	LOV（値リスト）タイトル
ListItemSelect	テキスト・リストの選択済み項目
ListItemNonSelect	テキスト・リストの選択されていない項目
ListPrefix	リスト接頭辞
ScrollThumb	スクロール・バーの「エレベータ・ボックス」


Form Builder GUI論理属性について

Oracle端末を使用して、次にリストされているForm Builder固有の可視属性のGUIデフォルトを変更します。

属性名	属性を使用するコンテキスト
TextControlFailValidation	妥当性チェックで不合格になるテキスト項目
ItemQueryDisabled	オペレータが明示的に禁止するテキスト項目なので、問合せ基準として組み込み不可
Status-Message	ステータス・バーに表示されるメッセージ
Status-Hint	ステータス・バーに表示されるヒント
Status-Empty	テキストのないステータス・バー
Status-Items	ステータス・バーのインジケータ（ランプ）
Scroll-bar-fill, Inverse, Inverse-underline, Bold-underline, Bold-inverse-underline	これらの論理属性は、Form Builderにとって一意ではありません。結果として、これらの論理属性は、ウィンドウ・マネージャによって定義される可視属性で上書きできます。


パラメータの定義


フォーム・パラメータについて

パラメータは、起動時にフォームによって要求される入力項目の値を定義および設定するためのシンプルなメカニズムです。フォーム・パラメータは、ユーザーが設計時に定義する型、CHAR、NUMBERまたはDATE型の変数です。

アプリケーションがCALL_FORM、NEW_FORM、OPEN_FORMまたはRUN_PRODUCT のビルトイン・サブプログラムをコールするときに、パラメータ値をフォームに渡せます。

オペレータは、フォーム起動時に標準コマンド・ライン構文を使用して、フォーム・パラメータの値をを指定することもできます。

コマンド・ラインに入力するパラメータ値により、設計時にパラメータに指定したデフォルト値は上書きされます。

次の例で、MODULEおよびUSERID、DEBUGは、事前定義済みのコマンド・ライン・パラメータです。CITYは、設計時に tradeフォームで定義されたユーザー定義のフォーム・パラメータです。

ifrun60 MODULE=trade USERID=scott/tiger debug=YES city="BOGOTA"

注意: パラメータは、フォーム起動時に値を指定する前に、必ず設計時に定義しておく必要があります。つまり、フォームは、コマンド・ラインを介して、またはパラメータ・リストによって、起動時に受け取るパラメータ値を必ず予測している必要があります。フォームに存在しないパラメータの値を渡そうとすると、エラーが発生します。

次の項では、フォームの設計時にパラメータを作成する方法、プログラムによってパラメータ値を設定および参照する方法、実行時にコールされるフォームにパラメータ値を渡す方法を、パラメータ・リストを作成して説明します。


パラメータの作成

  関連項目

パラメータを作成する場合、名前およびデータ型、長さ、デフォルト値を指定します。

パラメータを作成する方法:

1	オブジェクト・ナビゲータで、パラメータを作成します。

パラメータを作成するには、オブジェクト・ナビゲータで「パラメータ」ノードを選択し、「ナビゲータ」 [image] 「作成」を選択します。

2	プロパティ・パレットで、希望するパラメータ・プロパティを設定します。

パラメータのデータ型	CHARまたはNUMBER、DATEに設定します。
パラメータの初期値	パラメータのデフォルト値。パラメータ・データ型および長さに対応している必要があります。
長さ	パラメータが格納できる最大バイト数。長さは、CHARパラメータにのみ有効で、最高64Kまで可能です。NUMBERパラメータのデフォルトは23バイト、DATEパラメータのデフォルトは7バイトです。
名前	パラメータの内部名。


パラメータの参照

PL/SQLでは、バインド変数構文を使用して、フォーム・パラメータの値を参照および設定できます。

パラメータを参照する方法:

次の例に示されているように、パラメータ名の前に予約語PARAMETERを付けます。

:PARAMETER.parameter_name := 'TOKYO';

または

:block.item := :PARAMETER.parameter_name;


パラメータの間接参照について

  関連項目

バインド変数構文を使用して、パラメータそのものと同じモジュールで宣言されていないトリガーまたはユーザー命名ルーチン、メニュー・コマンド、ストアド・プロシージャからはパラメータを直接参照することはできません。

パラメータを間接的に参照する方法:

NAME_INとCOPYビルトインを使用して、パラメータの値を間接的に設定したり参照したりします。

Name_In('PARAMETER.my_param')
COPY('SAN JUAN', 'PARAMETER.my_param')

注意: パラメータを間接的に参照するとき、パラメータ名は一重引用符で囲まれていますが、前にコロンが付いていないことに注意してください。


オブジェクト・プロパティ設定時の参照パラメータについて

次のオブジェクト・プロパティでフォーム・パラメータを参照できます。

•	データ・ブロックのWHEREとORDER BY句（オブジェクト・ナビゲータの適切なブロックを選択するか、SET_BLOCK_PROPERTYでプログラムに基づいて選択するとき、プロパティ・パレットで指定されます）

•	値リストの「戻り項目」プロパティ（「値リスト列マッピング」ダイアログで指定されます）

•	項目の「初期値」プロパティ（オブジェクト・ナビゲータの適切な項目を選択するとき、プロパティ・パレットに指定されます）

•	テキスト項目の「最低許容値」と「最高許容値」プロパティ（適切なテキスト項目を選択するときに、プロパティ・パレットで指定されます）


パラメータ・リストの作成と受渡し

パラメータは、パラメータ・リストによってコールされたフォームに渡されます。パラメータ・リストは、単に（キーと呼ばれる）パラメータ名およびその値のリストをメンバにもつ構造体です。

ビルトイン・サブプログラムCALL_FORM、OPEN_FORM、NEW_FORMが起動するフォームにパラメータ値を渡せます。さらに、RUN_PRODUCTプロシージャ使用して、その他のOracle toolsにパラメータ値を渡せます。

パラメータ・リストに組み込むパラメータは、テキスト・パラメータまたはデータ・パラメータです。パラメータ型は、その値がどのように解釈されるかを判別します。

テキスト・パラメータ	コールされた製品に渡されるテキスト・パラメータの値は、次に示すCHAR文字列です。

•	CALL_FORM、OPEN_FORMまたはNEW_FORMビルトイン・サブプログラムで起動されるフォームに定義されたユーザー定義のフォーム・パラメータ

•	RUN_PRODUCTビルトイン・サブプログラムで起動される製品のコマンド・ラインまたはユーザー定義のパラメータ

データ・パラメータ	コールされた製品に渡されるデータ・パラメータの値は、常に現行フォームに定義されたレコード・グループの名前です。（レコード・グループは、問合せから、またはプログラムによって導出されたレコードを格納するデータ構造です。）データ・パラメータは、RUN_PRODUCTビルトイン・サブプログラムで起動された製品にデータを渡すために使用します。データ・パラメータをフォームに渡すことはできません。

次の表は、フォーム・パラメータを含むパラメータ・リストの構造を示しています。

キー	Paramtype	Value
CITY	TEXT_PARAMETER	'BOGOTA'
CATEGORY	TEXT_PARAMETER	'EXPORTS'
MULTIPLIER	TEXT_PARAMETER	'.0275'
NEW_DATA	Data_Parameter	'RECORD_GROUP8'


パラメータ・リストの作成

次のビルトイン・サブプログラムを使用して、パラメータ・リストを作成および操作できます。

•	ADD_PARAMETER

•	CREATE_PARAMETER_LIST

•	DELETE_PARAMETER

•	DESTROY_PARAMETER_LIST

•	GET_PARAMETER_ATTR

•	GET_PARAMETER_LIST

•	SET_PARAMETER_ATTR

ヒント： パラメータ・リストを作成する場合は、次の点に留意してください。

•	CREATE_PARAMETER_LISTは、戻り値が作成されるリストのIDであるファンクションです。IDを、データ型、PARAMLIST（1つのForm Builderデータ型）として宣言した変数に割り当てる必要があります。

•	CREATE_PARAMETER_LISTをコールすると、まだパラメータが含まれていないパラメータ・リストが作成されます。パラメータをリストに追加するには、ADD_PARAMETERプロシージャを実行します。

•	GET_PARAMETER_ATTRおよびSET_PARAMETER_ATTRは、ADD_PARAMETERビルトインでパラメータ・リストに追加されたパラメータの型および値を獲得して設定するときに使用します。これらのビルトインは、設計時に定義されていないフォーム・パラメータの値を獲得または設定するために使用できません。その場合、かわりに、バインド変数構文または間接的参照を使用して、パラメータを参照します。

•	GET_PARAMETER_LISTは、指示されたパラメータ・リストのParamList IDを戻すファンクションで、他のオブジェクト型で使用可能なFIND-*ファンクションに類似しています。

次の例では、パラメータ・リストを作成して、2つのパラメータをそれに追加してから、CALL_FORMプロシージャでリストにフォームを渡します。

/*
** Declare a variable of type ParamList to store
** the parameter list ID
*/
DECLARE
   list_id   ParamList;
BEGIN
/*
** Create a parameter list named "input_params"
*/
   list_id := Create_Parameter_List('input_params');

/*
** Add two parameters to the list to pass values for each
** user-defined parameters defined in the target form; for each
** parameter, specify its key, type (text or data), and value
*/
   Add_Parameter(list_id, 'CITY',TEXT_PARAMETER,'BOGOTA');
   Add_Parameter(list_id, 'CATEGORY',TEXT_PARAMETER,'EXPORTS');

/*
** Now call the form, referencing the parameter list ID
** in the last argument to the CALL_FORM procedure
*/
   Open_Form('trade',ACTIVATE,NO_SESSION,list_id);
END;

デフォルト・パラメータ・リスト

各フォームには、「デフォルト」というビルトイン・パラメータ・リストが含まれています。「デフォルト」パラメータ・リストには、設計時にフォームで定義したフォーム・パラメータがすべて含まれています。たとえば、設計時にフォームAで、p1およびp2、p3というパラメータを定義すると、これらのパラメータは、フォームAの「デフォルト」パラメータ・リストに自動的に組み込まれます。

デフォルト・パラメータ・リストは、OPEN_FORMまたはCALL_FORM、NEW_FORMビルトイン・プロシージャの引数リストに組み込むことによってコールされたフォームに渡すことができます。

DECLARE
    the_list PARAMLIST:= Get_Parameter_List('default');
BEGIN
    Open_Form('form_B',ACTIVATE, NO_SESSION,'default');
END;


パラメータ・リストを渡す方法

1つ以上のパラメータを、コールされたフォームに渡すには、コール側フォームが、トリガーまたはユーザー命名ルーチンで次のステップを実行する必要があります。

•	CREATE_PARAMETER_LIST  ビルトイン・サブプログラムを実行して、プログラムに基づいてパラメータ・リストを作成します。

•	ADD_PARAMETER  ビルトイン・サブプログラムを実行して、パラメータ・リストに1つまたは複数のパラメータを追加します。

•	DELETE_PARAMETER  ビルトイン・サブプログラムを実行して、パラメータ・リストの1つまたは複数のパラメータを削除します。

•	CALL_FORM、NEW_FORM、OPEN_FORMまたはRUN_PRODUCT ビルトイン・サブプログラムを実行して、コールされたフォームへ渡されるパラメータ・リストの名前またはIDを組み込みます。


パラメータ属性の指定

  関連項目

ADD_PARAMETERを使用して、パラメータをパラメータ・リストに追加する場合、次の3つのパラメータ属性を指定する必要があります。

キー	パラメータの名前。

Paramtype	DATA_PARAMETERまたはTEXT_PARAMETERでパラメータ型を指定します。

Value	パラメータ値。TEXT_PARAMETERの場合、値は、すべてのCHAR値です。DATA_PARAMETERの場合、値は、常に現行フォームに定義されたレコード・グループのCHAR名です。


PECSについて

Form Builderの開発者やシステム管理者の方は、Form Builderとご使用のアプリケーション両方のパフォーマンスについて、知りたい場合があると思います。Form BuilderのPerformance Event Collection Services（PECS）を利用して次のような情報を知ることができます。

•	使用しているフォームの3つのフィールドの値リストを使用するのに要する経過時間。

•	トリガーの実行に要する時間。

•	1時間に作成できる送り状の数。

•	フォーム内のすべてのトリガーをテストしたかどうか。

•	PL/SQLコードのすべての行をテストしたかどうか。

PECSシステム

PECSシステムは、次の3つの主要部分から構成されます。

•	PECSビルトイン。アプリケーション固有のイベントを定義するのに使用します。

•	PECSアシスタント。PECSデータをロードおよび表示するのに使用するForm Builderのアプリケーションです。

•	PECSレポート。これを使用して、行のテストの結果を表示したり、ハードコピーを印刷できます。

PECS測定

PECSは、オーバーヘッドの少ないパフォーマンス測定ツールです。これを使用して、次の作業ができます。

•	Form Builderのイベントのリソースの使用を測定します。

PECSの1番簡単な使用方法は、Form Builderのイベントのみを測定することです。Form Builderのイベントのみを測定する場合は、PECSビルトインをPL/SQLコードに追加する必要はありません。これは、トリガーおよびウィンドウ、キャンバス、値リスト、警告などのオブジェクトのパフォーマンスを測定するための事前定義済みPECSイベントが、Form Builderに含まれているからです。

•	アプリケーション固有のイベント（CPU時間と経過時間）のリソースの使用を測定します。

PECSビルトインのコールをPL/SQLコードに追加すると、Form Builderのイベントと同様に、アプリケーション固有のイベントのパフォーマンスを測定できます。

•	パフォーマンスの問題を突き止めます。

•	有効範囲を測定します。

Form Builderアプリケーションをテストしているとき、有効範囲のテストケースに関心を抱くことがあるでしょう。PECS Object Coverage Reportでは、有効範囲のテストケースについて調査することができます。

PECS Line Coverage Reportでは、有効範囲内のPL/SQLコードについてのテスト結果を調査することができます。


Form Builderイベントについてのパフォーマンス・データの収集

Form Builderには、事前定義済みのPECSイベントがあるので、アプリケーションに変更を加えることなく、パフォーマンスと有効範囲の両方を測定できます。PECSは、次の内容を測定します。

•	すべてのアプリケーション、トリガーおよびLOVのパフォーマンス

•	有効範囲内のプロシージャ、ウィンドウ、キャンバス、エディタおよび警告と1行毎のPL/SQLコードのテスト結果

プロセスは、次の3ステップから構成されます。

1	ご使用のアプリケーションを、PECSをオンにして実行し、.DATファイルにパフォーマンス・データを集めるます。このとき、次のコマンドを使用します。

ifrun60 module=myform userid=scott/tiger pecs=on

あるいは、「Forms Runtimeオプション」ダイアログの「PECSデータを収集しますか？ 」オプションで、「ON」を選択します。

PECSを組み込んでForm Builderを実行することで、次のような.DAT拡張子が付くモジュール名をデフォルト名とするPECSバイナリ・ファイルが作成されます。

myform.dat

データは、データベースに直接書き込まれるのではなく、ファイルに書き込まれます。

2	データを.DATファイルとして、フォームからデータベースにロードします。

PECSアシスタントを使用して、フォームとPECSバイナリ（.DAT）ファイルの両方をデータベースにロードします。

「PECSアシスタント」については、この章の後にある「PECSアシスタントの使用」を参照してください。

3	データを分析します。

PECSデータベース・ファイルが作成されたら、次の方法で結果を確認します。

•	PECSアシスタント・データまたは「サマリー」ウィンドウを使用して、行の結果を表示します。または、

•	PerformanceまたはObject Coverage、Line Coverage Reportsを実行して、行の結果を表示するか、またはハードコピーを印刷します。

Form Builderイベントについてのパフォーマンス・データを収集する際、PECSビルトインを使用する必要はありませんが、PECS実験の焦点を絞るのに、ビルトインを利用することができます。たとえば、値リスト・イベントのみを測定したい場合は、PECS.DISABLE_CLASSビルトインを使用して値リスト・イベント以外のイベントをすべてオフにできます。


アプリケーション特有のイベントについてのパフォーマンス・データの収集について

 例

PECSを使用してアプリケーション固有のイベントを測定するには、まずPECSのビルトインをPL/SQLコードに追加することで、測定したいイベントを定義します。（最も重要なイベントのみを数個定義すると、よりよい結果を得ることができます。

PECSを使用してアプリケーション固有のイベントのパフォーマンス・データを収集する作業は、次の5段階からなります。

•	アプリケーション固有のイベントをグループ化します。

•	PECSのビルトインを使用して、測定したいイベントを定義します。

•	PECSが組み込まれたアプリケーションを実行します。

•	フォームとPECSデータを、ファイルからデータベースにロードします。

•	データを分析します。

グループ・アプリケーション特有イベント

アプリケーション固有のイベントは、業務トランザクションです。たとえば、銀行用アプリケーションでは、預金、引出しおよび振替イベントを定義します。

意味のあるテスト結果を示すレポートを作成するために、似たイベントをクラスにグループ化できます。銀行用アプリケーションでは、たとえば、次の2つのクラスを作成できます。

•	次の3つのイベントから構成される銀行クラス。

•	預金イベント

•	引出しイベント

•	振替イベント

•	次の3つのイベントから構成される顧客クラス。

•	顧客追加イベント

•	顧客削除イベント

•	顧客変更イベント

PECSイベントの定義

計測したいイベントの集合を選択後、PL/SQLコードにPECSビルトインを追加することによって、アプリケーションはPECSを使用できるようになります。

•	PECSを開始します。

•	設計時に、PECS.COLLECTORビルトインをアプリケーションに追加します（アプリケーション固有のイベントのデータのみを収集できるようになります）。または、

•	実行時に、コマンド・ラインからPECSを起動します（アプリケーション固有イベントの他にForm Builderのイベントのデータも収集できるようになります）。

•	PECS.ADD_CLASSとPECS.ADD_EVENTビルトインに必要なクラスとイベントを追加します。

•	PECS.ENABLE_CLASSビルトインを使用して、測定したいクラスまたは特定のイベントを使用可能にします。

•	測定したいイベントを、次の方法で定義します。

•	イベントを、PECS.START_EVENTおよびPECS.END_EVENTビルトインで1つにまとめます。または、

•	イベントをPECS.POINT_EVENTでマーク設定します。

コマンド・ラインからPECSを起動するには、オブジェクト有効範囲にはPECS=ONを設定し、オブジェクトと行の有効範囲にはPECS=FULLを設定します。

コマンド・ラインからPECSを起動するには、オブジェクト有効範囲にはPECS=ONを設定し、オブジェクトと行の有効範囲にはPECS=FULLを設定します。

注意: 他のForm Builderビルトイン（トリガー、ユーザー名付きルーチン、メニューPL/SQLコマンドおよびストアード・プロシージャ）を使用するところでは、PECSを使用できます。PL/SQLプロシージャの継続時間を直接測定することはできませんが、プロシージャをコールするトリガーを定義して、次にトリガーの継続時間を測定することができます。

PECSとアプリケーションの同時実行

いったん、PECSのビルトインをアプリケーションに組み込むと、フォームを実行したとき、PECSによってテスト・データが入っているバイナリ・ファイルが自動的に作成されます。

•	コマンド・ラインからPECSを起動した場合、PECSバイナリ・ファイルの名前は、.DATの付いたフォーム名myform.datがデフォルトになります。

•	PECS.COLLECTORビルトインをアプリケーションに追加することでPECSを開始した場合、PECSのバイナリ・ファイルの名前には、デフォルトでPECS.ADD_CLASSビルトインで指定した最初のクラス名（banking.dat）が付きます。

データベースへの、フォームとPECSデータのロード

フォームとPECSバイナリ・ファイルの両方をデータベースにロードするには、PECSアシスタント・アプリケーションを使用します。詳しくは、この章で後述の「PECSアシスタントの使用」を参照してください。

注意: 有効範囲の統計が必要でない限りは、PECSではフォームをデータベースに格納する必要はありません。しかしPECSは、「データベース表の作成」を選択してインストールしたときに実行されるForm Builder 5.0表スクリプトによって自動的に作成される、いくつかの表に依存しています。このオプションを選択しなかった場合、ユーザーまたはDBAはSYSTEMでログオンして、Form BuilderのSQLディレクトリ内にあるこのSQLスクリプトを実行しなければなりません。

データの分析

PECSの.DATファイルがデータベースにロードされたら、PECS Assistantを使用して結果を調べることができます。

•	行の結果を見るには、「データ」または「サマリー」ウィンドウを使用します。または、

•	PerformanceまたはObject Coverage、Line Coverage Reportsを実行して、行の結果を表示するか、またはハードコピーを印刷します。

次のステップ

データを分析後、いくつかの指示の中から任意の1つを選択します。

•	デバッグする場合、アプリケーションを変更して、同じテストを再度実行します。

•	パフォーマンスをテストしている場合、同じテストの複数回走行、統計表示の平均および今回の結果と前回の結果との比較を行います。

•	「有功範囲」をテストしている場合、テストを変更して、より多くの条件をカバーするようなテスト条件を追加し、テストを再実行して前回の結果と比較します。


アプリケーション特有イベントの例についてのパフォーマンス・データの収集

両方の内部Form Builderイベントと3つのアプリケーション特有イベント（預入れ、引出し、そして転送）を測定するとします。この例では、これらのイベントをPECSに定義するためにPECSのビルトインを組み込みます。

（両タイプのイベントを測定する場合、PECSをコマンド・ラインから開始できましたが、この例では、デモンストレーションの意味で、PECSをPECS.COLLECTORビルトインで開始するようにしました。

PACKAGE globals IS
/* We will create a package of global variables instead of     */
/* local variables because the pecs.event and pecs.class types */
/* may be spread across various procedures, triggers, and      */
/* even forms.*/

/*                                                             */
/*   Add the classes.*/
/*                                                             */
banking PECS.class  := PECS.Add_Class('Banking');
myform  PECS.class  := PECS.Add_Class(PECS.FORMS);
/*                                                            */
/*   Add the events for the class 'Banking'.*/
/*   No need to add events for the class 'Form'               */
/*   because they are pre-defined internal events.*/
withdraw pecs.event  := PECS.Add_Event(banking,'Withdraw');
deposit pecs.event   := PECS.Add_Event(banking,'Deposit');
transfer pecs.event  := PECS.Add_Event(banking,'Transfer');

END globals;

/*   Trigger:When-New-Form-Instance                        */
/*   Enable PECS                                            */

BEGIN
PECS.Collector(COLLECT_ON);

/*                                                          */
/*   Enable the classes                                     */
/*                                                          */

PECS.Enable_Class(GLOBALS.banking);
/*                                                          */
/* After the forms class has been enabled,                  */
/* internal forms events will be measured.*/
/* NOTE:This line is not needed if you use the             */
/*       PECS=on command line option.*/

PECS.Enable_Class(GLOBALS.myform);
END;

PROCEDURE do_withdraw

/*                                                          */
/*   This is the code that does the Withdraw Event.*/
/*                                                          */

DECLARE
withdraw_handle number;

BEGIN

/*                                                          */
/*   Start the Withdraw event               .*/
/*                                                          */

withdraw_handle := PECS.Start_Event(GLOBALS.withdraw,
'Withdrawing cash');

.
.   /do the withdraw/
.

PECS.End_Event(GLOBALS.withdraw,withdraw_handle);
END;


オブジェクトの有効範囲データの収集

Form Builderアプリケーションをテストしている場合、PECSを品質保証ツールとして使用することも可能です。PECSのObject Coverage Reportによって、現行のテストケース・セットで設定される有効範囲の割合を評価できます。

PECSを実行して、Form Builderイベントの情報をアプリケーション固有イベントの情報とは別に、またはともに収集する場合、Performance Reportと同様にObject Coverage Reportも実行できます。

Object Coverage Reportを調べることによって、現行のテストケースのセットでアプリケーション内のForm Buildernオブジェクトがすべてテストされているかがわかります。たとえば、現行のテストケース・セットの実行中に各トリガーおよびプロシージャ、警告、ウィンドウ、キャンバスがテストされているかを確認できます。また、有効範囲が増えたことで新しいテストケースを作成する必要がある領域を検索できます。

注意: 有効範囲の統計表示が必要な場合、ご使用のフォームをデータベースに保存する必要があります。


行有効範囲データの収集

テストケースの単純な有効範囲のテストに加えて、トリガーとプロシージャでの、PL/SQLコードの行単位の有効範囲をテストできます。PECS Line Coverage Reportによって、現行のテストケース・セットで設定されるPL/SQLの行有効範囲の割合を評価できます。

行有効範囲データを取得する方法は、次のとおりです。

•	debug=ONでフォームをコンパイルします。

•	PECS=FULLで実行します。

•	PECSアシスタントで、「行有効範囲」チェックボックスを選択します。

•	「Line Coverage Report」を選択します。

注意: 行有効範囲データを収集する場合は、PECS.ENABLE_CLASSビルトインでPECSを起動せず、PECSコマンド・ライン・オプション（PECS=FULL）を使用してください。


PECSアシスタントの使用

 例

PECSアシスタント・アプリケーションでは、次の機能を使用できます。

操作	使用するウィンドウ
PECSデータを表にロード	ロード
データ表示	データ、サマリー
クラスと実験についての情報を表示	クラス、実験
PECS階層について

PECSアシスタントでは、候補およびイベント、クラス、実行、実験の名前を指定するように指示されます。

これらの項は、PECS階層で次のように使用されます。

グループ:	構成要素:
実験	1つ以上のテストの実行。実験により実行が所有されます。
実行	アプリケーションの開始から終了までのワンパス。1つの.DATファイルが、実験の1行にマップされます。
Class	関連イベントのグループ。クラスによりイベントが所有されます。
イベント	開始と終点が定義済みのアプリケーション固有またはフォーム固有のトランザクション。
オカランス	特定のイベントの1つの例。
PECSアシスタントの使用のためのステップ

1度PECS使用可能にしてフォームを実行したら、PECSアシスタント・アプリケーションを使用できるようになります。

1	システム・プロンプトで、コマンド（ifrun60 module=pecs）を入力してPECSアシスタントを実行します。

PECSアシスタントの「メイン」ウィンドウが表示されます。「Windows」メニューのボタンまたはコマンドを使用して、他のウィンドウにナビゲートできます。

2	「ロード」をクリックします。

PECSアシスタントの「ロード」ウィンドウが表示されます。

3	データベースにロードしたい実験を選択するには、「PECSデータ」セクションを埋めてください。

ファイルが存在しないと、オープン・エラー・メッセージが表示されます。

注意: フォームを開始するために使用したものと異なる接続文字列を使用したい場合は、「接続文字列」セクションを埋めてください。詳細については、「ヘルプ」を押してください。

4	適切なチェックボックスをチェックします。

「データベースへのPECSデータのロード」と「データのサマリー」のチェックボックスは、デフォルトで、チェックされています。

行有効範囲データが欲しい場合、「行有効範囲の準備」チェックボックスをチェックします。

注意: 行有効範囲の準備は、時間のかかるタスクです。しばらく「ビジー」カーソルが表示されます。

集計ファイルを作成した後、詳細データを削除したい場合、「サマリー後、詳細を消去」ボックスをチェックします。

5	「開始」をクリックします。

PECSは、選択された各チェックボックスに対して確認メッセージを表示します。

それぞれの確認をアクセプトすると、処理している間「状態」領域にメッセージを表示しながらデータを処理し、結果を調査できるようにします。

6	結果を表示するには、「ナビゲーション」 [image] 「実験」、または「ナビゲーション」 [image] 「クラス」を選択します。

7	「実験」または「クラス」ウィンドウから、確認したい実験またはクラスを選択するために問合せます。

PECSによって問合せの結果が表示されます。

8	特定の実験またはクラスを強調表示します。

9	「ズームイン」をクリックします。

PECSの「サマリー」ウィンドウがオープンし、データのサマリーが表示されます。「サマリー」ウィンドウには、PECSのレポートに似た書式で情報が表示されます。

10	PECSの実験の詳細な結果を調べる場合、「ズームイン」を再度クリックします。

PECSの「データ」ウィンドウに詳細な結果が表示されます。

PECSレポート

PECSのレポートを実行するには、「レポート」メニューから、次のレポートを選択します。

•	経過時間とCPU時間を表示するには、「パフォーマンス・レポート」を選択します。

•	特定のイベントまたは候補に有効範囲が達したことを表示するには、「Object Coverage Report」を選択します。

•	PL/SQLコードの有効範囲を表示するには、「Line Coverage Report」を選択します。

「パフォーマンス・レポート」では、デフォルトで「データ」または「サマリー」画面で表示された列順で、データが表示されます。レポート内での順序を変えるには、「データ」または「パフォーマンス・レポートのサマリー」ウィンドウの「並べ替え」句を変更します。

PECSメンテナンス

定義したクラスと実験についてのデータを参照するには、「メイン」ウィンドウに戻って「クラス」または「Exp（実験）」をクリックします。

•	PECSのビルトインで定義したクラスとイベントについてのデータを見るには、「クラス」ウィンドウを使用します。

このウィンドウを使用して、クラスの最小限のメンテナンスができます。たとえば、クラス名を変更したり、バージョン情報を追加できます。

•	PECSのビルトインで定義した実験と実行についてのデータを見るには、「実験」ウィンドウを使用します。

このウィンドウを使用して、実験の最小限のメンテナンスができます。たとえば、実験名を変更したり、コメント情報を追加できます。（実験名は、「ロード」ウィンドウで、あるいはコマンド・ラインで-nオプションを使用して指定します。

.DATファイルの使用

PECSでは、実験を再実行するか、またはパフォーマンス統計の平均値を出すために、以前作成された複数の.DATファイルをロードできます。たとえば、フォームAの場合、次のような順序で.DATファイルを使用できます。

•	実験番号1、実行番号1: 元のA.DATファイルを作成します。実行番号1の有効範囲の結果を評価し、有効範囲を広げるためにテストケースを追加することを決めます。

•	実験番号1、実行番号2: 新しいA.DATファイルを作成します。

•	実行番号2の結果もデータベースにロードする場合は、この実験のすべての実行のデータを集計するために「ロード」ウィンドウの「サマリー」をチェックします。

PECSLOADの使用

PECSアシスタントを使用せずに、コマンド・ラインから直接PECSシステムにアクセスすることもできます。PECSバイナリ・ファイルをデータベースにロードするために、コマンド・ラインからPECSLOADユーティリティを起動します。PECSLOADを実行中は、クラスとイベントがデータベースにすでに保存されていなければ、両方ともデータベースに保存されます。

PECSデータ・ファイルの使用

PECSLOADコマンドを使用すると、PECSでは最初に、バイナリ・ファイル（.DAT）の格納場所を探します。PECSデータ・ファイルは、通常は環境変数によって設定されたー時ディレクトリに保存されます。次に各環境のデフォルト・ディレクトリをあげます。

動作環境	PECSデフォルト・ディレクトリおよび環境変数
Microsoft Windows	TMP
UNIX	FORMS_PECS
VMS	SYS$SCRATCH
この環境変数が設定されていないと、PECSでは、現行の作業ディレクトリが使用されます。

PECSLOADコマンドを発行して、「ファイルのオープン・エラー」に似たエラー・メッセージを受け取った場合は、データ・ファイルが見つかりません。この場合、PECSLOADコマンドを再発行してモジュール名の場所にフル・パス名を指定します。

PECSデータベース表

データを操作したり、実験名や実験番号など特定のPECS情報を得るために、PECSデータベースの表を調べることができます。PECSでは、次のデータベースの表が使用されます。

•	PECS_run

•	PECS_experiment

•	PECS_class

•	PECS_class_events

•	PECS_data

•	PECS_summary

•	PECS_plsql

各表の列リストを取得するには、SQLコマンドを使用します。


PECSアシスタントの使用例

例1 実験の名前を伴うPECSLOADの使用:

PECSLOAD -f mymod.dat -n my_experiment scott/tiger

例2 実験番号を伴うPECSLOADの使用:

PECSLOAD -f mymod.dat -e 3 scott/tiger


PECSビルトインについて

次のPECSのビルトインを使用して、PECSシステムに対してアプリケーション固有のイベントを定義できます。

操作	使用するPECSビルトイン:
PECSの起動または停止する	PECS.COLLECTOR
クラスまたはイベントを登録する	PECS.ADD_CLASSPECS.ADD_EVENT
クラスを使用可または使用不可にする	PECS.ENABLE_CLASSPECS.DISABLE_CLASS
イベント・インスタンスを定義する	PECS.START_EVENTPECS.END_EVENTPECS.POINT_EVENT


PECS.ADD_CLASS

 例

構文:

PECS.ADD_CLASS(class_name);

PECS.ADD_CLASS(class_type);

ビルトイン・タイプ   非制限プロシージャ

Return  PECS.CLASS

説明

PECS.ADD_CLASSによって、PECSの中にクラスまたはイベントのグループが作成され、このクラスのIDが戻ります。今後のPECSのコールの中のクラスを識別するのに、このクラスIDを使用します。クラスIDのデータ型は、PECS.CLASSです。

パラメータ

class_type	追加するクラスのタイプを指定します。このパラメータの有効な数値定数は、次のとおりです。

PECS.FORMS Form Builderを指定します。

class_name	追加するクラスの名前を指定します。アプリケーション固有のクラスのうち、上記のクラス・タイプの1つを使用していないクラスに対しては、CHAR型のクラス名を指定します。

使用上の注意

PECS.COLLECTORビルトインをアプリケーションに追加することでPECSを開始した場合、PECSのバイナリ・ファイルの名前には、デフォルトでPECS.ADD_CLASSビルトインで指定した最初のクラス名（banking.dat）が付きます。（コマンド・ラインからPECSを起動した場合、PECSバイナリ・ファイルの名前は、.DATの付いたフォーム名myform.datがデフォルトになります。）


PECS.ADD_CLASSの例

/*

/*   This will add the class FORMS                           */
/*                                                           */
forms_class pecs.class := PECS.Add_Class(pecs.FORMS);

/*                                                           */
/*   This will add the class 'Banking'                       */
/*                                                           */
banking_class pecs.class := PECS.Add_Class('Banking');


PECS.ADD_EVENT

 例

構文:

PECS.ADD_EVENT(class_id, event_type);

PECS.ADD_EVENT(class_id, event_description);

ビルトイン・タイプ   非制限プロシージャ

Return  PECS.EVENT

説明

PECS.ADD_EVENTによって、指定したクラスにイベントが追加されます。

Form Builderのイベントの場合は、Form Builderイベント・タイプのリストからイベント・タイプを選びます。アプリケーション特有の機能に対しては、event_descriptionを使用するイベントを指定します。クラス内のイベントの中で一意である必要があります。

パラメータ

class_id	クラスのIDを指定します。クラスIDは、PECS.ADD_CLASSのコールで作成されます。データ型は、PECS.CLASSです。

event_type	Form Builderイベントの場合、イベント・タイプを指定します。このパラメータの有効な数値定数は、次のとおりです。PECS.LINE、PECS.FORMS_TRIGGER、PECS.FORMS_LOV、PECS.FORMS_20TRIGGER（Form BuilderV2スタイルのトリガー・イベント）、PECS.FORMS_PROCEDURE、PECS.FORMS_ALERT、PECS.FORMS_CANVAS、PECS.FORMS_WINDOW、PECS.FORMS_EDITOR。

アプリケーション特有のイベントに対して、PECS_EVENTS表からevent_typeを指定するか、あるいはevent_descriptionパラメータを使用します。

event_description	アプリケーション固有のイベントの場合、そのイベントを指定します。説明は、データ型がCHAR型の32バイト以内に制限されています。


PECS.ADD_EVENTの例

/*

/*   This will add the class 'Banking'                       */
/*                                                           */

banking_class pecs.class := PECS.Add_Class('Banking');

/*                                                           */
/*   This will add the event Withdraw.*/
/*   banking_class was previously defined by PECS.ADD_CLASS  */

withdraw pecs.event := PECS.Add_Event(banking_class, 'Withdraw');


PECS.COLLECTOR

 例

構文:

PECS.COLLECTOR(collector_status);

ビルトイン・タイプ   非制限プロシージャ

説明

PECSのオンまたはオフに、PECS.COLLECTORを使用します。コマンド・ラインからPECSを起動していない場合、このビルトインを使えば、PECSを後で起動することができます。PECS.COLLECTORは、1セッションつき1回のみコールします。

パラメータ

collector_status	PECSのオンまたはオフを指定するNUMBER型パラメータ。

PECS.COLLECT_ON     Collectorをオンにします。

PECS.COLLECT_OFF    Collectorをオフにします。

使用上の注意

•	コマンド・ライン・オプションpecs=onを使用してPECSをオンにした場合は、PECS.COLLECTORを使用する必要がありません。

•	PECS.COLLECTORの状態を切り換えることはできますが、切換えによってイベントの不ー致が発生する恐れがあります。たとえば、トリガー・イベントが開始した後にPECSをオフにすると、対応する終点イベントが欠落する場合があります。PECSにより、.DATファイルのロード中にこの欠落が検出され、開始イベントに対応する終点イベントがない、あるいは終了イベントに対応する開始イベントがない、という警告が発行されます。


PECS.COLLECTORの例

PECS.COLLECTOR(pecs.collect_on);


PECS.DISABLE_CLASS

 例

構文:

PECS.DISABLE_CLASS(class_id);

PECS.DISABLE_CLASS(class_id, event_type);
PECS.DISABLE_CLASS(class_id, event_id);

ビルトイン・タイプ   非制限プロシージャ

説明

クラスに関連する全イベントを使用不可にするには、class_idを指定します。

PECS.DISABLE_CLASS(class_id);

特定のイベントのみを使用不可にするには、class_idとevent_typeまたはevent_idを指定します。

PECS.DISABLE_CLASS(class_id, event_type);
PECS.DISABLE_CLASS(class_id, event_id);

パラメータ

class_id	クラスのIDを指定します。クラスIDは、PECS.ADD_CLASSのコールで作成されます。データ型は、PECS.CLASSです。

event_type	Form Builderイベントの場合、イベント・タイプを指定します。このパラメータの有効な数値定数は、次のとおりです。PECS.LINE、PECS.FORMS_TRIGGER、PECS.FORMS_LOV、PECS.FORMS_20TRIGGER（Form BuilderV2スタイルのトリガー・イベント）、PECS.FORMS_PROCEDURE、PECS.FORMS_ALERT、PECS.FORMS_CANVAS、PECS.FORMS_WINDOW、PECS.FORMS_EDITOR。

event_id	イベント名のIDを指定します。イベントIDは、PECS.ADD_EVENTのコールで作成されます。データ型はPECS.EVENTです。


PECS.DISABLE_CLASSの例

/*   Disable the internal Form Builder LOV event.            */

PECS.Disable_Class(forms_class, PECS.FORMS_LOV);

/*  Disable the Withdraw event for Banking_class.*/
/*  Banking_class was previously defined with PECS.ADD_CLASS */
/*  Withdraw was previously defined with PECS.ADD_EVENT      */

PECS.Disable_Class(banking_class, withdraw);


PECS.ENABLE_CLASS

 例

構文:

PECS.ENABLE_CLASS(class_id);

PECS.ENABLE_CLASS(class_id, event_type);
PECS.ENABLE_CLASS(class_id, event_id);

ビルトイン・タイプ   非制限プロシージャ

説明

クラスに関連する全てのイベントを使用可能にするには、class_idのみを指定します。

PECS.ENABLE_CLASS(class_id);

特定のイベントのみを使用可能にするには、class_idと event_typeまたはevent_idを指定します。

PECS.ENABLE_CLASS(class_id, event_type);
PECS.ENABLE_CLASS(class_id, event_id);

パラメータ

class_id	クラスのIDを指定します。クラスIDは、PECS.ADD_CLASSのコールで作成されます。データ型は、PECS.CLASSです。

event_type	Form Builderイベントの場合、イベント・タイプを指定します。このパラメータの有効な数値定数は、次のとおりです。PECS.LINE、PECS.FORMS_TRIGGER、PECS.FORMS_LOV、PECS.FORMS_20TRIGGER（Form BuilderV2スタイルのトリガー・イベント）、PECS.FORMS_PROCEDURE、PECS.FORMS_ALERT、PECS.FORMS_CANVAS、PECS.FORMS_WINDOW、PECS.FORMS_EDITOR。

event_id	イベント名のIDを指定します。イベントIDは、PECS.ADD_EVENTのコールで作成されます。データ型はPECS.EVENTです。


PECS.ENABLE_CLASSの例

/*  Enable the internal Form Builder LOV event.            */

PECS.Enable_Class(forms_class);

/*  Enable the Withdraw event for Banking_class.*/
/*  Banking_class was previously defined with PECS.ADD_CLASS  */
/*  Withdraw was previously defined with PECS.ADD_EVENT       */

PECS.Enable_Class(banking_class, withdraw);


PECS.END_EVENT

 例

構文:

PECS.END_EVENT(event_id, event_handle);

ビルトイン・タイプ   非制限プロシージャ

説明

PECSイベントの終点をマークします。

パラメータ

event_id	イベント名のIDを指定します。イベントIDは、PECS.ADD_EVENTのコールで作成されます。データ型はPECS.EVENTです。

event_handle	イベント候補のハンドルを指定します。イベント・ハンドルは、PECS.START_EVENTのコールで作成されます。データ型はNUMBERです。


PECS.END_EVENTの例

/*  Measure the performance of the Withdraw event            */

/*  Banking_class was previously defined with PECS.ADD_CLASS */
/*                                                           */

withdraw_handle := PECS.Start_Event(withdraw, 'Withdrawing Cash');
.
.   /do the withdraw/
.
PECS.End_Event(withdraw, withdraw_handle);


PECS.POINT_EVENT

 例

構文:

PECS.POINT_EVENT(event_id, event_comment);

ビルトイン・タイプ   非制限プロシージャ

説明

PECS.POINT_EVENTを使用して、コード実行中に、あるイベントに達したかどうかを判別します。

パラメータ

event_id	イベント名のIDを指定します。イベントIDは、PECS.ADD_EVENTのコールで作成されます。データ型はPECS.EVENTです。

event_comment	イベントを識別するCHAR型のコメント。

使用上の注意

•	特定のアプリケーション固有イベントの所要時間ではなく、それが起こったことのみを知りたいときに、PECS.POINT_EVENTを使用します。

•	PECSポイント・イベントを挿入したアプリケーションの特定部分の有効範囲データを収集するには、PECS.POINT_EVENTを使用できます。


PECS.POINT_EVENTの例

/*   Start the Withdraw event               .          */

/*                                                     */
...

...
IF (do_withdraw = TRUE) then
... message('Success collecting data for event Withdraw');
PECS.Point_Event(GLOBALS.withdraw,'Withdraw Success');
ELSE
... message('Error collecting data for event Withdraw');
PECS.Point_Event(GLOBALS.withdraw,'Withdraw Error');
END IF;


PECS.START_EVENT

 例

構文:

PECS.START_EVENT(event_id,event_ comment);

ビルトイン・タイプ   非制限プロシージャ

Returns  NUMBER

説明

PECSイベントの開始をマークします。PECS.START_EVENTによって、特定イベントの候補のー意識別子が戻ります。このー意識別子は、イベント終了時に必要です。

パラメータ

event_id	イベントIDを指定します。データ型はPECS.EVENTです。

event_comment	イベントを識別するCHAR型のコメント。

使用上の注意

PECS.START_EVENTによって、イベントの終点にマークを設定するためにPECS.END_EVENTで使用される識別子またはハンドルが、イベントに戻されます。


PECS.START_EVENTの例

/*  Measure the performance of the Withdraw event            */

/*  Banking_class was previously defined with PECS.ADD_EVENT */
/*                                                           */
withdraw_handle := PECS.Start_Event(withdraw, 'Withdrawing Cash');
.
.   /do the withdraw/
.
PECS.End_Event(withdraw, withdraw_handle);


Form Builder内でのPL/SQLの使用


Form Builder内のPL/SQLについて

PL/SQLは、SQLデータベース言語に対するOracleのプロシージャ型機能拡張です。PL/SQLは、SQLのデータ操作およびトランザクション処理の機能を、変数と定数の宣言および割当て、ループ、条件分岐などプロシージャ型プログラミング言語の一般的な構成要素と結合します。

PL/SQLを使用して、すべてのForm Builderアプリケーションに内蔵されているデフォルトの機能を改善したり変更できます。そのためには、PL/SQLの概念や構文を理解しておく必要があります。PL/SQL言語については、『PL/SQLユーザーズ・ガイドおよびリファレンス』に記載されています。

Form BuilderでPL/SQLコードを作成する場合は、PL/SQLエディタを利用してください。Form Builder内で次のようなことを行うには、PL/SQLコードを記述します。

•	トリガーの作成

•	ユーザー命名サブプログラムの記述

•	PL/SQLパッケージの記述

•	PL/SQLタイプのメニュー項目の作成

•	メニュー起動コードの定義


Form Builderビルトイン・サブプログラムについて

関連項目

ビルトイン・サブプログラムは、Form Builder内部で使用できるパッケージ化されたプロシージャおよびファンクションです。プロシージャは、通常は１つのアクションの実行に使用される完結した文です。ファンクションは、一般的に値の計算に使用され、その処理結果として特定のデータ型で指定される値を返す実行式です。

各ビルトイン・サブプログラムは、アプリケーションの機能を実行するプログラム命令のグループです。ビルトイン・サブプログラムは、トリガーおよびメニュー項目コマンド、ユーザー命名サブプログラムからコールできますが、編集できません。


Form Builderビルトイン・プロシージャのコール

プロシージャをコールするには、プロシージャ名と、PL/SQLブロッックの文として必要なパラメータを入力します。ビルトイン・プロシージャのコールは１つの完結した文なので、文の最後にセミコロンを入力してください。

Go_Item('customer.cust_id');

GO_ITEMプロシージャは、入力フォーカスをそのパラメータ・リスト内で名前の付けられた項目（この場合customerブロック内の cust_idテキスト項目）に移動します。


Form Builderビルトイン・ファンクションのコール

例

ファンクションをコールするとき、ファンクションの戻り値の型を考慮する必要があります。ファンクションと、定数および変数、論理演算子と組み合せて、式を作成することがでます。これらは単ー値を戻すので、同じタイプのローカル変数またはローカル定数と同じようにファンクションを使用できます。


Form Builderビルトイン・ファンクションのコールの例

例1

DECLARE
item_required	VARCHAR2 (5);
BEGIN
item_required := Get_Item_Property('customer.custid',REQUIRED);
END;

ビルトイン・ファンクションGET_ITEM_PROPERTYは、customerブロック内のcustid項目に対する「必須」プロパティの現在の設定を得るためにコールされています。GET_ITEM_PROPERTYファンクションの戻り値のデータ型はCHARなので、戻り値が割り当てられる変数は、CHAR型またはVARCHAR2型でなくてはなりません。

例2

:control.item_A := Message_Text;

ビルトイン・ファンクションMESSAGE_TEXTは、現行フォーム・セッション内で発生した最新のメッセージ・テキストをVARCHAR2型の値で返します。item_Aは、MESSAGE_TEXTファンクションの戻り値を代入可能なデータ型である必要があります。

例3:

Go_Item(Get_Block_Property('customer',LAST_ITEM));

ビルトイン･ファンクションGET_BLOCK_PROPERTYは、customerブロック内の最後の項目の名前を得るためにコールされています。GET_BLOCK_PROPERTYファンクションは、GO_ITEMプロシージャへのパラメータとしてネストされ、その戻り値がGO_ITEMのターゲット項目になります。

例4:

IF Show_LOV('customer_list') THEN
Message('Good Selection.');
ELSE
Message('No Customer was Selected.');
END IF;

戻り値の型がBOOLEANのファンクションは、TRUEかFALSEのどちらかに評価されるので、条件文の中の式として使用できます。

ファンクションSHOW_LOVは、最初にcustomer_listと名前の付いた値リストを表示して次に、オペレータの入力を待ちます。オペレータが値リストからレコードを選択する場合、ファンクションは「TRUE」を返し、オペレータが「取消」を選択して値リストを消した場合、ファンクションは「FALSE」を返します。

注意: ファンクションは、DML文の中では使用できません。ファンクションの戻り値をローカル変数に割り当て、その後でDML文内で、その変数を参照することによって同じ結果を得ることができます。


サブプログラムへのパラメータ渡し

パラメータは、実行に必要な情報をサブプログラムに与えます。ファンクション・コールまたはプロシージャ・コールでは、パラメータをファンクション名またはプロシージャ名の後ろにカッコで囲んで列記します。

ファンクションまたプロシージャの仕様部では、必要な各パラメータを定義します。ファンクションまたはプロシージャ宣言内のパラメータ名は、フォーマル・パラメータとして参照されます。次のようなプロシージャ構文例では、formal parametersはwindow_name, widthおよびheightをインクルードします。

Resize_Window (window_name, width, height);

仮パラメータは、実パラメータが値を割り当てます。

RESIZE_WINDOWプロシージャをコールする場合、特定のウィンドウを参照し、希望する幅および高さの値を指定することで、仮パラメータに値を与えます。パラメータ・リストに入力する値は、実パラメータです。次のようなプロシージャ・コールの中で、my_window, 50および35は、実パラメータです。

Resize_Window('my_window',50,35);

注意: 引用符を文字リテラルとして指定するには、文字列内の各引用符の前に、さらに引用符を追加します。例えば、実パラメータ'''50'' PIXELS'は、サブプログラムをコールすることで、'50' PIXELSと翻訳されます。


パラメータ・データ・タイプの理解

変数のような仮パラメータは、特定のデータ型をもちます。次の構文の例のとおり、データ型は各仮パラメータ名の後ろに指定します。

Show_Window(window_name IN CHAR,
 x IN NUMBER,
 y IN NUMBER);
 Return BOOLEAN

この例からも判るように、ファンクションSHOW_WINDOWはCHAR型およびNUMBER型のパラメータをとります。CHARおよびNUMBERは、PL/SQLのネイティブなデータ型です。

ビルトイン・サブプログラムで、実パラメータは、対応する仮パラメータと同じデータ型の値に評価されるのであればどのような式でも構いません。つまり、適切なデータ型の値に評価されるのであれば、ローカル/グローバル変数またはファンクション、変数、定数、演算子の任意の組合せのいずれも実パラメータに指定できます。


ビルトイン定数の実際のパラメータとしての使用

関連項目

多数のビルトイン・サブプログラムに対して使用できる事前定義済みの定数があります。次に示すEXIT_FORMビルトイン・プロシージャの構文を見てください。EXIT_FORMは、Form Builderが現在のフォームからどのようにして抜け出すかを決めるための2つのパラメータ（commit_modeとrollback_mode）を持っています。

Exit_Form(commit_mode, rollback_mode);

commit_modeとrollback_modeパラメータは、NUMBER型です。EXIT_FORMをコールする場合、この2つのパラメータに事前定義済みの数値定数を使用できます。commit_modeパラメータに対して有効な定数は、ASK_COMMIT、DO_COMMIT、NO_COMMITおよびNO_VALIDATEです。rollback_modeパラメータに有効な定数は、NO_ROLLBACKおよびTO_SAVEPOINTです。

ビルトイン・サブプログラムの定数は、起動時にForm BuilderによってNUMBER型として宣言された事前定義済みのリテラルです。各定数の実数値は内部的に格納され、外部からは見えません。

定数を実パラメータとして使用する場合は、次の構文で示される通り、引用符で囲まないでください。

Exit_Form(DO_COMMIT,NO_ROLLBACK);

ビルトイン定数はNUMBER型なので、NUMBER変数に割り当てられます。ただし、定数は式の左側には指定できません。


デフォルト・パラメータ値の使用

関連項目

ビルトイン・ファンクションおよびプロシージャによっては、事前定義済みのデフォルト値を持っています。仮パラメータに実パラメータを指定しないと、Form Builderはそのパラメータに事前に決められたデフォルト値を採用します。たとえば、CALL_FORMプロシージャは、現行のフォーム・モジュールをアクティブにしたまま新規のフォーム・モジュールを起動します。次に、CALL_FORMプロシージャの構文の例を示します。

Open_Form(form_name,activate_mode,session_mode);

activate_modeとsession_modeパラメータに対して定義されたデフォルト・パラメータ値は、それぞれ定数ACTIVATEとNO_SESSIONです。

次のように、パラメータなしでOPEN_FORMを起動すると、Form Builderは暗黙的にデフォルト・パラメータを使用します。

Open_Form('order_entry');

わかり易いように、デフォルト・パラメータ値を入力しても構いません。次の2つのプロシージャ・コールは等価です。最初のコールは、キー入力が少なくて済みますが、2番目の方がプログラムの可読性が高まります。

Open_Form('order_entry');
Open_Form('order_entry',ACTIVATE,NO_SESSION);


位置表記法パラメータと名前表記法パラメータの使用

位置表記法または名前表記法のいずれかを使用して、パラメータをサブプログラムに渡すことができます。位置表記法が使用されると、コンパイラは実パラメータの相対的な位置を見て、対応する仮パラメータを判別します。

次の例は、update_inventoryと呼ばれる、ユーザーが名前を付与したプロシージャに対する構文を示しています。

PROCEDURE update_inventory (warehouse CHAR,product NUMBER);

位置表記法を使用してこのプロシージャをコールするには、仕様部の対応するパラメータと同じ順序で実パラメータを入力する必要があります。

update_inventory('chicago',10557);

名前表記法を使用してパラメータを入力すると、仮パラメータと実パラメータ間の対応がパラメータ・リストで明示的に示されているので、どの順序でもパラメータを渡せます。したがって、次の2つのプロシージャ・コールは論理的に等価です。

update_inventory(warehouse => 'chicago',product => 10557);
update_inventory(product => 10557, warehouse =>'chicago');

パラメータ・リストで、位置表記法で渡されるパラメータが名前表記法で渡されるパラメータより前にある場合は、次のように両方の表記法を使用することもできます。

update_inventory('chicago', product => 10557);

ほとんどのビルトイン・サブプログラムでは、位置表記法の方がキーストロークが少ないので使用し易いでしょう。ただし、2つ以上のオプション・パラメータがあるビルトイン・サブプログラムをコールする場合は、名前表記法が便利です。名前表記法では、渡したいオプション・パラメータの値のみを指定する必要があり、その他のパラメータの値は指定する必要がありません。


名前によるForm Builderオブジェクトの参照

PL/SQL文でForm Builderオブジェクトを名前で参照するには、次のようにオブジェクト名を引用符で囲みます。

'form_module_name'
'block_name'
'window_name'

たとえば、RESIZE_WINDOWプロシージャをコールする場合、サイズ変更するウィンドウ名を最初のパラメータとして渡す必要があります。このとき、ウィンドウ名を引用符で囲みます。

Resize_Window('status_window',50,35);

名前でitemを参照するには、完全に意味のある名前を形成するために項目が所属する、ブロックの名前を指定します。

'block_name.item_name'

たとえば、入力フォーカスを別の項目に移動するためにGO_ITEMビルトイン・プロシージャをコールする場合、次のようにGO_ITEMにターゲット項目名を渡します。

Go_Item('customer.cust_id');

レコード・グループ内の特定の列を参照するには、次のように入力します。

'record_group_name.column_name'

列オブジェクトまたはREF列のコンポーネントだった項目を参照するには、ブロックの名前の他に列の名前を含めます。オブジェクト・コンポーネントの場合は、列の名前と項目の名前をアンダースコアでつなぎます。

'blockname.columnname_itemname'


Form Builder項目値の参照

次の項目タイプは値を格納することができます。

•	チェック・ボックス

•	図表項目

•	リスト項目

•	ラジオ・グループ

•	テキスト項目

•	OLEコンテナ

•	VBX制御

項目の値を参照するには、項目が所属するブロック名を含めたフル・パス指定名の前にコロンを入力します。項目の値を参照する場合、項目名は引用符で囲みません。

:block_name.item_name

この構文は、Form Builderでグローバル変数の参照に使用される構文に似ています。実際、項目値はPL/SQL文の中でローカル変数やグローバル変数のように使用できます。項目値を利用して次の処理を実行できます。

式の値を項目に割り当てます。

:ord.total := price * .85;

ある項目の値を別の項目に割り当てます。

:ord.comment := :control.textfield;

データベース値を検索して項目に格納します。

SELECT phone INTO :info.tel_no FROM warehouse
WHERE id = :info.warehouse_id;


内部IDによるForm Builderオブジェクトの参照

Form Builderは、作成された各オブジェクトにIDを割り当てます。オブジェクトIDは、内部ハンドルであり、その実際の値は決して外部から判りません。

そのオブジェクト・クラスに適したビルトインFIND_ファンクションをコールすることで、オブジェクトIDを取得できます。FIND_ ファンクションには、パラメータとしてフル・パス指定のオブジェクト名が必要です。

次の例では、FIND_WINDOWファンクションはmy_windowという名前のウィンドウのIDを変数id_varに割り当てるために使用されています。

DECLARE
id_var	WINDOW;
BEGIN
id_var := Find_Window('my_window');
END;

いったんオブジェクトIDが変数に割り当てられると、オブジェクトを名前で参照する代わりに、その変数を使用してオブジェクトを参照できます。

たとえば、次のRESIZE_WINDOWプロシージャの構文は、ウィンドウ名またはウィンドウIDのいずれでも、このプロシージャをコールできることを示しています。

Resize_Window(window_name CHAR,width NUMBER,height NUMBER);
Resize_Window(window_id WINDOW,width NUMBER,height NUMBER);

したがって、次の2つのコールは論理的に等価です。

Resize_Window('my_window',50,35);
Resize_Window(id_var,50,35);

FIND_ファンクションは、プロシージャまたはファンクション・コールで実パラメータとしても使用できます。

Resize_Window((FIND_WINDOW('my_window'),50,35);

パラメータ・リスト内での名前とIDの混合　それぞれの実パラメータが個別のオブジェクトを参照している場合、同じパラメータ・リスト内のオブジェクトIDとオブジェクト名を混合することが可能です。

Replace_Content_View(canvas_id,'window_name');

ただし、フル・パス指定のオブジェクト名に、オブジェクトIDとオブジェクト名は使用できません。

/*  invalid procedure call:*/
Set_Group_Char_Cell(group_id.'column_name',1,'in_stock');

オブジェクトIDタイプ  FIND_ ファンクションの戻り値（つまりオブジェクトIDそのもの）は、特別なデータ型です。RESIZE_WINDOWプロシージャに対する構文の例の中で、フォーマル・パラメータwindow_idがタイプWINDOWとして宣言されていることがお分かりだと思います。オブジェクトIDのタイプは、Form Builderで事前定義されています。オブジェクト・クラスごとに異なるタイプがあります。

Form Builderデータ型

次の表は、各オブジェクトのFIND_ファンクションと戻り値の型です。

オブジェクト	ファンクション	戻り値の型
警告	FIND_ALERT	ALERT
データ・ブロック	FIND_BLOCK	BLOCK
キャンバス	FIND_CANVAS	CANVAS
レコード・グループ列	FIND_COLUMN	GROUPCOLUMN
エディタ	FIND_EDITOR	EDITOR
フォーム	FIND_FORM	FORMMODULE
レコード・グループ	FIND_GROUP	RECORDGROUP
項目	FIND_ITEM	ITEM
値リスト	FIND_LOV	LOV
メニュー項目	FIND_MENU_ITEM	MENUITEM
パラメータ・リスト	GET_PARAMETER_LIST	PARAMLIST
リレーション	FIND_RELATION	RELATION
レポート	FIND_REPORT_OBJECT	REPORT
タブ・ページ	FIND_TAB_PAGE	TAB_PAGE
タイマー	FIND_TIMER	TIMER
ツリー・ノード	FIND_TREE_NODE	NODE
ビュー	FIND_VIEW	VIEWPORT
ウィンドウ	FIND_WINDOW	WINDOW

オブジェクトIDに対する変数の宣言 オブジェクトIDをローカル変数に割り当てる前に、その変数がオブジェクトIDと同じタイプであることを宣言する必要があります。

DECLARE
id_var	  WINDOW;
BEGIN
id_var := Find_Window('my_window');
IF Get_Window_Property(id_var, HEIGHT) < 25 THEN
Resize_Window (id_var, 50, 35);
END IF;
END;

なぜオブジェクトIDを使用するのか? ご使用のPL/SQLコードの中でオブジェクトIDを使用する理由が2つあります。

•	オブジェクトIDを使用することで、パフォーマンスが改善されます。

•	オブジェクトIDを使用すると、コードがより汎用的になり、メンテナンスが容易になります。

PL/SQL文の中で名前によってオブジェクトを参照するたびに、Form BuilderはオブジェクトIDを内部的に検索するために必要な処理を行います。同じトリガーで複数回、名前によってオブジェクトを参照する場合、Form BuilderはオブジェクトIDを毎回検索します。次に示すトリガー・コードは、オブジェクトmy_record_groupを3回参照します。

DECLARE
dummy_var	NUMBER;
count	NUMBER;
BEGIN
dummy_var := Populate_Group('my_record_group');
count := Get_Group_Row_Count('my_record_group');
IF count > 20 THEN
Delete_Group_Row('my_record_group', ALL_ROWS);
END IF;
END;

反対に、オブジェクトをIDで参照すると、Form Builderは、ID取得のために1番最初にFIND_ファンクションをコールした時に、1回のみオブジェクトを照合します。

DECLARE
dummy_var	NUMBER;
count	NUMBER;
group	RECORDGROUP := Find_Group('my_record_group');
BEGIN
dummy_var := Populate_Group(group);
count := Get_Group_Row_Count(group);
IF count > 20 THEN
Delete_Group_Row(group, ALL_ROWS);
END IF;
END;

パフォーマンスの向上の他にも、オブジェクトIDを使用するとコードがメンテナンスし易く、再利用も可能になります。オブジェクト名を変更する場合、または別のオブジェクトで作業するのに同じコードを再利用する場合は、そのオブジェクトを参照するすべての文で変更しないで、最初のFIND_ファンクションのパラメータ・リストで名前を変更するのみで済みます。


Form Builder項目の間接参照

関連項目

NAME_INおよびCOPYビルトイン・サブプログラムで、間接的に項目を参照できます。

NAME_INファンクションは、指示された変数または項目の内容を戻します。NAME_INファンクションを使用して、項目を直接参照することなく項目値を取得できます。

次の2つの文は等価です。

IF :emp.ename = 'smith' -- direct reference
IF NAME_IN('emp.ename') = 'smith' -- indirect reference

戻り値は常に文字列です。DATEまたはNUMBER項目に対してNAME_INを使用するには、次のように適切なデータ型変換関数において、その文字列を希望するデータ型に変換します。

date_var := TO_DATE(Name_In('order.date_item'));
num_var := TO_NUMBER(Name_In('order.number_item'));

NAME_INに関する注意:

NAME_INファンクションでは、グローバル変数やローカル変数の内容を戻すことはできません。

問合せ入力モードで実行されるPL/SQLトリガーでは、データ・ブロック内の値にアクセスするには、標準のバインド変数表記法ではなくNAME_INを使用する必要があります。（これは、PL/SQLによって処理可能なフォームで値が生成されない項目に、エンド・ユーザーが関係演算子を入力する可能性があるためです。）

COPYプロシージャ  COPYプロシージャは、指示された値を指示された変数または項目に割り当てます。ただし、標準のPL/SQL割当てとは異なり、COPYプロシージャを使用することで値が設定されている項目を間接的に参照できます。

:emp.ename := 'smith';	-- direct reference
Copy('smith','emp.ename');	-- indirect reference

項目名が参照変数または項目に格納されている項目に値を割り当てる場合に、COPYをNAME_INファンクションと一緒に使用できます。

/* put value 'smith' in item whose name is stored in ref_item */
Copy('smith',Name_In('control.ref_item'));

なぜ間接的参照を使用するのか  項目を間接的に参照することで、より総称的で再利用可能なコードを記述することができます。実際の項目名の代わりに変数を使用することで、指示された変数に割り当てられた名前の項目を操作するサブプログラムを作成できます。

また、ユーザーがライブラリまたはメニュー・モジュールに書き込むPL/SQLでは、フォームのバインド変数（項目、パラメータ、グローバル変数）の値を参照する際は、必ず間接参照を使用します。ライブラリ、メニューおよびフォームは別々のアプリケーション・モジュールなので、メニュー項目コマンドやライブラリ・プロシージャ内のフォームの値を直接参照できません。


ローカル変数について

ローカル変数はPL/SQL変数の1つで、その値は、変数が宣言されたトリガーまたはユーザー命名サブプログラムからのみアクセスできます。Form Builderは、標準のPL/SQL変数宣言、およびローカル変数に対する割当てをサポートします。


グローバル変数について

グローバル変数は、Form Builder変数の1つで、現行セッション中、その値はアクティブなモジュールのトリガーおよびサブプログラムからアクセスできます。グローバル変数には、最大255バイト長の文字列が格納されます。

グローバル変数は、PL/SQLローカル変数のように形式的に宣言されません。グローバル変数は、値を初めて割り当てる時に、次のように初期化してください。

:GLOBAL.my_var := TO_CHAR(:order.total * .85);

グローバル変数を参照するには、変数名の前にコロンとGLOBALを入力します。次の例は、プロシージャ・コールに実パラメータとして渡されたグローバル変数を表しています。

calculate_discount(TO_NUMBER(:GLOBAL.my_var));

割当て時に初期化されなかったグローバル変数を参照すると、ランタイム・エラーが発生します。

グローバル変数を破棄してメモリーを解放するには、次のようにERASEビルトイン・プロシージャを使用します。

Erase('GLOBAL.my_var');


グローバル変数のデフォルト値による初期設定

DEFAULT_VALUEビルトイン・プロシージャを使用して、値がNULLの変数に別の値を割り当てられます。指示された変数の値がNULLでないとき、DEFAULT_VALUEは何も処理しません。値が割り当てられる変数が未定義のグローバル変数だと、Form Builderはその変数を作成します。

次に示す例は、countryという名前のグローバル変数を作成し、'FRANCE'という値をデフォルト値として設定します。

Default_Value('FRANCE','GLOBAL.country');


NULLキャンバスの変数としての使用

関連項目

NULLキャンバス項目の「キャンバス」プロパティは、未定義のままにしておきます。したがって、NULLキャンバス項目はキャンバスには割り当てられません。NULLキャンバス項目はランタイム時に表示されないので、オペレータはその項目を画面で見たり、対話的に作業することができません。

NULLキャンバスは、グローバル変数のようにデータ値のー時記憶域として使用できます。たとえば、次のように制御ブロックでNUMBERタイプの項目を定義し、その後でトリガーおよびユーザー命名サブプログラムでその値を参照できます。

IF :control.count > 200 THEN
...

値を格納できるのであれば、どのタイプの項目でもNULLキャンバス項目変数として使用できます。表示項目は、他のタイプの項目よりメモリー使用量が少ないので、NULLキャンバス項目変数として最適です。

グローバル変数とNULLキャンバス項目のどちらを変数として使用するかは、次の要素を考慮して決めてください。

•	項目は、CHARまたはNUMBER、DATEデータ型として定義できます。グローバル変数は文字列のみを格納します。また、TO_DATEおよびTO_NUMBERのような変換機能を使用する場合、追加の処理が必要です。

•	項目は、その「最大長」プロパティを設定することで、サイズ設定できます。グローバル変数は、常に255バイトです。

•	グローバル変数はランタイム・セッション中に複数のモジュールで参照できますが、NULLキャンバス項目は参照できません。

•	CLEAR_FORM操作によって、現行のフォーム内のNULLキャンバス項目の値はNULLに設定されます。グローバル変数はCLEAR_FORMによる影響は受けません。

•	項目とグローバル変数の両方を、データ・ブロックおよびレコード・グループSQL文のデフォルトのWHERE句で参照できます。


Form Builderシステム変数へのアクセス

関連項目

Form Builderには、Form Builder Runtimeセッション中にランタイム状況を追跡し記録するビルトイン・システム変数があります。この変数の値は、どのフォーム・トリガーまたはユーザー命名サブプログラムでも参照することができます。次に、システム変数（System.Mode）の値をチェックする例を示します。

IF :System.Mode = 'ENTER-QUERY' THEN
IF NOT Show_Lov('dept_lov') then
RAISE Form_Trigger_Failure;
END IF;


プログラム単位の作成


ユーザー命名サブプログラムについて

ユーザー命名サブプログラムは、フォームまたはメニュー、ライブラリ・モジュールで記述する名前付きPL/SQLファンクションまたはプロシージャです。トリガーは、プログラム制御をForm Builderアプリケーションに追加するときの主要な方法ですが、ユーザー命名サブプログラムは、複数トリガーにコードを入力せずにコードを再使用できるようにすることによって、トリガーを補います。

アプリケーション・イベントに応答して実行されるトリガーと違って、ユーザー命名サブプログラムは、ユーザーのアプリケーション内で明示的にコールされる必要があります。フォーム・モジュールに定義するユーザー命名サブプログラムは、そのモジュールのあらゆるトリガーからコールできます。

ちょうどビルトイン・サブプログラムによって、ユーザーが、ナビゲーションおよびデータベース相互作用などの共有機能を再利用できるように、ユーザー命名サブプログラムを作成することにより、ユーザー自身が作成するアプリケーション特定コードを再利用できるようになります。

1つ以上のトリガーまたはメニュー項目コマンドに、同一ラインのコードを書き込む場合、かわりにユーザー命名サブプログラムを1つ作成することを検討します。

通常のアプリケーションでは、同一処理を異なる方法、異なる場所（異なるウィンドウや異なるメニューなど）から実行できます。たとえば、受注アプリケーションにより、オペレータが、キーを押す、ボタンをクリックする、またはメニューからメニュー項目を選択することによって受注全体を計算できる場合があります。ユーザー命名サブプログラムがない場合は、Keyトリガー、When-Button-Pressedトリガーおよびメニュー項目コマンドに同一の計算式を作成する必要があります。

ユーザー命名サブプログラムに一旦計算式を書き込んでおくことが、適切な作成方法です。サブプログラムに意味のある名前、たとえば、calculate_totalsと付けて、計算式が要求されるトリガーまたはメニュー項目から名前でそれをコールすることができます。

ビルトイン・サブプログラムのように、ユーザー命名サブプログラムは、パラメータを組み込むことができます。サブプログラムにパラメータを宣言する場合、そのデータ型、必要に応じて、モードおよびデフォルト値を指定します。パラメータを使用して、実際の値を渡すと、実行時にプログラム式によって返される値を使用する数多くの総称サブプログラムが作成できます。


ユーザー命名サブプログラムの作成

ユーザー命名サブプログラムは、フォームまたはメニュー、ライブラリ・モジュールで定義される名前付きオブジェクトです。

ユーザー命名サブプログラムを作成する方法:

1	オブジェクト・ナビゲータで、希望するプログラム単位ノードを選択してから、「ナビゲータ」{bmct arrow.bmp}「作成」を選択します。

「新規プログラム単位」ダイアログが表示されます。

PL/SQLエディタ・コマンドに関する情報は、第2章「Working with the Design Tools」を参照してください。

2	作成するプログラム単位の名前を入力後、プログラム単位の型（プロシージャまたはファンクション、パッケージ仕様部、パッケージ本体）を指定し、「OK」を選択します。

3	定義しているプロシージャまたはファンクションのPL/SQLコードを入力および編集します。

標準PL/SQL構文および文法に従って、完全なプロシージャまたはファンクション定義を記述します。

4	「コンパイル」を選択して、プログラム単位をコンパイルします。

注意: プログラム単位のコンパイルに成功しなかった場合でも、Form Builderにより、エディタを終了すると自動的に変更が適用されます。

Form Builderは、型（プロシージャ本体、パッケージ仕様部など）を明示する注釈を付けて、各プログラム単位名を表示します。たとえば、プロシージャ本体には、次に示されているように注釈が付く場合があります。

calculate_totals (Procedure Body)

また、パッケージの仕様は次のように表示されます。

Error_Handlers (Package Specification)


プロシージャ構文

プロシージャ仕様部は、キーワードPROCEDUREで開始し、プロシージャ名または仮パラメータのリストで終了します。プロシージャ本体は、キーワードBEGINで開始し、キーワードENDで終了してから、あとにオプション・プロシージャ名が続きます。

構文

PROCEDURE procedure_name [argument list] IS
   [local variable declaration]
BEGIN
   statements
   [EXCEPTION exception_handlers]
END;

パラメータの内容は次のとおりです。

procedure_name	一意なユーザー定義のプロシージャ名。この名前は、ORACLE命名規則を順守する必要があります。詳細は、使用している『SQL言語リファレンス』を参照してください。

argument_list	({var_name [mode] type [:= value]}[,...])

パラメータの内容は次のとおりです。

var_name	一意なローカル変数名。

mode	Is {IN|OUT|IN OUT}.

type	任意の有効なPL/SQLタイプ。

value	PL/SQL式。

local_variable_  declaration	{var_name type [:= value]}(,...]

statements	実行可能PL/SQL文。

exception_handler	詳細は、使用している『PL/SQLユーザーズ・ガイドおよびリファレンス』を参照してください。


ファンクション構文

各ファンクションはRETURN文を実行する必要があります。RETURN文は、ファンクションの戻り値を設定し、即座に制御を、そのファンクションをコールしたトリガー、ユーザー命名サブプログラムまたはメニュー項目コマンドに戻します。

構文

FUNCTION function_name [argument list] RETURN [type] IS
   [local variable declaration]
BEGIN
   statements
   RETURN (result);
   [EXCEPTION exception_handlers]
   RETURN (result);
END;

パラメータの内容は次のとおりです。

function_name	一意なユーザー定義のファンクション名。この名前は、ORACLE命名規則を順守する必要があります。

argument_list	({var_name [mode] type [:= value]}[,...])

パラメータの内容は次のとおりです。

var_name	一意なローカル変数名。

mode	Is {IN|OUT|IN OUT}.

type	{BOOLEAN|VARCHAR2|NUMBER|DATE|Form Builder Object Type}

value	PL/SQL式。

 local_variable_  declaration	{var_name type [:= value]}(,...]

statements	実行可能PL/SQL文。

exception_handler	詳細は、使用している『PL/SQLユーザーズ・ガイドおよびリファレンス』を参照してください。

result	ファンクションの戻り値を指定する式。式の値は、ファンクションの仕様部に指定されたtypeに対応している必要があります。

プロシージャ例

次のプロシージャは、特定製品で使用可能な在庫を減らすことによって注文を処理します。このプロシージャをコールするには、製品IDおよび注文の単位数、その注文を入れる倉庫を引数に渡します。

PROCEDURE do_order (units_ordered IN NUMBER,
   prod_id IN NUMBER,
   warehouse IN NUMBER) IS
   units_in_stock	NUMBER;
BEGIN
   SELECT amount_in_stock INTO units_in_stock FROM inventory
     WHERE product_id = prod_id
     AND warehouse_id = warehouse;
   IF units_in_stock >= units_ordered THEN
     UPDATE inventory
     SET amount_in_stock = units_in_stock - units_ordered
       WHERE product_id = prod_id;
   ELSE
     メッセージ('Insufficient stock on hand.');
     Raise Form_Trigger_Failure;
   END IF;
END;

次のように、トリガーでこのプロシージャを使用できる場合があります。

do_order (:order.units, :order.prod_id, :warehouse.id);

この例で、3つの仮パラメータの値は、標準バインド変数構文で指定されたフォームの項目の現在の設定値です。

:block_name.item_name

ファンクション例

次のファンクションは、特定倉庫の在庫にプログラム単位数を戻します。このファンクションをコールすると、製品IDおよび倉庫IDが渡されます。

FUNCTION get_inventory (product NUMBER、warehouse NUMBER)
   RETURN NUMBER IS
   amount NUMBER;
BEGIN
   SELECT amount_in_stock INTO amount FROM inventory
   WHERE product_id = product and warehouse_id = warehouse;
   RETURN amount;
EXCEPTION
   WHEN OTHERS THEN
     Message('Invalid product name or warehouse ID.');
     RETURN (-1);
END;

次のように、トリガーでこのファンクションを使用できる場合があります。

DECLARE
   inv	NUMBER;
   amount_required	NUMBER := :order_block.order_item;
BEGIN
   inv := Get_inventory (:product.id, :warehouse.id);
   IF inv < 0 THEN
   .. . -- このエラーを処理してください。 ELSE IF inv >= amount_required THEN
   ...-- このオーダーを処理してください。 END IF;
END;


ユーザー命名サブプログラムのコール

ユーザー命名プロシージャおよびファンクションをコールするのは、ビルトイン・プロシージャおよびファンクションをコールすることと同じです。名前表記法および位置表記法を使用して、パラメータを渡すことができます。ビルトイン・サブプログラムのパラメータ・リストと同様に、ユーザー命名サブプログラムでもフォーム・オブジェクトを参照できます。

フォームまたはメニュー・モジュールをコンパイルしてランタイム・ファイルを作成するとき、Form Builderはそのモジュールがコールしたサブプログラムを検索できることが必要です。サブプログラムを定義するモジュールは、どこでそのサブプログラムがコールされるかを判別します。

複数のモジュールを含むアプリケーションを開発する場合、次のスコーピング・ルールに留意してください。

•	フォーム・モジュールで定義されたユーザー命名サブプログラムは、その同じモジュールのトリガーおよびその他のユーザー命名サブプログラムからのみコールできます。

•	メニュー・モジュールで定義されたユーザー命名サブプログラムは、その同じモジュールのメニュー項目コマンドおよび起動時コードからのみコールできます。

•	ライブラリ・モジュールで定義されたユーザー命名サブプログラムは、そのライブラリがフォームまたはメニュー・モジュールに付加されている場合に、すべてのトリガーまたはメニュー項目コマンドからコールできます。

ユーザー命名サブプログラムのライブラリを作成するには、ライブラリ・モジュールでプロシージャおよびファンクションを直接書くか、または他のモジュールからライブラリにサブプログラムをコピーします。ライブラリに関する情報は、第20章「ライブラリの処理」を参照してください。


パラメータの定義

パラメータの使用はオプションです。パラメータを組み込まないサブプログラムは、カッコなしで書き込まれます。パラメータを宣言する場合、仮パラメータ・リストにそのデータ型およびモードを明示する必要があります。

パラメータ・データ型  ファンクションでは、パラメータは、VARCHAR2型またはDATE型、NUMBER型、BOOLEAN型、あるいは、Form Builderオブジェクト型のいずれかとして宣言できます。プロシージャでは、パラメータは、任意の有効なPL/SQLタイプとなることができます。ファンクションまたはプロシージャを作成する場合、各仮パラメータの名前の後にデータ型を入力します。

PROCEDURE display_overdue_shipments (dept_id NUMBER);
FUNCTION credit_ok (customer VARCHAR2) RETURN BOOLEAN;

パラメータ・モード  パラメータのモードは、IN（デフォルト）またはOUT、IN OUTです。INパラメータは、値をサブプログラムに渡します。サブプログラムは、INパラメータの値を読み込みますが、値を書き込めません。INの実パラメータは、定数、リテラル、初期設定された変数、または式です。

OUTパラメータは、サブプログラムから値を戻します。OUTの実パラメータは、（バインド変数ではない）ローカル変数のみであり、サブプログラムは、変数に値を割り当てる必要があります。割り当てないと、事前定義済みのPL/SQL例外NO_DATA_FOUNDが使用されます。

IN OUTパラメータは、値をサブプログラムに渡して、サブプログラムから値を戻します。IN OUTの実パラメータはローカル変数またはバインド変数です。サブプログラムは、必要ならば、IN OUTパラメータの値を書き込めます。

ファンクションおよびプロシージャは、ともにOUTおよびIN OUTパラメータを指定できます。OUTまたはIN OUTパラメータによって値を戻すプロシージャは、ファンクションとほぼ同様に機能して、通常ファンクションが使用されるときの目的をすべて果たします。

プロシージャまたはファンクションの仕様部に仮パラメータのモードを明示しない場合、パラメータはINパラメータとして宣言されます。したがって、次のプロシージャの仕様部は等価です。

PROCEDURE calculate_discount(multiplier NUMBER);
PROCEDURE calculate_discount(multiplier IN NUMBER);

サブプログラム仕様部で仮パラメータ名の後にINまたはOUT、IN OUTを入力して、パラメータのモードを明示的に指定できます。

注意: IN OUTまたはOUTパラメータを持つサブプログラムをコールするとき、たとえサブプログラム自体が明示的にパラメータの値を書き込まないとしても、値は常に実パラメータに割り当てられることに注意してください。

たとえば、仮IN OUTパラメータの実パラメータとしてテキスト項目を参照する場合、サブプログラム自体が明示的に割り当てられていないとしても、サブプログラムを実行すると、テキスト項目の値は更新されます。これによって、レコードステータスはCHANGEDとマークされて、更新または挿入されます。

デフォルト値のINパラメータへの割当て　パラメータを宣言する場合、デフォルト値を、仮INパラメータに割り当てることができます。Form Builderビルトイン・サブプログラムでは、通常この手法を使用します。これらのサブプログラムをコールするとき、パラメータのデフォルト値を上書きしようとしないかぎり、デフォルト・フォーマル・パラメータの実パラメータを入力する必要はありません。

デフォルト値を仮パラメータに割り当てるには、仮パラメータ・リストにPL/SQL代入演算子を使用します。割り当てる値は、仮パラメータと同じデータ型の定数または式である必要があります。

PROCEDURE calculate_discount(multiplier IN NUMBER := 15);

このプロシージャをコールするとき、プロシージャにデフォルト値（15）で実行させる場合、multiplierパラメータを省略できます。

calculate_discount;

または、実パラメータを渡して、デフォルト値を上書きできます。

calculate_discount(10);

位置表記法を使用している場合は、後続するパラメータのみがデフォルト値を持つことに注意してください。


PL/SQLパッケージについて

パッケージは、論理的に関連している型およびオブジェクト、プロシージャ、ファンクションをグループ化するPL/SQL構成です。通常、パッケージには、本体が不要のときもありますが、仕様部と本体の2つの部分があります。

仕様部はパッケージへのインタフェースです。それは、使用可能な型、変数、定数、例外、カーソルおよびサブプログラム（プロシージャおよびファンクション）を宣言します。本体ではカーソルとサブプログラムを完全に定義し、仕様部をインプリメントします。

Form Builderは、使用できるいくつかの事前定義済みパッケージを提供するか、ユーザーは、フォームまたはメニュー、ライブラリ・モジュールにユーザー自身のパッケージを定義できます。さらに、Oracle Serverでパッケージを定義すると、クライアント側アプリケーションからその内容を参照できます。Form Builderでのストアド・プロシージャの使用方法に関する説明は、ストアド・プログラムについてを参照してください。

パッケージの構文は、次のプロシージャの構文に類似しています。

PACKAGE name IS  -- specification
-- public type and object declarations
-- subprogram specifications
END [name];
PACKAGE BODY name IS  --body (hidden part)
-- private type and object declarations
-- subprogram bodies
[BEGIN
-- initialization statements]
END [name];

仕様部にはパブリック宣言が保持されていて、アプリケーションで参照できます。本体には、インプリメント詳細およびプライベート宣言が保持されていて、アプリケーションからは隠されています。

サブプログラムおよびカーソルのみに、基礎を形成するインプリメントまたは定義があります。このため、型、定数、変数および例外のみを宣言する場合は、パッケージ本体は必要ありません。

パッケージ仕様部の宣言のみが、アプリケーションで参照およびアクセスできます。パッケージ本体のインプリメント詳細は、隠されていてアクセスできません。仕様部を個別にコード化およびコンパイルできます。一旦、仕様部がコンパイルされると、その仕様部を参照するトリガーまたはユーザー命名サブプログラムを正常にコンパイルできます。アプリケーションを完了できるようになるまで、パッケージ本体を完全に定義する必要はありません。

注意: 後からパッケージを変更する場合、パッケージをコールするフォームまたはメニューによっては、再コンパイルも行う必要がある場合があります。


PL/SQLパッケージの作成

例

プロシージャおよびファンクションを編成して、PL/SQLオブジェクトのグループを形成すると、パッケージが作成できます。

パッケージは、ユーザーのセッション全体に常設されている変数（サーバー側GLOBAL変数と類似して役に立つ）、およびパッケージ内のファンクションとプロシージャへのサイドコールをオープンにしておくことがあるカーソルを含むことができます。

パッケージの詳細は、『PL/SQLユーザーズ・ガイドおよびリファレンス』を参照してください。

注意: （インスタンスのユーザーによって）最初にパッケージがコールされると、パッケージ全体がOracle SGAにロードされて、その後、即座に組み込まれたプロシージャまたはファンクションが起動します。

制限事項  Form Builderが直接サポートを提供するのは、直接パッケージ変数またはパッケージ・カーソルを参照するものではなく、ストアド・プロシージャおよびファンクションを起動するものです。サーバー側のコード内でパッケージ変数およびパッケージ・カーソルを操作するには、ファンクションまたはプロシージャを設計する必要があります。使用可能なデータ型は、次のとおりです。

•	VARCHAR2--最大VARCHAR2(2000)

•	NUMBER

•	DATE

•	BOOLEAN

これらのデータ型を使用して、ファンクションまたはプロシージャを書く場合、パッケージ変数およびフェッチされたカーソル・データの値は、パラメータまたはファンクションの戻り値によってForm Builderの呼出し側に戻されます。

Form Builderは、パッケージを参照するForm Builder PL/SQLブロックをコンパイルするために、パッケージ仕様部および本体の両方が有効であることを要求します。


PL/SQLパッケージの作成の例

CREATE OR REPLACE PACKAGE LIB_HR AS

-- Retrieve Social Security Number for an Employee
    FUNCTION get_ssn(theEmpNo NUMBER) RETURN NUMBER;
   -- Hire a new Employee and return his/her Employee Number
  FUNCTION hire_employee(theName VARCHAR2,
                  theDept NUMBER,
                  theSal  NUMBER,
                  theDate DATE,
                  theSSN  NUMBER) RETURN NUMBER;

   -- Terminate an existing Employee
   PROCEDURE fire_employee(theEmpno NUMBER,
                  theReason VARCHAR2);

   -- Set Signing Bonus Variable
   PROCEDURE set_bonus(newValue NUMBER);

   END LIB_HR;

CREATE OR REPLACE PACKAGE BODY LIB_HR AS
   -- Package Variables --
   signingBonus NUMBER := 1000;

   -- Package Cursor --
   CURSOR next_empid
      IS SELECT empid_sequence.NEXTVAL
         FROM dual;

   -- Retrieve Social Security Number for an Employee
   FUNCTION get_ssn(theEmpNo NUMBER) RETURN NUMBER IS
      tmpSSN NUMBER;
   BEGIN
      SELECT ssn
         INTO tmpSSN
         FROM emp
         WHERE empno = theEmpNo;
         RETURN(tmpSSN);
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         RETURN(-1);
    END;

   -- Hire a new Employee and return Employee Number
   FUNCTION hire_employee(theName VARCHAR2,
                  theDept NUMBER,
                  theSal  NUMBER,
                  theDate DATE,
                  theSSN  NUMBER) RETURN NUMBER IS
      tmpEmpNo NUMBER;
   BEGIN
      IF (NOT next_empid%ISOPEN) THEN
         OPEN next_empid;
      END IF;
      FETCH next_empid INTO tmpEmpNo;
      -- We don't have to CLOSE the cursor because it will
      -- remain open between calls

      INSERT INTO EMP(empno, ename, deptno, sal,
                       hiredate, ssn, bonus)
      VALUES(tmpEmpNo, theName, theDept, theSal,
         theDate, theSSN, signingBonus);
      RETURN(tmpEmpNo);
   EXCEPTION
      WHEN OTHERS THEN
      RETURN(-1);
   END;
   -- Terminate an existing Employee
   PROCEDURE fire_employee(theEmpno NUMBER,
                     theReason VARCHAR2) IS
   BEGIN
      DELETE FROM emp
         WHERE empno = theEmpno;
      INSERT INTO terminations(empno, reason)
         VALUES(theEmpno, theReason);
   END;

   -- Set Signing Bonus Variable
   PROCEDURE set_bonus(newValue NUMBER) IS
   BEGIN
      signingBonus := newValue;
   END;

END LIB_HR;


PL/SQLパッケージ内容の参照

標準PL/SQLドット表記法を使用して、パッケージの内容が参照できます。

package_name.object_name
package_name.program_unit_name

たとえば、パッケージwin_manageで定義されたarrange_windowsプロシージャをコールするために、トリガーまたはユーザー命名サブプログラムでは、次のように記述します。

win_manage.arrange_windows

ユーザー命名サブプログラムに適用されるパッケージには、同じスコーピング・ルールが適用されます。


Form Builderパッケージについて

関連項目

Form Builderは、次の事前定義済みパッケージを提供します。

Standard拡張機能	STANDARD拡張機能パッケージには、Form Builderビルトイン・プロシージャおよびファンクションが含まれています。

TOOL_ENV	TOOL_ENVパッケージにより、Oracle環境変数と対話ができます。

ORA_NLS	ORA_NLSパッケージにより、現行の言語環境に関するハイレベル情報を抽出できます。

TOOL_RES	TOOL_RESパッケージにより、リソース・ファイルから文字列リソースを抽出できます。

ORA_FFI	ORA_FFIパッケージにより、外部関数（3GL）にアクセスできます。

ORA_DE	ORA_DEは内部パッケージです。このパッケージは使用できません。

STPROC	STPROCは内部パッケージです。このパッケージは使用できません。

TEXT_IO	TEXT_IOパッケージにより、ファイルを読み込んで、ファイル・システムのファイルに情報を書き込めます。

PECS	PECSパッケージにより、フォーム・パフォーマンスを評価できます。

FORMS_OLE	FORMS_OLEパッケージには、Form Builder OLEファンクションおよびプロシージャが含まれています。

VBX	VBXパッケージには、Form Builder VBXファンクションおよびプロシージャが含まれています。

Standard	標準パッケージには、PL/SQLプロシージャおよびファンクションが含まれています。

注意: PL/SQLでは、供給パッケージも用意され、そのプロシージャはFormsアプリケーションのPL/SQLコードからコールすることができます。ただし、DBMS_で名前が始まるプロシージャはすべて（クライアント側ではなく）サーバー側でのみ利用することができます。


問合せ処理

各データ・ブロックには、データ・ソースが関連付けられています。アプリケーションまたはエンド・ユーザーによるアクションを受けて、Form Builderはデータ・ソースに問合せを発行します。ここでは、Form Builderが問合せを作成し、処理する方法を説明します。

Form Builderが実行するSQL SELECT文は、追加のコマンドがない場合、データ・ブロックのプロパティとその実表項目のプロパティによって定義されます。これらのプロパティの多くは、Form Builderによって自動的に設定されます。アプリケーションの設計者が設定できるプロパティは、次のとおりです。

•	WHERE句

•	ORDER BY句

•	項目のコピー値

アプリケーションでは、ビルトインを使用して実行時にプロパティを設定することもできます。

実行時に、エンド・ユーザーは次の2つのステップを実行し、問合せを開始できます。

1	フォームを「問合せ入力」モードにして、例による問合せ条件をフィールドに入力します。これにより、レコード例が作成されます。フィールドにコロン（:）を入力すると、Form Builderの「検索条件入力」ダイアログ・ボックスがオープンし、値をフィールドに入力して指定するのが難しい複雑な条件を指定できます。ここには、ORDER BY句も指定できます。

2	Form Builderがレコード例を使用して問合せを実行するように指定します。

アプリケーションでは、エンド・ユーザーが作成するレコード例を変更することも、エンド・ユーザーのアクションなしにレコード例を作成することもできます。Form Builderは、以前に設定されたブロックのプロパティをレコード例に結合し、データベースに発行する問合せを作成します。

Form Builderは次のステップを実行し、データベースに発行するSELECT文を作成します。

1	ブロックの実表項目に対応する列名を使用して、SELECT文を作成します。

2	WHERE句ブロック・プロパティとレコード例から取得された追加のWHERE条件をAND処理して作成されたWHERE句を追加します。たとえば、DEPTNOフィールドに値10を入力すると、Form Builderは追加の条件DEPTNO=10をWHERE句に追加します。ブロックのいずれかの実表項目の「（項目）のコピー値」プロパティにNULL以外の値がある場合、Form BuilderはこれをWHERE句に取り込みます。

3	レコード例のORDER BY句を使用し、ORDER BY句を追加します。レコード例にORDER BY句が含まれていない場合は、ORDER BY句ブロック・プロパティの内容を使用します。

Form Builderは、プログラム文、メニュー選択、またはファンクション・キーによってENTER_QUERY、EXECUTE_QUERYまたはCOUNT_QUERYビルトインのいずれかを実行する場合、または、対応するいずれかの対話型モードに入る場合、常にレコード例を初期化し直します。

設計者は、PRE-QUERYトリガーで項目に値を割り当てることができます。PRE-QUERYトリガーがSELECT文に加える変更によって、エンド・ユーザーが「問合せ入力」モードで入力した値が上書きされることに注意してください。この機能を利用すると、設計者は不正な問合せを選別することができます。

「検索条件入力」ダイアログ・ボックス  「問合せ入力」モードでフィールドにコロンを入力すると、「検索条件入力」ダイアログ・ボックスをコールすることができます。このダイアログ・ボックスでは、パターン・マッチングと関係演算子を使用し、問合せ条件を入力してWHERE句の値を指定できます。

「問合せ入力」モードでの処理

フォームが「問合せ入力」モードのときは、Form Builderの処理ルールが次のように変更されます。

•	妥当性チェックを行いません。

•	キー・トリガーで定義されたものではなく、標準のファンクション・キー定義を使用します。

•	次のファンクション・キーを使用不可にします。

Block Menu（ブロック・メニュー）	Next Block（次のブロックへ）
[フォーム/ロールバック消去]	Next Record（次のレコードへ）
[コミット]	Next Set of Records（次のレコード・セットへ）
[下へ]	Previous Block（前のブロックへ）
Duplicate Item（項目の複製）	Previous Record（前のレコードへ）
Duplicate Record（レコードの複製）	[下へスクロール]
Insert Record（レコード挿入）	[上へスクロール]
[レコードのロック]	[上へ]


初期化

Form Builderは、フォームの各ブロックにNULLレコードを作成してフォームを初期化します。NULLレコードの各項目はNULLです。Form Builderは、最初にブロックに入るときに、NULLレコードを初期化されたレコードに置き換えます。この時点で、いくつかの項目に初期値が割り当てられます。項目の「初期値」プロパティは、その項目の初期値を指定します。

注意: トリガーがNULLレコード内の項目に値を割り当てると、レコードはNULLではなくなります。初期値はレコードのどの項目にも割り当てられません。たとえば、フォームにNULLレコードのみが含まれているときに、PRE-FORMトリガーが起動するとします。このトリガーが項目に値を割り当てる場合は、レコードの他のすべての項目に適切な初期値が割り当てられるようにする必要があります。

いくつかのタイプの項目には、特別な注意事項があります。

チェック・ボックス

初期値によって、チェック・ボックスの初期状態がチェックされた状態になるかどうかが決まります。次のいずれかに該当しない限り、有効な初期値を指定する必要があります。

•	項目の「ほかの値のマッピング」プロパティの設定が「チェックあり」または「チェックなし」です。

•	「チェックあり」または「チェックなし」に関連付けられた値がNULLです。

注意: NULLレコードのチェック・ボックスはチェックなしで表示されます。

リスト項目

次のいずれかに該当しない限り、有効な初期値を指定する必要があります。

•	項目の「ほかの値のマッピング」プロパティがNULL以外の値です。

•	いずれかのリスト要素に関連付けられた値がNULLです。

注意: NULLレコードのリスト項目はブランクで表示されます。

ラジオ・グループ

次のいずれかに該当しない限り、有効な初期値を指定する必要があります。

•	項目の「ほかの値のマッピング」プロパティがNULL以外の値です。

•	グループ内のいずれかのラジオ・ボタンに関連付けられた値がNULLです。

注意: NULLレコードのラジオ・グループは、どのラジオ・ボタンも選択されていない状態で表示されます。

同期項目

たとえば、項目BとCの「項目と同期」プロパティが別の項目の名前（たとえばA）に設定されている場合、A、B、Cは同期項目のセットを形成します。Aはセットのマスター項目になり、BとCは従属項目になります。以前のバージョンのForm Builderでは、同期項目はミラー項目と呼ばれていました。

同期セットの各項目は、共通のデータ値を共有しますが、異なる項目プロパティを持つことができます。Form Builderはマスター項目からデータ固有のプロパティとトリガーを取得し、従属項目のプロパティとトリガーは無視します。

Form Builderは、マスター項目の「初期値」プロパティからの同期項目を初期化します。また、マスター項目のON-SEQUENCE-NUMBERトリガーも使用します。

設計者が従属項目の「初期値」プロパティまたはON-SEQUENCE-NUMBERトリガーを指定すると、Form Builderはそれを無視して警告を出します。

項目（またはそれに同期している項目）が次のすべてに該当する場合、Form Builderは項目の「初期値」プロパティを無視します。

•	項目がチェック・ボックス、ポップリスト（ドロップダウン・リスト）、Tlist（テキスト・リスト）、またはラジオ・グループです。

•	指定された初期値に対応する要素が項目に存在しません。

•	項目の「ほかの値のマッピング」プロパティの値がNULLです。


妥当性チェック

Form Builderは、項目がそれに付随するルールに準拠していることを確認して、項目の妥当性をチェックします。トリガーを使用すると、追加の妥当性チェックをインプリメントできます。

妥当性チェック単位

フォームの「妥当性チェック単位」プロパティは、フォーム内の妥当性チェックの適用範囲を制御します。妥当性チェック単位は、項目、レコード、ブロック、またはフォームになります。多くのForm Builderアプリケーションは、項目レベルで妥当性をチェックします。

妥当性チェックが実行されるタイミング

Form Builderは、次のようなときに妥当性チェックを実行します。

•	Form Builderが妥当性チェック単位の外側でナビゲートする場合。これは、エンド・ユーザーが特定のファンクション・キーを押すか、妥当性チェック単位の外側でマウスをクリックした場合、またはトリガーが特定のビルトインを起動した場合に起こります。

•	トリガーがENTERビルトインを起動した場合、またはエンド・ユーザーが[Enter]を押した場合。

•	トリガーがCOMMIT_FORMビルトインを起動した場合、またはエンド・ユーザーが[Commit]を押した場合。この場合、Form Builderは妥当性チェック単位とは無関係にフォームの妥当性をチェックします。

•	トリガーがVALIDATEビルトインを起動した場合。

「問合せ入力」モードでは、妥当性チェックは実行されません。このため、エンド・ユーザーはForm Builderが無効と判断するような問合せ基準でも入力できます。

妥当性チェックの処理方法

Form Builderは、各項目、レコード、ブロック、およびフォームのステータスを内部的に保持します。妥当性チェックのために、可能性のある各妥当性チェック単位は、次のどちらかの値の妥当性チェック・ステータスを持ちます。

•	有効

•	無効

「有効」ステータスは、Form Builderがその妥当性チェック単位を検査する必要がないことを意味します。「無効」ステータスは、内部的には「作成」および「変更」とされるステータスの組合せで、Form Builderが妥当性チェック単位内の項目を検査する必要があることを意味します。妥当性チェック処理では、「作成」と「変更」の区別はほとんどありません（この後の表の「レコード」エントリの記述を参照してください）。

妥当性チェックが失敗すると、3番目のステータスが発生しますが、この場合は問題が解決するまでForm Builderが処理を中止するので、失敗のステータスは妥当性チェック処理には入りません。

Form Builderは、次のいずれかの処理に従って妥当性チェック単位を検査します。

項目	項目のステータスが「有効」の場合、処理は停止します。ステータスが「無効」の場合、Form Builderは標準の妥当性チェックを実行し、WHEN-VALIDATE-ITEMトリガーを起動します。（ただし、「遅延を必須強制」プロパティを参照してください。）
レコード	レコードのステータスが「有効」の場合、処理は停止します。ステータスが「無効」の場合、Form Builderはレコードの各項目の妥当性をチェックし、WHEN-VALIDATE-RECORDトリガーを起動します。 注意: VALIDATEトリガーをコールした結果として妥当性チェックが実行され、レコードの内部ステータスが「作成」の場合、処理は停止します。
データ・ブロック	Form Builderはブロック内のすべてのレコードの妥当性をチェックします。
フォーム	Form Builderはフォーム内のすべてのブロックの妥当性をチェックします。
項目の妥当性チェックのステータス

無効  次のいずれかの場合に、Form Builderは項目のステータスを「無効」に設定します。

•	Form Builderがレコードを作成した場合。

•	エンド・ユーザーが項目に値を入力した場合、またはトリガーによって項目に値が格納された場合。

注意: 新しい値と古い値が同じであっても、Form Builderは項目のステータスを「無効」に設定します。たとえば、「有効」ステータスになっている項目の値が10で、その項目にエンド・ユーザーが10を入力した場合、Forms Builderは項目のステータスを「無効」に設定します。

•	Form Builderが（DUPLICATE_RECORDビルトインまたは[Duplicate Record]キーに応じて）レコードを複製した場合、元のレコードで「無効」ステータスだった項目は、複製されたレコードでも「無効」ステータスになります。

有効  次のような場合に、Form Builderは項目のステータスを「有効」に設定します。

•	Form Builderが項目の妥当性を正常にチェックした場合、妥当性チェックによって（WHEN-VALIDATE-ITEM、WHEN-VALIDATE-RECORDまたはPOST-CHANGEトリガーを通じて）項目の値が変更されても、Form Builderは項目のステータスを「有効」に設定します。変更された値の妥当性を再チェックすることはありません。

注意: これにより、妥当性チェックのループを回避できますが、トリガー・エラーによってForm Builderが無効な値をデータベースにコミットしてしまう可能性があります。

•	Form Builderがデータベースからレコードをフェッチした場合、フェッチ中に起動したPost-Changeトリガーによって項目の値が変更されても、Form Builderは項目のステータスを「有効」に設定します。

•	Form Builderがデータベースにデータを正常にコミットした場合、フォームのすべての項目のステータスを「有効」に設定します。Form Builderは、コミット・トランザクション中に起動するトリガーによる変更の妥当性をチェックしません。

注意: このルールの例外については、「コミット処理中のデータの変更」を参照してください。

•	Form Builderが（DUPLICATE_RECORDビルトインまたは[Duplicate Record]キーに応じて）レコードを複製した場合、元のレコードで「有効」ステータスだった項目は、複製されたレコードでも「有効」ステータスになります。

レコードの妥当性チェックのステータス

各レコードの妥当性チェックのステータスは、「無効」または「有効」になります。

注意: レコードの妥当性チェックのステータスは、SYSTEM.RECORD_STATUSシステム変数の値と同じではありません。

無効  次のような場合に、Form Builderはレコードのステータスを「無効」に設定します。

•	Form Builderがレコードを作成する場合、そのレコードのステータスを「無効」に設定します。

•	Form Builderがレコード内の項目のステータスを「無効」に設定する場合、そのレコードのステータスを「無効」に設定します。

•	Form Builderが（DUPLICATE_RECORDビルトインまたは[Duplicate Record]キーに応じて）レコードを複製する場合、複製されたレコードのステータスを「無効」に設定します。

有効  次のような場合に、Form Builderはレコードのステータスを「有効」に設定します。

•	Form Builderがレコードの妥当性をチェックする場合は、まだステータスが「有効」になっていない各項目の妥当性をチェックします。この処理が完了してすべての項目のステータスが「有効」になり、WHEN-VALIDATE-RECORDトリガーが（存在する場合に）Form_Trigger_Failure例外をコールせずに返った場合は、レコードのステータスを「有効」に設定します。

•	Form Builderは、データベースからフェッチしたレコードのステータスを「有効」に設定します。

•	Form Builderがデータベースにデータを正常にコミットした場合、フォーム内の各レコードのステータスを「有効」に設定します。Form Builderは、コミット・トランザクション中に起動するトリガーによる変更の妥当性をチェックしません。

注意: このルールの例外については、「コミット処理中のデータの変更」を参照してください。

•	Form Builderが（DUPLICATE_RECORDビルトインまたは[Duplicate Record]キーに応じて）「有効」ステータスのレコードを複製する場合、複製されたレコードのステータスを「有効」に設定します。

標準の妥当性チェック

Form Builderは、プロパティ・パレットの「値リスト」セクションに指定された要件を使用して、項目の妥当性をチェックします。

テキスト項目の妥当性チェックのステップ

テキスト項目については、Form Builderでは次の一連の妥当性チェックのステップの１つが実行されます。どのステップが実行されるかは、項目の値がNULLであるかどうかによって決まります。テキスト項目の妥当性チェックのステップが失敗すると、Form Builderではその失敗が記録され、それ以降の妥当性チェックのステップが省略されます。

項目の値がNULLの場合

1	項目の「必須」プロパティの設定が「はい」の場合、項目の妥当性チェックは失敗します。ただし、項目レベルの妥当性チェックが行われ、次のいずれかに該当する場合を除きます。

•	フォームの「遅延を必須強制」プロパティの値が「はい」または「4.5」の場合。（この場合の妥当性チェックの動作については、「遅延を必須強制」プロパティを参照してください。)

•	項目のインスタンスの更新がエンド・ユーザーに許可されていない場合。

前述の例外的条件に該当する場合は、Form Builderは、レコード・レベルの妥当性チェックまで、NULL項目の妥当性チェックを延期します。（項目インスタンスの更新がエンド・ユーザーに許可されていない場合は、「遅延を必須強制」が「いいえ」に設定されていても、妥当性チェックは延期されます。）

2	項目の「必須」プロパティが「いいえ」に設定されている場合は、WHEN-VALIDATE-ITEMトリガーが起動されます。トリガーによってForm_Trigger_Failure例外がコールされた場合、項目はこの妥当性チェックのステップに失敗します。

項目の値がNULLではない場合

1	データ型をチェックします。値が項目のデータ型と一致しない場合、項目はこの妥当性チェックのステップに失敗します。

Form Builderは、ユーザーが入力した値を項目のデータ型に変換しようとします。

項目に書式マスクがある場合は書式マスクを使用します。項目に書式マスクがなく、項目のデータ型がDATEまたはDATETIMEの場合、Form Builderは起動時に取得された入力書式マスクを使用します。

項目に書式マスクがなく、項目のデータ型がNUMBERまたはALPHAの場合、Form Builderは有効な数値またはアルファベットのテキスト文字列をチェックします。

2	長さをチェックします。値が項目の「固定長」プロパティと一致しない場合、項目はこの妥当性チェックのステップに失敗します。

3	範囲をチェックします。値が項目の「最低許容値」プロパティおよび「最高許容値」プロパティと一致しない場合、項目はこの妥当性チェックのステップに失敗します。

4	項目の「値リストを妥当性チェックに使用」プロパティの値が「はい」の場合は、項目の値リストに値が表示されていることを確認します。

5	POST-CHANGEトリガーを起動します。トリガーによってForm_Trigger_Failure例外がコールされた場合、項目はこの妥当性チェックのステップに失敗します。

6	WHEN-VALIDATE-ITEMトリガーを起動します。トリガーによってForm_Trigger_Failure例外がコールされた場合、項目はこの妥当性チェックのステップに失敗します。

非テキスト項目の妥当性チェックのステップ

項目の「項目タイプ」プロパティの値が「テキスト項目」ではない場合、Form Builderは上記の順序に従ってステップを実行しますが、ステップ3～5は省略します。また、「項目タイプ」プロパティの値が「リスト項目」で「リスト形式」プロパティの値が「コンボ・ボックス」の場合以外は、ステップ2も省略します。

同期項目の妥当性チェック

たとえば、項目BとCの「項目と同期」プロパティが別の項目の名前（たとえばA）に設定されている場合、A、B、Cは同期項目のセットを形成します。Aはセットのマスター項目になり、BとCは従属項目になります。以前のバージョンのForm Builderでは、同期項目はミラー項目と呼ばれていました。

同期セットの各項目は、共通のデータ値を共有しますが、異なる項目プロパティを持つことができます。Form Builderはマスター項目からデータ固有のプロパティとトリガーを取得し、従属項目のプロパティとトリガーは無視します。

項目の同期セットに割り当てられた値の妥当性をチェックする場合、Form Builderはマスター項目から次のデータ固有のプロパティとトリガーを使用します。

•	「必須」プロパティ

•	「最高許容値」プロパティ

•	「最低許容値」プロパティ

•	「初期値」

•	POST-CHANGEトリガー

•	WHEN-VALIDATE-ITEMトリガー

従属項目にこれらのプロパティの値やこれらのトリガーの仕様部がある場合、Form Builderはそれを無視して警告を出します。

Form Builderは、プログラムまたはエンド・ユーザーのアクションのいずれかによるデータ値の設定の使用項目から残りの妥当性チェックのプロパティを取得します。特に、その項目の「固定長」プロパティと「リストで妥当性チェック」プロパティが使用されます。

SYSTEM.TRIGGER_ITEM変数には、データ値の設定に使用された項目の名前が含まれます。これにより、POST-CHANGEトリガーまたはWHEN-VALIDATE-ITEMトリガーのコードから、その項目のプロパティを参照できます。これらのトリガーがマスター項目用に定義されていてもかまいません。

Form Builderは、プログラムまたはエンド・ユーザーによって設定されていない値を、マスター項目によって設定されたものとみなします。この値が、Form Builderが初期値に使用するソースになるためです。

レコード・レベルの妥当性チェックの中で、Form Builderはデータ値の設定に使用された項目の妥当性をチェックします。妥当性チェックに失敗した場合、エンド・ユーザーからその項目インスタンスへの入力が禁止されていない限り、Form Builderはその項目にフォーカスします。入力が禁止されている場合は、エンド・ユーザーの入力が許可されている同期セットの別の項目にフォーカスしようとします。項目が見つからない場合は、「変更可能」プロパティの値が「はい」になっているセットの項目にフォーカスしようとします。


コミット処理

コミット処理は、Form Builderがデータベース内のデータをフォーム内のデータに一致させようとする方法です。Form Builderの通常の処理サイクルは次のとおりです。

1	データベースからレコードを読み込みます。

2	エンド・ユーザーに仮の挿入、更新、削除を許可します。エンド・ユーザーに仮の挿入、更新、削除を許可します。仮の変更はフォームにのみ表示されます。データベースは変更されません。

3	変更をデータベースに転記します。Form Builderは残りのすべての処理を実行し、データをデータベースに送信します。データを転記した後は、[Clear Form]ファンクション・キーまたはCLEAR_FORMビルトインを通じて変更をロールバックするか、コミットすることしかできません。

4	Form Builderは転記した変更をコミットします。データベースのデータが永続的に変更されます。

"コミット処理"という言葉は、上記サイクルのステップ3と4を指しています。通常、これらのステップは一緒に発生します。[Commit]キーまたはCOMMIT_FORMビルトインのコールに応じて、Form Builderは最初に転記し、次にデータベースにデータをコミットします。

コミットの前に転記が独立して発生することがあります。エンド・ユーザーは転記コマンドを発行できませんが、トリガーによってPOSTビルトインを起動できます。

注意: Form Builderでは、標準のForm Builderコミット処理を含まないコミットはサポートされません。たとえば、Oracleプリコンパイラのユーザー・イグジットや、ストアド・プロシージャから発行されたコミットはサポートされません。

挿入、更新、削除の処理

転記は、フォームからデータベースへの仮の変更の送信で構成されます。仮の変更とは、前回の転記以降に挿入、更新、または削除のマークが設定されたレコードのことです。転記中に、Form Builderはフォーム内のすべてのブロックの挿入、更新、削除を処理します。これらの変更は標準的な方法で処理されます。トリガーを使用すると、この標準的な動作を柔軟に変更することができます。

挿入  挿入は、データベース内の行の保留中の挿入です。各挿入にはSQL文が関連付けられており、Form Builderが挿入を転記するときに実行されます。文の形式は次のとおりです。

INSERT INTO table [(column, column, .. .)]
  VALUES (value, value, . . .);

table	現行ブロックの実表の名前です。
column	実表項目に対応する列です。項目が派生列の場合は、column句に表示されません。
value	対応する列に挿入する値です。
更新  更新は、データベース内の既存行の保留中の更新です。各更新にはSQL文が関連付けられており、Form Builderが更新を転記するときに実行されます。文の形式は次のとおりです。

UPDATE table
  SET (column=value, column=value, .. .)
  WHERE ROWID=rowid_value;

table	現行ブロックの実表の名前です。
column	実表項目に対応する列です。項目が派生列の場合は、column句に表示されません。
value	対応する列を更新する値です。
rowid_value	Form Builderが更新する行のROWID値です。
注意:

•	WHERE句は、ROWID値のみを指定します。これにより、データベースが更新すべき一意の行を識別します。Form Builderは、ブロックの「キー・モード」プロパティの値が「Unique_Key」（デフォルト）になっているときのみROWID構成体を使用します。

•	エンド・ユーザーが列を更新する権限を持っておらず、ブロックの「列セキュリティの強化」プロパティの値が「はい」の場合、Form Builderはその列をUPDATE文に入れません。エンド・ユーザーは、その権限に応じて個別のUPDATE文を使用することができますが、Form Builderのセッション中は、文は変更されません。

削除  削除は、データベース内の行の保留中の削除です。各削除にはSQL文が関連付けられており、Form Builderが削除を転記するときに実行されます。文の形式は次のとおりです。

DELETE FROM table WHERE ROWID=rowid_value;

table	現行ブロックの実表の名前です。
rowid_value	Form Builderが削除する行のROWID値です。
注意: WHERE句は、ROWID値のみを指定します。これにより、データベースが削除すべき一意の行を識別します。Oracle以外のデータ・ソースでは、Form BuilderはROWID値を使用しません。

注意: コミットに失敗した場合、ROWID値がNULL値になっていない可能性があります。ROWID値のかわりにレコード・ステータスを使用して、コミットの成否をテストしてください。

コミット処理が発生するタイミング

Form Builderは、次のようなときにコミット処理を実行します。

•	トリガーまたは[Commit]キーによってCOMMIT_FORMビルトインが起動された場合。

•	現行ブロックのデータベース項目が前回のコミット以降に変更されており、トリガーがCLEAR_BLOCKビルトインを（DO_COMMIT引数付きで）起動した場合。

•	フォームのデータベース項目が前回のコミット以降に変更されており、トリガーがCLEAR_FORMビルトインを（DO_COMMIT引数付きで）起動した場合。

•	エンド・ユーザーが次の警告に対して「はい」を選択した場合。

実行した変更をコミットしますか?

この警告は、次のいずれかの場合に表示されます。

•	現行ブロックのデータベース項目が前回のコミット以降に変更されており、次のいずれかのイベントが発生した場合。

CLEAR_BLOCK（ASK_COMMIT引数付きまたは引数なし）

COUNT_QUERY

ENTER_QUERY

EXECUTE_QUERY

NEW_FORM

•	フォームのいずれかのブロックのデータベース項目が前回のコミット以降に変更されており、次のいずれかのイベントが発生した場合。

CLEAR_FORM（ASK_COMMIT引数付きまたは引数なし）

フォームを出る

注意: PL/SQLブロックがForm Builder内から（SQL COMMIT文を通じて）データベース・コミットを発行すると、COMMIT_FORMビルトインが起動されたときと同じようにForm Builderコミット処理が発生します。

コミット処理中のデータの変更

コミット処理によって妥当性チェックが実行され、トリガーが起動されることがあります。その結果、コミット・イベントがデータベース項目を変更することがあります。一部のトリガーでは、このような現行のコミット・イベント中のデータベースの変更を、Form Builderがコミットしようとします。

注意: Form Builderは、PRE-DELETE、PRE-INSERTおよびPRE-UPDATEの各トリガーによって妥当性がチェックされていないデータベースの変更をコミットすることがあります。

たとえば、PRE-INSERTトリガーが実表項目への値を選択するとします。

•	対象となるレコードの更新をForm Builderがまだ処理していない場合、Form Builderは変更の妥当性をチェックせずに、現行のコミット・イベント中の変更をコミットします。

•	対象となるレコードの更新をForm Builderがすでに処理している場合、Form Builderは変更をコミットしませんが、データベースからのデータとしてレコードにマークを設定します。それ以降、コミットされる前にレコードを更新しようとすると、エラーが発生します。

注意: Form Builderは、POST-COMMIT、POST-DELETE、POST-INSERTおよびPOST-UPDATEの各トリガーによって妥当性がチェックされていないデータベースの変更をコミットすることがあります。

たとえば、POST-INSERTトリガーが実表項目への値を選択するとします。

•	コミットが処理された、または処理中のブロックに対象となるレコードがある場合、Form Builderは現行のコミット・イベント中の変更をコミットしません。コミットが成功した場合、Form Builderはすべての項目とレコードに「有効」のマークを設定します。このため、それ以降の処理中にエラーが発生します。

•	コミットが処理されていないブロックに対象となるレコードがある場合、Form Builderは現行のコミット・イベント中の変更の妥当性をチェックし、コミットします。

標準のコミット処理の置換え

ON-INSERT、ON-UPDATEおよびON-DELETEの各トリガーは、標準のコミット処理を置き換えます。


ロック制御

  関連項目

Oracleデータベースでは、多くのエンド・ユーザーが同時にデータを参照し、変更することができます。ロックとは、データの変更が同時に発生したときに、それらが互いに衝突するのを防ぐための仕組みです。表と行をロックすることによって、データの一貫性と整合性を保つことができます。Oracleのロックの方法と種類の詳細は、『Oracle8 Server概要』を参照してください。

通常、Form Builderではロックが自動的に処理されますが、設計者とエンド・ユーザーは、Form Builderがリソースをロックするタイミングと方法を制御できます。

エンド・ユーザーが行を更新すると、Form Builderはその行をロックして、行を更新したユーザーが変更をコミットするかロールバックするまで、他のユーザーが同じ行を更新できないようにします。ブロックの「ロック・モード」プロパティの値が「遅延」になっていない限り、Form Builderはエンド・ユーザー・イベント、トリガー、トランザクション処理に応じて、自動的に排他行ロックを取得しようとします。

排他行ロック

•	他のユーザーが行を更新または削除したり、その行のロックを取得したりできないようにします。

•	他のユーザーに行の問合せを許可します。

エンド・ユーザーによるロック  エンド・ユーザーが実表項目の値を変更したり、レコードのロックを明示的に要求したりすると、Form Builderはデータベース内の対応する行に排他ロックを設定しようとします。排他行ロック文の形式は次のとおりです。

SELECT <all base table items in block>
  FROM <base table for the block>
  WHERE ROWID = <the unique row ID for the row to be locked>
  FOR UPDATE OF <all base table items in block>

SELECT FOR UPDATEを使用することによって、フォームで作業中にエンド・ユーザーが変更するデータと、データベース内の対応するデータが同一になるようにします。

トリガーによるロック  トリガーがデータ操作言語（DML）コマンドによって表を変更すると、データベースは対象となる行に排他ロックを設定しようとします。Form Builderは、DML文によって設定されるロックを管理しません。

トリガーが次のいずれかのビルトインを使用すると、Form Builderはフェッチされたレコードに対応する行に排他ロックを設定しようとします。

•	DELETE_RECORD

•	LOCK_RECORD

一般に、問合せ先レコードの値を変更するアクション（ビルトインの起動、PL/SLQの割当て、更新）があると、Form Builderは排他ロックを要求します。

暗黙的行ロックと明示的行ロック

ロックには、暗黙的ロックと明示的ロックの2種類があります。この2つの機能は同じですが、設定されるタイミングが異なります。

暗黙的ロック  すべてのForm Builderアプリケーションが、暗黙的ロックを使用します。つまり、エンド・ユーザーが明示的に行をロックする必要はありません。Form Builderは、ブロックの「ロック・モード」プロパティで設定されたタイミングで行に排他ロックを設定しようとします。このプロパティの値は、「自動」、「即時」、「遅延」のいずれかです。

Oracleデータベースでは、「自動」と「即時」は同じ意味になります。対応するレコードの項目にエンド・ユーザーが変更を入力し始めるとすぐに、Form Builderは行に排他ロックを設定しようとします。「自動」はForm Builderに対して、プロパティやトリガー・コードを変更することなく、データベースの機能を検出して調整するように指示します。

ブロックの「ロック・モード」プロパティの値が「遅延」になっている場合、変更をコミットするときまでForm Builderは行をロックしません。コミットを行う時点で、Form Builderはデータベースの現行の値と元の問合せによって返された値の間の違いを探します。違いが検出されると、エンド・ユーザーに警告を出し、変更のコミットを中止します。

注意: 項目レベルで妥当性をチェックする場合、Form Builderでロックが取得できなければ、変更が可能になりません。それ以外の場合は、Form Builderは変更を許可し、レコードの妥当性チェック中に行に排他ロックを設定しようとします。

明示的ロック  エンド・ユーザーまたはトリガーは、特定の行をただちにロックするようにForm Builderに明示的に要求できます。エンド・ユーザーが要求する場合は、デフォルト・メニューから「レコード」 [image] 「ロック」を選択します。トリガーから明示的にロックを要求する場合は、LOCK_RECORDビルトインを起動します。ON-LOCKトリガーのアクションはForm Builderの標準のロック・プロシージャを置き換えるため、ON-LOCKトリガーはこの方法で明示的にロックを取得する必要があります。

ロック取得の失敗

Form Builderは、ロックの取得を決められた回数試みてから、再試行するかどうかの確認を求めます。エンド・ユーザーは、待機し続けるか、ロック・プロシージャを終了するかを選択できます。

ユーザーが表に排他ロックを設定している場合、他のユーザーはその表からレコードを問い合せることはできますが、行を更新したり削除することはできません。この状態は、リソースが使用可能になるまで通知なしで継続します。このため、排他表ロックの使用は最小限に抑えることをお薦めします。

ロックが解除されるタイミング

データベースは次のようなときにロックを解除します。

•	フォームが正常にコミットした場合。

•	フォームが強制終了した場合。

•	Form Builderが（セーブポイントまでのロールバックではなく）完全なForm Builderロールバックを実行した場合。

•	Form Builderがデータベースへの接続を解除した場合。

コミットが失敗した後で発生するようなセーブポイントまでのロールバックでは、ロックが維持されます。このため、エンド・ユーザーは必要な変更を加えて再度コミットすることができます。

注意:

•	トリガーがFOR_UPDATE引数によって行を明示的にロックした場合、コミット後に再びその行を問い合せて新しいロックを取得する必要があります。

•	レコードやブロックを消去しても、対応する行のロックは解除されません。

•	トリガーまたはフォーム・レベルのプロシージャでROLLBACK文またはCOMMIT文を使用すると、Form Builderはすべてのロックを解除します。Form BuilderはROLLBACK文を引数なしのCLEAR_FORMビルトインと解釈します。これは、COMMIT文をCOMMIT_FORMビルトインと解釈します。

標準のロックの置換え

ON-LOCKトリガーは、Form Builderがロックを取得しようとする状況で常に起動します。ON-LOCKトリガーのコードは、Form Builderの標準のロック・プロシージャを完全に置き換えます。このため、通常ON-LOCKトリガーにはLOCK_RECORDビルトインのコールが含まれます。


プロパティについて

全プロパティ

Form Builderでアプリケーションを構築するには、オブジェクトを作成し、オブジェクトごとにプロパティと呼ばれる特性を設定します。オブジェクトのプロパティは、オブジェクトの外観と機能を判別します。


プロパティの設定と変更について

関連項目

各プロパティの説明ページには、設定方法という見出しがあり、そのプロパティの設定方法、つまり、Form Builderで（プロパティ・パレットを使用して）定義するのか、実行時にプログラムによって設定するのかが記載されています。

プログラムによるプロパティ設定

オブジェクトのプロパティをプログラムによって動的に変更するには、Form Builderの次のビルトイン・サブプログラムを使用します。

•	SET_APPLICATION_PROPERTY

•	SET_BLOCK_PROPERTY

•	SET_CANVAS_PROPERTY

•	SET_FORM_PROPERTY

•	SET_ITEM_PROPERTY

•	SET_ITEM_INSTANCE_PROPERTY

•	SET_LOV_PROPERTY

•	SET_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

また、前述のサブプログラムに対応する、プロパティを取得するビルトイン（GET_ITEM_PROPERTYなど）を使用すれば、プロパティに設定されている値の大半はプログラムによって判別できます。


プロパティの説明ページの見かた

説明

プロパティの説明は一般パターンに従います。プロパティ名はボールドで出力され、後に簡単な説明が表示されます。

プロパティの説明ページには、次の見出しが表示されます。ただし、プロパティの内容によっては、見出しの一部が表示されない場合があります。

見出し	説明
適用されるオブジェクト	そのプロパティが適用されるオブジェクト・クラス
設定方法	プロパティの設定方法: Form Builder（でプロパティ・パレットを使用して設定）、プログラム（を使用して実行時に設定）
参照するビルトイン	そのプロパティを設定できるビルトイン（プログラムによってプロパティを設定できる場合のみ）
デフォルト	プロパティのデフォルト値
必須/オプション	必須プロパティかオプションか否か
制限事項:	プロパティを使用する際の制限事項
使用上の注意	プロパティを使用する際の考慮事項


コントロール・プロパティについて

全プロパティ

説明

レイアウト・エディタにおけるActiveX（OCX）コントロールのプロパティです。現在のOCXコントロールについての説明画面へのリンクが設定されています。

適用されるオブジェクト  ActiveX項目

設定方法  Form Builder

必須/オプション　オプション


「アクセス・キー」プロパティ

制限事項	全プロパティ

説明

アクセス・キーとして使用する文字を指定します。アクセス・キーは、[Alt]+「C」のようにオペレータが[Alt]キーと同時に押して特定の項目を選択または実行するためのキーです。

項目ラベルでは、アクセス・キーに相当する文字に下線が付きます。

たとえば、Push_Button1のラベルが「Commit」で、アクセス・キーが「c」と定義されているとします。オペレータが[Alt]+「C」（Microsoft Windows）を押すと、Form Builderが「Commit」コマンドを実行します。

適用されるオブジェクト　ボタン、ラジオ・ボタン、チェックボックス

設定方法  Form Builder

デフォルト

いいえ

必須/オプション　オプション

使用上の注意

•	オペレータがアクセス・キーを使用してアクションを起動すると、そのアクションに対応付けられているトリガーが起動されます。たとえば、Push_Button1に登録済みのアクセス・キーがあるとします。また、Push_Button1に対応付けられているWhen-Button-Pressedトリガーがあるとします。オペレータがアクセス・キーを押すと、When-Button-PressedトリガーはPush_Button1を起動します。


「アクセス・キー」プロパティの制限事項

•	「アイコン化」プロパティが「はい」に設定されているボタンには、アクセス・キーを設定できません。


「警告スタイル」プロパティ

全プロパティ

説明

警告のスタイル、つまり、注意、警告、情報のいずれかを指定します。GUIプラットフォームでは、警告でどのビットマップ・アイコンを表示するのかを指定します。

適用されるオブジェクト　警告

設定方法  Form Builder

デフォルト

警告


「別名」プロパティ

全プロパティ

説明

データ・ブロックが関連付けられている表の別名を決定します。

適用されるオブジェクト  データ・ブロックに関連付けられた表/列

設定方法  Form Builder

デフォルト

データ・ブロック・ウィザードは、表名の最初の文字に対して「別名」プロパティを設定します（たとえば、DEPTという名前の表には、デフォルトで別名Dが与えられます）。

必須/オプション  列オブジェクトまたはREFを含むOracle8の表に対しては必須

使用上の注意

Oracle8の表については、列オブジェクトまたはREFを含むSELECT文は、表とその別名の両方を識別する必要があります。また、その別名を接頭辞として使用し、列名を修飾する必要があります。

次に例を示します。

CREATE TYPE ADDRESS_TYPE AS OBJECT

(STREET   VARCHAR2(30),

CITY     VARCHAR2(30),

STATE    VARCHAR2(2));

CREATE TABLE EMP

(EMPNO     NUMBER,

ADDRESS   ADDRESS_TYPE);

このEMP表の別名がEの場合、SELECT文を次のように修飾する必要があります。

SELECT EMPNO, E.ADDRESS.CITY FROM EMP E;

この場合、別名はEです。列オブジェクトADDRESS.CITYはその別名で修飾され、その別名は表名の後ろにも与えられます（通常のリレーション列であるEMPNOには、そのような修飾は不要です）。

ほとんどの場合、この別名はForm Builderによって自動的につけられます。Form Builderは設計時に別名を決定し、次にOracle8 Serverからデータをフェッチするとき、実行時における被修飾名を自動的に使用します。ユーザーがこの別名付けを考慮する必要があるのは、ブロックWHERE句のコーディングのような作業を行っている場合のみです。


「拡張可能」プロパティ

全プロパティ

説明

フレームの内容がフレームの境界線を超えて拡張するとき、Form Builderが自動的にフレームを拡張できるかどうかを指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「空のブランチを許可」プロパティ

全プロパティ

説明

子を持たないブランチ・ノードを許可するかどうかを指定します。「FALSE」に設定されると、子を持たないブランチ・ノードはリーフ・ノードに変換されます。「TRUE」に設定されると、空のブランチが縮小されたノードとして表示されます。

適用先  階層ツリー

設定　Form Builder、プログラム

デフォルト

いいえ

必須/オプション  必須


「複数行プロンプト使用可」プロパティ

全プロパティ

説明

プロンプトを2行に分割して枠内に余白を作るかどうかを指定します。なお、プロンプトは2行にのみ分割できます。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「開始 - 連結プロンプト使用可」プロパティ

全プロパティ

説明

表スタイルの枠に項目を配置する際、枠内の領域の使用方法を最適化するかどうかを指定します。

デフォルトでは、このプロパティは「いいえ」に設定されていて、プロンプトは項目の上枠に接続されています。「開始 - 連結プロンプト使用可」プロパティを「はい」に設定すると、十分なスペースがあれば、項目の開始枠にプロンプトを接続できるようになります。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

いいえ

必須/オプション  必須


「上 - 連結プロンプト使用可」プロパティ

全プロパティ

説明

フォーム・スタイルの枠に項目を配置する際、枠内の領域の使用方法を最適化するかどうかを指定します。

デフォルトでは、このプロパティは「いいえ」に設定されていて、プロンプトは項目の開始枠に接続されています。「上 - 連結プロンプト使用可」プロパティを「はい」に設定すると、十分なスペースがあれば、項目の上枠にプロンプトを接続できるようになります。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

いいえ

必須/オプション  必須


「Application Instance」プロパティ

制限事項

説明

Microsoft Windowsプラットフォーム上でアプリケーションのインスタンスへの参照名を指定します。Windows以外のプラットフォームでは、常にNULL値が戻ります。

適用されるオブジェクト　フォームまたはブロック、項目

参照するビルトイン

GET_APPLICATION_PROPERTY

デフォルト

NULL

使用上の注意

インスタンス・ハンドルのポインタ値を取得するには、GET_APPLICATION_PROPERTYでAPPLICATION_INSTANCEプロパティを指定します。API「ウィンドウ」のコールにインスタンス・ハンドルを使用するときは、TO_PLS_INTEGERを使用して、このポインタ値を変換する必要があります。


「Application Instance」プロパティの制限事項

このプロパティは、Microsoft Windows上でのみ有効です（他のプラットフォームではNULLが戻ります）。


「矢印スタイル」プロパティ

全プロパティ

説明

線の矢印スタイルを「なし」、「始点」、「終点」、「両端」、「始点に対して中央」または「終点に対して中央」のいずれかに指定します。

適用されるオブジェクト  グラフィック（線）

設定方法  Form Builder

デフォルト

なし

必須/オプション  必須


「関連メニュー」プロパティ

制限事項	  関連項目	  全プロパティ

説明

モジュール内でパラメータが対応付けられているメニューの名前（複数も可）を指定します。パラメータが対応付けられたメニューにオペレータがナビゲートすると、「パラメータ値入力」ダイアログ・ボックスに値を入力するようにというメッセージが表示されます。

適用されるオブジェクト　メニュー・パラメータ

設定方法  Form Builder

必須/オプション　オプション


「関連メニュー」プロパティの制限事項

全画面メニューにのみ適用されます。


「オーディオ・チャネル」プロパティ

全プロパティ

説明

データベースにサウンド項目を保存するときに使用するチャネル数、つまり、「自動」、「モノ」、「ステレオ」のいずれかを指定します。

WRITE_SOUND_FILEビルトイン・サブプログラムを使用してサウンド・データをファイルシステムに書き込むときは、チャネル・パラメータを使用してチャネル数を設定します。

適用先　サウンド項目

設定　Form Builder、プログラム

参照するビルトイン

•	WRITE_SOUND_FILE

デフォルト

自動

必須/オプション  必須


「自動列幅」プロパティ

関連項目	  全プロパティ

説明

値リストの列幅を自動的に設定するかどうかを指定します。

•	このプロパティを「はい」に設定すると、各列の幅が次の設定値のうち大きい方の値に自動的に設定されます。

•	「幅」プロパティに指定した幅

または

•	「列タイトル」プロパティで指定した通りに列のタイトルを表示するのに必要な幅。

•	「自動列幅」プロパティを「いいえ」に設定すると、各列の幅は「Display Width」プロパティに指定した値に設定されます。

適用先　値リスト

設定方法  Form Builder

デフォルト

いいえ


「自動表示」プロパティ

全プロパティ

説明

値リストが付加されているテキスト項目内にオペレータまたはアプリケーションがナビゲートしたときに、自動的に値リストを表示するかどうかを指定します。

適用先　値リスト

設定方法  Form Builder

デフォルト

いいえ


「自動位置」プロパティ

全プロパティ

説明

値リストの位置を、値リストが起動されたフィールドの近くに自動的に設定するかどうかを指定します。

適用先　値リスト

設定方法  Form Builder

デフォルト

いいえ


「自動問合せ」プロパティ

全プロパティ

説明

座標.を参照。


「自動最新表示」プロパティ

制限事項	  全プロパティ

説明

問合せを自動的に再実行して、問合せレコード・グループに基づく値リストに値を挿入するかどうかを指定します。デフォルトでは、値リストの起動時、つまり値リストが表示されるたび、または「はい」に設定された「リストで妥当性チェック」プロパティを持つテキスト項目の妥当性検査をForm Builderが行うたびに、Form Builderは問合せを実行して、基礎を形成する値リストのレコード・グループを挿入します。

•	このプロパティを「はい」（デフォルト）に設定すると、値リストが起動されるたびにForm Builderによって問合せが実行されます。この動作は、基礎を形成する値リストのレコード・グループが最新のデータベース値を含むことを保証します。

•	「自動最新表示」プロパティを「いいえ」に設定すると、基礎を形成する値リストのレコード・グループに、この値リストまたはその他の値リストが起動されたために発生する問合せによって挿入されているというフラグがたてられていない場合のみ、Form Builderは問合せを実行します（なお、同じレコード・グループに基づいて複数の値リストを定義できます）。値リスト表示の結果として基礎を形成する値リストのレコード・グループがすでに挿入されていると、Form Builderは問合せを再実行しませんが、かわりに、レコード・グループに現在格納されているレコードを使用して値リストを表示します。

また、「自動最新表示」プロパティによって、問合せで取り出されたレコードが基礎を形成するレコード・グループに保存される時間の長さも指定できます。

•	このプロパティを「はい」に設定すると、問合せによって戻されたレコードは、値リストが必要な間のみ基礎を形成するレコード・グループに保存されます。オペレータが値リストを画面から消す、あるいは妥当性チェックが終了すると、このレコードのキャッシュは破壊されます。

•	「自動最新表示」プロパティを「いいえ」に設定すると、初期問合せからのレコードは、削除されるか置き換えられるまで、基礎を形成する値リストのレコード・グループに格納されます。ただし、これらのレコードはプログラムによって操作できます。たとえば、POPULATE_GROUPビルトインをコールすることで、基礎を形成する値リストのレコード・グループ内のレコードを明示的に置き換えることができます。レコード・グループ・ビルトインを実行すれば、レコード・グループのセルの値を取得したり設定したりすることもできます。

適用先　値リスト

設定　Form Builder、プログラム

参照するビルトイン

•	GET_LOV_PROPERTY

•	SET_LOV_PROPERTY

デフォルト

はい

使用上の注意

•	同じレコード・グループに基づく値リストが複数存在する場合、通常はすべての値リストについて「自動最新表示」プロパティに同じ値を設定します。しかし、必ずしも同じ値を設定する必要はありません。値リストごとに異なる値を設定した場合、リフレッシュ動作は次のようになります。

値リスト1と値リスト2は同じレコード・グループを基準にしています。値リスト1は「はい」に設定されている「自動最新表示」で、値リスト2は「いいえ」に設定されている「自動最新表示」です。値リスト1を起動すると、Form Builderは問合せを実行して、基礎を形成するレコード・グループを移入します。オペレータが値リスト1を画面から消すと、レコード・キャッシュが破壊され、レコード・グループが削除されます。

続いて値リスト2を起動すると、「自動最新表示」を「いいえ」に設定していても、Form Builderは再び問合せを実行してレコード・グループを移入します。値リスト1が取り消されたときに、基礎を形成する値リスト2のレコード・グループが消去されているため、Form Builderは値リストの起動が問合せを実行したとはみなされず、問合せが再実行されます。

一方、値リスト1と値リスト2の両方が「自動最新表示」を「いいえ」に設定していると、値リスト1を起動したときにForm Builderは問合せを実行しますが、値リスト2の問合せを再実行しません。初期の問合せが行を戻さなくても、このことは当てはまります。

•	「自動最新表示」プロパティを「いいえ」に設定した場合は、POPULATE_GROUPビルトインを使用すれば最初の問合せで戻された行をプログラムによって置換できます。この置換操作は、Form Builderで問合せを再実行するかどうかが判断されるときは、無視されます（Form Builderでは、問合せが発生したかどうかを示す内部フラグのみがチェックされ、その問合せで実際に戻された行はチェックされません）。


「自動最新表示」プロパティの制限事項

問合せレコード・グループに基づく値リストにのみ有効です。静的レコード・グループや問合せなしレコード・グループに基づく値リストには設定できません。


「自動選択」プロパティ

全プロパティ

説明

値リストが起動され、ユーザーが自動縮小機能および検索機能を使用してリストを単一の選択に縮小したときの動作を指定します。

•	「Automatic Confirm」プロパティを「はい」に設定すると、値リストが自動的に画面から消え、1行分の列の値が対応する戻り項目に割り当てられます。

•	「Automatic Confirm」プロパティを「いいえ」に設定すると、値リストは表示されたままになり、その値を選択するか、あるいは値リストを画面から消すかをオペレータが明示的に選択できます。

適用先　値リスト

設定方法  Form Builder

デフォルト

いいえ


「自動スキップ」プロパティ

全プロパティ

「自動スキップ」（項目）プロパティ

「自動スキップ」（値リスト）プロパティ


「自動スキップ」（項目）プロパティ

制限事項	  関連項目	  全プロパティ

説明

現在の項目の最後の文字にデータが追加された、または最後の文字でデータが変更されたときに、カーソルを次のナビゲート可能項目に移動するかどうかを指定します。最後の文字は、「最大長」プロパティで定義します。

適用されるオブジェクト　テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

使用上の注意

「自動スキップ」プロパティを「固定長」プロパティと組み合わせて設定すれば、オペレータが要求された最後の文字を入力したときに、次に適用可能なテキスト項目にカーソルを移動できます。


「自動スキップ」（項目）プロパティの制限事項

•	1行のテキスト項目にのみ有効です。

•	このプロパティによってカーソルが移動されるときは、Key-NXT-ITEMトリガーは起動されません。したがって、この動作は、オペレータが「次の項目へ」を選択していないという事実と矛盾しません。


「自動スキップ」（値リスト）プロパティ

制限事項	  全プロパティ

説明

オペレータが値リストから任意のテキスト項目を選択したときに、カーソルを次のナビゲート可能項目に移動するかどうかを指定します。このプロパティを「いいえ」に設定すると、オペレータが値リストから任意の項目を選択しても、フォーカスはそのテキスト項目上に留まります。

適用先　値リスト

設定　Form Builder、プログラム

参照するビルトイン

SET_ITEM_PROPERTY

デフォルト

いいえ


「自動スキップ」（値リスト）プロパティの制限事項

•	このプロパティによってカーソルが移動されるときは、Key-NXT-ITEMトリガーは起動されません。したがって、この動作は、オペレータが「次の項目へ」を選択していないという事実と矛盾しません。


「Background_Color」プロパティ

関連項目	  全プロパティ

説明

オブジェクトのバックグラウンド領域のカラーを指定します。

適用されるオブジェクト  項目、タブ・ページ、キャンバス、ウィンドウ、ラジオ・ボタン

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「凹凸」プロパティ

制限事項	  全プロパティ

説明

オブジェクトの枠の外観、つまり「凸」、「凹」、「凸枠」、「凹枠」または「なし」のいずれかを指定します。項目のインスタンス・レベルでこのプロパティをプログラムから設定し、このレベルでこのプロパティが指定されていないことを示すこともできます。つまり、SET_ITEM_INSTANCE_PROPERTYビルトインを使用して、項目のインスタンス・レベルでこのプロパティをプログラムから指定する場合、枠の凹凸は設計時に指定された項目レベルの値によって決定されるか、あるいはSET_ITEM_PROPERTYビルトインによって実行時に決定されます。

適用されるオブジェクト　チャート項目、イメージ項目、カスタム項目、スタック・キャンバス、テキスト項目（Microsoft Windowsのみ）

設定方法　Form Builder、プログラムによる [BORDER_BEVEL]

参照するビルトイン

•	GET_ITEM_INSTANCE_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_ITEM_INSTANCE_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

凹

使用上の注意

•	スクロールするウィンドウを作成する場合は、「凹凸」プロパティを「凸」または「凹」に設定することをお薦めします。


「凹凸」プロパティの制限事項

•	凹凸表示がサポートされていないウィンドウ・マネージャ上では、「凸」、「凹」または「なし」のうちどれを指定しても結果は同じです。したがって、項目に枠を付けるかどうかのみを指定します。

•	Form Builderで項目の「凹凸」プロパティが「なし」に設定されている場合、BORDER_BEVELをプログラムから設定することはできません。

•	プログラムからBORDER_BEVELを「なし」に設定することはできません。


「Block Description」プロパティ

全プロパティ

説明

「データ・ブロック・メニューにリスト済み」プロパティ/「データ・ブロックの記述」プロパティの説明を参照してください。


「下タイトル」プロパティ

全プロパティ

「下タイトル」（エディタ）プロパティ


「下タイトル」（エディタ）プロパティ

全プロパティ

説明

エディタ・ウィンドウの下部に表示するタイトル（最大72文字）を指定します。

適用されるオブジェクト  エディタ

設定方法  Form Builder

必須/オプション　オプション


「境界ボックスはスケーリング可能」プロパティ

全プロパティ

説明

テキスト・オブジェクトのサイズが変更されたときに、テキスト・オブジェクトの枠ボックスのサイズを同時に変更するかどうかを指定します。

適用されるオブジェクト　図形テキスト

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「Builtin_Date_Format」プロパティ

全プロパティ

説明

日付の値と、エンド・ユーザーからは潜在的に見えない文字列との間の変換に使用される書式マスクを決定します。この書式マスクは、ビルトイン・サブプログラムの実行時に最も一般的に使用されます。

適用されるオブジェクト  アプリケーション（グローバル値）

設定方法  プログラム

参照するビルトイン

•	GET_APPLICATION_PROPERTYビルトイン

•	SET_APPLICATION_PROPERTYビルトイン

必須/オプション  オプション。ただし、新規アプリケーションに関しては、完全な世紀情報および時間情報を含む書式マスクをこのプロパティに設定しておくことを強くお薦めします。また、この書式マスクは、「PLSQL_DATE_FORMAT」プロパティで指定されているものと同一にするようお薦めします。

デフォルト

すでに述べたように、新規アプリケーションに対してはこの値を明示的に設定することを強くお薦めします。設定しない場合、デフォルトの値は状況に応じて異なります。

フォームは、まず、項目がDATE2、DATE4またはDATETIMEの各オブジェクトであるかどうかを判断し、次に、その判断に従って一連の書式マスクが試行されます（これらのデフォルト・マスクは、前のリリースとの互換性を保つために使用されます）。

オブジェクト型は次の表の基準に従って決定されます。

データ・オブジェクト	Type
データ型DATETIMEの項目	DATETIME
データ型DATEの項目:
・yyy、YYYY、rrrrまたはRRRRを含む書式マスクが組み込まれているもの	DATE4
・yyy、YYYY、rrrrまたはRRRRを含まない書式マスクを持つもの	DATE2
・書式マスクを持たず、長さ（最大長）が10以上のもの	DATE4
・書式マスクを持たず、長さが9以下のもの	DATE2
（PARAMATER.myparamに含まれるような）データ型DATEのパラメータ（DATETIMEパラメータは存在しないことと、パラメータの「最大長」プロパティはCHARパラメータのみに適用されることに注意）	DATE2
データ型DATEの値リスト列（DATETIME型の値リスト列は存在しないことに注意）	DATE2
システム変数CURRENT_DATETIMEおよびEFFECTIVE_DATEの内部値	DATETIME
変換される項目のオブジェクト型を決定した後、Formsは次のいずれかのマスクを使用します。マスクの集合は2種類存在します。一方はYY操作に設定され、もう一方はRR操作に設定されます。

日付から文字列への操作に関しては、最初の（プライマリの）書式マスクが使用されます。文字列から日付への操作に関しては、Form Builderはまず最初の（プライマリの）書式マスクの設定を試みます。その変換が成功しなかった場合、もう一方の（セカンダリの）マスク設定を、下記に示した順序で試みます。

YY操作に対して使用される書式マスクは次表のとおりです。

オブジェクト型	使用される書式マスク
DATE2	YY-MM-DD DD-MM-SYYYY HH24:MI:SS
DATE4	DD-MON-YYYY DD-MM-SYYYY HH24:MI:SS
DATETIME	DD-MON-YYYY HH24:MI:SS DD-MON-YYYY HH24:MI DD-MM-SYYYY HH24:MI:SS

RR操作に対して使用される書式マスクは次のとおりです。

オブジェクト型	使用される書式マスク
DATE2	DD-MON-RR DD-MM-SYYYY HH24:MI:SS
DATE4	DD-MON-RRRR DD-MM-SYYYY HH24:MI:SS
DATETIME	DD-MON-RRRR HH24:MI:SS DD-MON-RRRR HH24:MI DD-MM-SYYYY HH24:MI:SS


「ボタン1のラベル」、「ボタン2のラベル」、「ボタン3のラベル」プロパティ

関連項目	  全プロパティ

説明

使用可能な3つの警告ボタンのテキスト・ラベルを指定します。

適用されるオブジェクト　警告

設定　Form Builder、プログラム

参照するビルトイン

SET_ALERT_BUTTON_PROPERTY

必須/オプション　3つのボタンのうち、最低どれか1つにラベルを指定する必要があります。

デフォルト

「ボタン1のラベル」: 「OK」、「ボタン2 のラベル」: 「取消し」、「ボタン3 のラベル」: （なし）


「計算モード」プロパティ

関連項目	  全プロパティ

説明

計算済み項目の値を計算する方法を指定します。有効な値は次のとおりです。

なし	デフォルト。項目が計算済み項目でないことを表します。

式	ユーザーが記述した式の結果として、項目の値が計算されることを表します。項目の式のために、単一のPL/SQL式を入力する必要があります。値を計算する式でも、Form Builderやユーザーが記述したサブプログラムをコールする式でも構いません。

サマリー	単一のフォーム項目の集計操作の結果として、項目の値が計算されることを表します。サマリー・タイプとサマリーを行う項目を指定します。

適用されるオブジェクト  項目

設定方法  Form Builder

必須/オプション  オプション

デフォルト

なし


「Calling_Form」プロパティ

全プロパティ

説明

コール側フォームの名前、つまり、コール側のフォーム・モジュールの「名前」プロパティの値を指定します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

デフォルト

NULL

使用上の注意

コール先フォーム、つまり、CALL_FORMビルトイン・プロシージャを実行した時にコール側フォームから起動されたフォーム内でのみ有効です。


「キャンバス」プロパティ

制限事項	  関連項目	  全プロパティ

説明

項目を表示するキャンバスを指定します。

適用されるオブジェクト項目

設定方法  Form Builder

デフォルト

項目の現キャンバス割り当て。

必須/オプション　オプション

使用上の注意

•	項目は特定のキャンバスに割り当てられている。言い換えれば、項目は特定のウィンドウに割り当てられています。

•	したがって、「キャンバス」プロパティをブランクにすると、その項目がNULLキャンバス項目、つまり、どのキャンバスにも割り当てられていない項目になり、Form Builderでも実行時でも表示できなくなります。

•	Form Builderでキャンバス名を変更すると、そのキャンバスに割り当てられているすべての項目の「キャンバス」プロパティがForm Builderによって自動的に更新されます。


「キャンバス」プロパティの制限事項

フォーム上に常に表示されるキャンバスを指定する必要があります。


「キャンバス・タイプ」プロパティ

関連項目	  全プロパティ

説明

キャンバスのタイプ、つまり、「コンテント」、「スタック」、「垂直ツール・バー」、「水平ツール・バー」「タブ」のいずれかを指定します。キャンバス・タイプによって、割り当てられているウィンドウにキャンバスがどのように表示されるか、そのキャンバスでどのプロパティが意味を持つのかが決まります。

コンテント	デフォルト。割り当てられているウィンドウのコンテント領域全体にキャンバスが表示されます。キャンバスのほとんどがコンテント・キャンバスです。
スタック	ウィンドウのコンテント・キャンバスと同時に、キャンバスをウィンドウに表示することを指定します。通常、スタックされたビューはプログラムを使用して表示し、同じウィンドウ内に表示されるコンテント・ビューの一部を覆う形で表示されます。
水平ツール・バー	ウィンドウのメニュー・バーの下に水平ツールバーとしてキャンバスが表示されます。必要に応じて、このツールバー上にアイコン・ボタンやポップ・リストなど、他の項目を定義できます。
垂直ツール・バー	割り当てられているウィンドウの左側に垂直ツールバーとしてキャンバスが表示されます。
適用されるオブジェクト　キャンバス

設定方法  Form Builder

デフォルト

コンテント

使用上の注意

プロパティ・パレットで、「ビューポート」というラベルの下にプロパティ・リストを表示できるのは、「キャンバス・タイプ」プロパティを「スタック」に設定したキャンバスのみです。


「端形式」プロパティ

全プロパティ

説明

描画オブジェクトの枠の端形式を「切り」、「丸め」または「伸ばし」のいずれかに指定します。

適用されるオブジェクト　物理図形

設定方法  Form Builder

デフォルト

丸め

必須/オプション  必須


「小/大文字区別なしの問合せ」プロパティ

制限事項	  関連項目	  全プロパティ

説明

テキスト項目上で大文字と小文字を区別しない問合せをオペレータに許可するかどうかを指定します。

適用されるオブジェクト　テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

使用上の注意

大文字と小文字を区別しない問合せは、索引を活用できるように最適化されます。たとえば、次のような場合を考えてみます。

•	EMP表上で索引を作成します。

•	ENAME上で「小/大文字区別なしの問合せ」プロパティを「はい」に設定します。

•	「問合せ入力」モードでは、名前'BLAKE'を:ENAMEに入力します。

•	問合せを実行します。

Form Builderによって、次のような文が組み立てられます。

SELECT * FROM EMP WHERE UPPER(ENAME) = 'BLAKE' AND
   (ENAME LIKE 'Bl%' OR ENAME LIKE 'bL%' OR
   ENAME LIKE 'BL%' OR ENAME LIKE 'bl%');

索引を使用して、WHERE句の最後の部分が最初に実行されます。blで始まる入力をデータベースが検索すると、文のUPPER(ENAME) = 'BLAKE'部分をチェックし、完全に一致させます。


「小/大文字区別なしの問合せ」プロパティの制限事項

このプロパティを「はい」に設定すると、問合せの実行時間が長くなる場合があります。


「小/大文字区別」プロパティ;

制限事項	全プロパティ

説明

テキスト項目またはメニュー置換パラメータに入力されたテキストを大文字または小文字に変換するかどうかを指定します。このプロパティに指定できる値は次のとおりです。

Value	結果
複合	入力したとおりにテキストが表示されます。
大文字	小文字のテキストを入力すると大文字に変換されます。
小文字	大文字のテキストを入力すると小文字に変換されます。
適用されるオブジェクト　テキスト項目、メニュー置換パラメータ

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM _PROPERTY


「小/大文字区別」プロパティの制限事項

•	トリガーによってテキスト項目に割り当てられた値には影響しません。

•	「小/大文字区別」プロパティはユーザー・インタフェースによって強制された入出力書式マスクとして機能するため、オペレータが入力したか、プログラムによって割り当てられたかを問わず、すべての文字列がこのプロパティにしたがって表示されます。

プログラムを使用して「小/大文字区別」プロパティの設定と矛盾する値を文字列に割り当てても、文字列は「小/大文字区別」プロパティの現在の設定にしたがって表示されるため、画面上のテキスト項目には一切影響しません。したがって、「小/大文字区別」プロパティの設定と矛盾するデータが問合せ結果として項目に挿入されたり、プログラムによってこのようなデータが項目に割り当てられたりすると、そのテキスト項目の内部値と実際に画面に表示される値が異なる可能性があります。たとえば、「小/大文字区別」プロパティが「大文字」に設定されており、データ・ソースから検索されたデータが小文字と大文字の混合データの場合、フォームにはそれらのデータが大文字で表示されますが、データの実際の値は小文字と大文字が混ざったままです。しかし、そのフィールドのデータが後から修正され、変更がコミットされると、データの値は大文字に変化します。


「文字セル幅/高さ」プロパティ

関連項目	  全プロパティ

説明

「座標システム」プロパティが「文字」ではなく「実際単位」に設定されている場合に文字セルの幅と高さを指定します。幅と高さは、「実際単位」プロパティに設定された現行の実際単位（センチメートル、インチまたはポイント）で指定します。

適用されるオブジェクトフォーム・モジュール

設定方法  Form Builder

必須/オプション　オプション

使用上の注意

文字セルのサイズは、「座標システム」ダイアログではピクセル単位で指定されますが、レイアウト・エディタではポイント単位で表示されます。


「チャート・タイプ」プロパティ

全プロパティ

説明

基本となるチャート・タイプを指定します。使用可能なチャート・タイプは、「縦棒グラフ」、「円グラフ」、「横棒グラフ」、「表」、「折れ線グラフ」、「散布図」、「複合グラフ」、「株価チャート」、「ダブル-Y軸グラフ」および「ガント・チャート」です。

適用されるオブジェクト  チャート項目

設定方法  Form Builder

デフォルト

Column


「チャートのサブタイプ」プロパティ

全プロパティ

説明

チャート・タイプのバリエーションを指定します。各バリエーションは指定済みのチャート・タイプに基づいており、外観を変えるために設定されるさまざまなプロパティを持ちます。

適用されるオブジェクト  チャート項目

設定方法  Form Builder

デフォルト

Column


「ほかの値のチェックボックス・マッピング」プロパティ

関連項目	  全プロパティ

説明

事前に定義された「チェックあり」または「チェックなし」の値の1つであるフェッチまたは割り当てられる値を、どのように解釈する必要があるかを指定します。

適用されるオブジェクト　チェックボックス

設定方法  Form Builder

デフォルト

不可

使用上の注意

このプロパティに設定できる値は次のとおりです。

設定	説明
許可なし	ユーザーが定義したチェックありの値およびチェックなしの値以外の値を含む問合せ対象レコードは拒否されます。エラーは発生しません。その他の値を割り当てようとする試みは禁止されます。
チェックあり	ユーザーが定義したチェックなしの値以外の値はすべてチェックされた状態にあると解釈されます。
チェックなし	ユーザーが定義したチェックありの値以外の値はすべてチェックされていない状態にあると解釈されます。


「Checked」プロパティ

制限事項	  関連項目	  全プロパティ

説明

チェックボックスまたはラジオ・スタイルのメニュー項目の状態、つまり、「CHECKED」または「UNCHECKED」を指定します。

適用されるオブジェクト　メニュー項目

設定方法  プログラム

参照するビルトイン

•	GET_MENU_ITEM_PROPERTY

•	SET_MENU_ITEM_PROPERTY

デフォルト

NULL

必須/オプション　オプション


「Checked」プロパティの制限事項

「メニュー項目タイプ」プロパティが「チェック」または「ラジオ」に設定されているメニュー項目のみに有効です。


「クリップ高さ」プロパティ

全プロパティ

説明

クリップされる（切り取られる）イメージの高さをレイアウト単位で指定します。元のイメージの高さよりも小さい値を指定すると、イメージは下からクリップされます。

適用されるオブジェクト　図形（イメージ）

設定方法  Form Builder

デフォルト

元のイメージの高さ

必須/オプション  必須


「クリップ幅」プロパティ

全プロパティ

説明

クリップされる（切り取られる）イメージの幅をレイアウト単位で指定します。元のイメージの幅よりも小さい値を指定すると、イメージは右からクリップされます。

適用されるオブジェクト　図形（イメージ）

設定方法  Form Builder

デフォルト

元のイメージの幅

必須/オプション  必須


「クリップのX位置」プロパティ

全プロパティ

説明

イメージの左側を切り取る量を（レイアウト単位で）指定します。

適用されるオブジェクト　図形（イメージ）

設定方法  Form Builder

デフォルト

0

必須/オプション  必須


「クリップのY位置」プロパティ

全プロパティ

説明

イメージの上側を切り取る量を（レイアウト単位で）指定します。

適用されるオブジェクト　図形（イメージ）

設定方法  Form Builder

デフォルト

0

必須/オプション  必須


「クローズ可能」プロパティ

制限事項	  関連項目	  全プロパティ

説明

そのウィンドウでウィンドウ・マネージャ固有の「クローズ」コマンドを使用可能にするかどうかを指定します。GUIウィンドウ・マネージャでは、ウィンドウのシステム・メニュー上で、またはウィンドウの左上角のクローズ・ボックスをダブルクリックすることで、「クローズ」コマンドを使用できます。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

はい

使用上の注意

•	「クローズ可能」プロパティを「はい」に設定すると、「クローズ」コマンドが使用可能に設定され、オペレータが「クローズ」コマンドを発行すると「Close Window」イベントがForm Buiderに送信されます。ただし、このイベントに応答してウィンドウを実際に閉じるには、明示的にウィンドウを閉じるWhen-Window-Closedトリガーを記述する必要があります。また、プログラムを使用してHIDE_WINDOW、SET_WINDOW_PROPERTYまたはEXIT_FORMをコールすることにより、プログラムからウィンドウを閉じることもできます。

•	Microsoft Windows上では、オペレータがMDI親ウィンドウを閉じると、Form BuilderによりデフォルトでDO_KEY（'Exit_Form'）が実行されます。


「クローズ可能」プロパティの制限事項

ルート・ウィンドウには設定できません。ルート・ウィンドウでは、常に「クローズ」コマンドが使用可能に設定されます。


「クローズ」プロパティ

全プロパティ

説明

円弧が閉じているかどうかを指定します。

適用先  図形（円弧）

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「列マッピング・プロパティ」プロパティ

全プロパティ

説明

「列マッピング・プロパティ」プロパティ・グループには、「列名」「列タイトル」、「画面幅」および「戻り項目」があります。

適用先　値リスト

設定方法  Form Builder

列名

値リストの列の名前を指定します。

必須/オプション　列名は最低1つ指定する必要があります。

デフォルト

基礎を形成するレコード・グループの列名。

使用上の注意

列名はオブジェクトの命名規格を満足している必要があります。

列タイトル

「列名」リストで現在選択されている列の上に表示するタイトルを指定します。

表示幅

「列名」リストで現在選択されている列幅を指定します。

必須/オプション　オプション

使用上の注意

•	「画面幅」プロパティには、Form Builderで「値リスト」ウィンドウのその列に対して確保する幅を、適切な単位（ポイント、ピクセル、cm、インチまたは文字数。フォームの「座標システム」プロパティで指定）で設定します。「画面幅」が列値の幅より小さいと、列値の切捨てが発生する可能性があります。この状況を回避するには、その列の「画面幅」の値を大きくします。

•	列を非表示にするには、「画面幅」を「0」に設定してください（表示列と同じように、非表示列にも戻り項目を指定できます）。

•	「値リスト」ウィンドウで列間の余白を増やすには、「画面幅」の値をその列のデフォルト幅よりも大きくします。ただし、このルールの例外として、NUMBER列の画面幅を大きくしても、NUMBER列と非NUMBER列との間の幅を大きくできないことに注意してください。これは、値リストには右揃えの数値が表示されるためです。たとえば、値リストに3つの列があり、第1列と第3列がCHAR型で、第2列がNUMBER型であるとします。各列間の幅を広げるには、第1列および第3列の「画面幅」の値を大きくします。

戻り項目

オペレータが値リスト・レコードを選択するたびに、Form Builderが列の値を割り当てる必要のあるフォーム項目または変数の名前を指定します。

デフォルト

NULL

必須/オプション　オプション

使用上の注意

「戻り項目」に指定できるオブジェクトは次のとおりです。

•	フォーム項目（block_name.item_name）

•	フォーム・パラメータ（PARAMETER.my_parameter）

•	グローバル・パラメータ（GLOBAL.my_global）

オブジェクト名の前にコロンを付けないでください。


「列名」プロパティ

関連項目	  全プロパティ

説明

データ・ブロックと関連付けられた表中の列に、項目が対応していることを示します。

適用されるオブジェクト  ボタン、グラフ、VBXコントロール（16ビットMicrosoft Windows 3.x）またはActiveXコントロール（32ビットWindows）を除くすべての項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

デフォルト

はい

必須/オプション　オプション

使用上の注意

選択されている項目が表内の列オブジェクトまたはREF列の項目である場合、Form Builderではドット表記を使用して、その項目の複合名ObjectColumnName.AttributeNameを作成します。

たとえば、dept_typeがdnum、dnameおよびdlocの各属性を持つオブジェクト型であり、dept_typeに基づいた列オブジェクトdeptがあると仮定します。ここでdnameを選択してデータ・ブロック内の項目とした場合、その列名プロパティの値はdept.dnameになります。


「列仕様」プロパティ

制限事項	  全プロパティ

説明

「列仕様」プロパティ・グループには、「列名」、「列値」、「データ型」および「長さ」があります。

適用先　レコード・グループ

設定方法  Form Builder

列名

レコード・グループの列名を指定します。

必須/オプション　列名は最低1つ指定する必要があります。

デフォルト

基礎を形成するレコード・グループの列名。

使用上の注意

列名はオブジェクトの命名規格を満足している必要があります。レコード・グループ内の列数は最大255です。

列値

静的レコード・グループに対して、「列名」リストで現在選択されている列の行値を指定します。

デフォルト

NULL

データ型

レコード・グループの列のデータ型を指定します。

デフォルト

問合せレコード・グループを定義する場合以外はCHAR。問合せレコード・グループについては、各列のデータ型のデフォルト設定は対応するデータベースの列のデータ型です。

制限事項

レコード・グループの列のデータ型として指定できるのは、CHAR、NUMBER、およびDATEの3つのみです。

長さ

「列名」リストで現在選択されているレコード・グループ列の長さを文字数で指定します。

デフォルト

問合せレコード・グループでは、データベースの列に指定された幅がデフォルト値になります。静的レコード・グループでは、デフォルト値は30です。

必須/オプション  必須


「列仕様」プロパティの制限事項

•	初期化されていない変数やこのプロパティが設定された項目は参照できません。これは、このようなアクションによって、設計時にForm Builderでは妥当性をチェックできない順方向参照が作成されるためです。

•	値のデータ型は、「列名」プロパティで指定された関連する列のデータ型に対応している必要があります。


「列タイトル」（値リスト）プロパティ

全プロパティ

説明

列マッピング・プロパティを参照してください。


「列値」（レコード・グループ）プロパティ

全プロパティ

説明

「列仕様」を参照。


「コマンド・テキスト」プロパティ

制限事項	  関連項目	  全プロパティ

説明

現行のメニュー項目に対してメニュー項目コマンド・テキストを指定します。有効な値は、そのメニュー項目の「コマンド・タイプ」プロパティの現行の設定により異なります。たとえば、コマンド・タイプが「MENU」であれば、有効なコマンド・テキストはそのメニュー・モジュールに含まれるサブメニューの名前です。また、コマンド・タイプが「PL/SQL」であれば、有効なコマンド・テキストは任意の有効なPL/SQL文です。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

必須/オプション　NULL以外のすべてのコマンド・タイプで必須です。


「コマンド・テキスト」プロパティの制限事項

指定できる値の長さは最大240文字です。


「コマンド・タイプ」プロパティ

関連項目	  全プロパティ

説明

メニュー項目のコマンド・タイプを指定します。このプロパティによって、Form Builderで「メニュー項目コード」プロパティに入力したテキストがどのように解釈されるかが決まります。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

デフォルト

NULL

必須/オプション  必須

コマンド・タイプ	説明
NULL	コマンドを発行しないメニュー項目を表します。メニュー項目タイプがセパレータの場合は、必ずNULLコマンド・タイプを指定します。他のタイプのメニュー項目では、必要に応じてNULLタイプを指定します。
メニュー	サブメニューを起動します。有効コマンド・テキストは、起動されるサブメニューの名前です。
PL/SQL	デフォルトのコマンド・タイプ。PL/SQLコマンドを実行するメニュー項目を表します。有効なコマンド・テキストはをPL/SQL文で、これにはビルトインへのコールやユーザー命名のサブプログラムなどが含まれます。 注意: メニュー・モジュールのPL/SQLは、フォーム・モジュール内の項目、変数およびパラメータの値を直接参照できません。このような値を間接的に参照する場合は、NAME_INビルトインおよびCOPYビルトインを使用してください。
Plus*	指定しないでください。SQL*Plusを起動するには、PL/SQLコマンド・タイプを使用し、HOSTビルトインを実行します（Windowsプラットフォームでは、実行可能ファイル名としてplus80.exeと指定します）。
現在のフォーム*	指定しないでください。Form Builderを起動するには、PL/SQLコマンド・タイプを使用し、HOSTビルトインまたはRUN_PRODUCTビルトインを実行して、Form Builderの有効なログイン・プログラムを起動します。
マクロ*	指定しないでください。SQL*Menu macroを実行します。
*このコマンド・タイプは、旧バージョンとの互換性を確保するために用意されています。したがって、新規アプリケーションを開発する場合は、このコマンド・タイプを使用しないでください。


「コメント」プロパティ

全プロパティ

説明

このプロパティには、作成するすべてのForm Builderオブジェクトに関する全般的な情報を指定します。コメントを使用して、自分自身、またはアプリケーションの開発、保守、デバッグを担当する他の設計者にとって有用な情報を記録します。

適用されるオブジェクト　すべてのオブジェクト

設定方法  Form Builder

必須/オプション　オプション


「通信モード」プロパティ

全プロパティ

「通信モード」（チャート）プロパティ

「通信モード」（レポート）プロパティ


「通信モード」（チャート）プロパティ

全プロパティ

説明

Form BuilderからGraphics Builderをコールしてチャートを作成するときに使用する通信モードを、「同期」または「非同期」のどちらかに指定します。「同期」を指定すると、コール先アプリケーションが終了するまでの間、コール側アプリケーションには制御が戻されません。また、コール先アプリケーションが動作している間、エンド・ユーザーはフォーム内での作業を行うことができません。「非同期」は、コールされるアプリケーションがその表示を完了していない場合でも、コール側アプリケーションに直ちに制御が戻るように指定します。

チャート項目の更新時など、コール先アプリケーションからデータが返されるときには、通信モードは「同期」にする必要があります。

適用されるオブジェクト　チャート項目

設定方法  Form Builder

デフォルト

同期

必須/オプション  必須


「通信モード」（レポート）プロパティ

全プロパティ

説明

レポートとフォームを統合する際の、フォームとレポートとの間の通信モードを「同期」または「非同期」のどちらかに指定します。「同期」を指定すると、コール先アプリケーションが終了するまでの間、コール側アプリケーションには制御が戻されません。また、コール先アプリケーションが動作している間、エンド・ユーザーはフォーム内での作業を行うことができません。「非同期」は、コールされるアプリケーションがその表示を完了していない場合でも、コール側アプリケーションに直ちに制御が戻るように指定します。

コール先アプリケーションからデータが返されるときには、通信モードは「同期」にする必要があります。

適用先  レポート統合

設定方法  Form Builder

デフォルト

同期

必須/オプション  必須


「圧縮」プロパティ

関連項目	  全プロパティ

説明

ファイルからフォームに読み込むサウンド・オブジェクトをOracleの内部形式に変換するときに圧縮するかどうかを指定します。

適用先　サウンド項目

設定　Form Builder、プログラム

参照するビルトイン

•	WRITE_SOUND_FILE

デフォルト

自動　（サウンド・データに圧縮方式が設定されていれば、その方式を使用します。


「圧縮品質」プロパティ

関連項目	  全プロパティ

説明

イメージ・オブジェクトをファイルからフォームに読み込むとき、あるいはフォームからファイルに書き込むときに、（WRITE_IMAGE_FILEビルトインを実行して）圧縮するかどうかを指定します。圧縮する場合は、圧縮率も指定します。有効な値は次のとおりです。

•	なし

•	最小

•	低

•	標準

•	高

•	最大

適用先　イメージ項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

なし


「データ隠蔽」プロパティ

制限事項	  全プロパティ

説明

オペレータがテキスト項目に入力した文字を隠す（画面に表示しない）かどうかを指定します。通常、パスワードが他人に知られないように保護する場合に、このプロパティを「はい」に設定します。

このプロパティの設定値と効果は次のとおりです。

はい	「はい」に設定すると、オペレータが入力したデータは画面にエコーされません。

いいえ	「いいえ」に設定すると、オペレータが入力したデータが画面にエコーされます。

適用されるオブジェクト　テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ


「データ隠蔽」プロパティの制限事項

1行のテキスト項目にのみ有効です。


「接続文字列」プロパティ

関連項目	  全プロパティ

説明

「Connect String」プロパティは、フォーム・オペレータのSQL*NET接続文字列 を指定します。

現在のオペレータがSQL*NET接続文字列を使用していない場合は、Form BuilderによってNULLが戻ります。

適用されるオブジェクト　アプリケーション

参照するビルトイン

GET_APPLICATION_PROPERTY


「コンソール・ウィンドウ」プロパティ

関連項目	  全プロパティ

説明

Form Builderのコンソールを表示するウィンドウ名を指定します。コンソールはこのウィンドウの下部に表示されます。またコンソールには、ステータス行とメッセージ行が表示されます。

Microsoft Windows上では、コンソールは、フォーム内の特定のウィンドウではなく、常にMDIアプリケーション・ウィンドウに表示されますが、コンソールの表示を指示するため、このプロパティにはフォーム・ウィンドウの名前を指定する必要があります。

フォームにコンソールを表示させない場合、このプロパティを<Null>に設定します。

適用されるオブジェクト　フォーム

設定方法  Form Builder

デフォルト

WINDOW1

必須/オプション　オプション


「コントロール・ヘルプ」プロパティ

全プロパティ

説明

レイアウト・エディタにおけるActiveX（OCX）コントロールのプロパティです。現在のOCXコントロールについてのヘルプ・ドキュメントへのリンクを提供します。

適用されるオブジェクト ActiveXコントロール

設定方法  Form Builder

デフォルト

More...

必須/オプション　オプション


「コントロール・プロパティ」プロパティ

全プロパティ

説明

現在選択しているOLEまたはActiveXコントロール固有のプロパティ・シートをアクティブにします。プロパティ・シートを表示するため、コントロールは「レイアウト・エディタ」で参照できるようにしてください。

適用対象  OLE/ActiveXコントロール

設定方法  Form Builder


「座標システム」プロパティ

関連項目	  全プロパティ

説明

オブジェクトのサイズと位置の値を文字セルの値として解釈するのか、実際単位（センチメートル、インチ、ピクセルまたはポイント）として解釈するのかを指定します。このプロパティに設定できる値は次のとおりです。

文字	座標系の単位を文字セルに設定。オブジェクトのサイズと位置は、使用しているプラットフォームのデフォルトの文字のサイズにより異なります。

実際単位	座標系の単位を「実際単位」プロパティに指定された単位、つまり、センチメートル、インチ、ピクセル、ポイントまたはデシポイントに設定。

フォームの「座標システム」プロパティの値を変更すると、Form Editor上の定規の単位は変わりますが、格子間隔および格子単位の値は変わりません。

適用されるオブジェクト　フォーム

設定方法  Form Builder

デフォルト

センチメートル

使用上の注意

このプロパティで指定した座標系は、設計時にも実行時にも適用されます。たとえば、SET_WINDOW_PROPERTYを使用してウィンドウを移動すると、このビルトインに渡した位置座標は現行のフォームの座標単位で解釈されます。

また、座標系を別の座標系に変換すると、設計時に指定したオブジェクトのサイズと位置の値がForm Builderによって自動的に変換されます。ただし、変換後の単位が変換前より粗いと、精度が落ちる場合があります。

移植性を考えれば、このプロパティを「文字」に設定するとプラットフォーム間で最大の移植性が得られますが、格子間隔が粗くなりレイアウトを細かく調整できなくなります。アプリケーションをキャラクタ・モードとGUIモードの両方で稼動させる場合は、どちらのインタフェース・スタイルを最適化するかによりこのプロパティの値を選択します。

GUI向けに最適化する場合は、「実際単位」を指定すればプロポーショナル・フォントを自由に使用できますが、キャラクタ・モード側でフィールドのオーバーラップが生じないように微調整する必要があります。

キャラクタ・モード向けに最適化する場合は、「文字」を指定します。「文字」を指定すると、GUI上で使用できるプロポーショナル・フォントが制限されますが、文字セルの枠を正確に揃えることができます。

アプリケーション・タイプ	「座標システム」プロパティの設定値
GUIのみ	実際単位（インチ、センチメートル、ポイント）
キャラクタ・モードのみ	文字
キャラクタモードとGUIの混在
GUIに最適な設定	実際単位
キャラクタ・モードに最適な設定	文字


「調整」プロパティ

制限事項	  関連項目	  全プロパティ

説明

ブロック調整の挿入フェーズをいつ、どのように発生させるかを指定します。このプロパティの値は、「延期」プロパティと「自動問合せ」プロパティを使用して指定します。設計時に「延期」プロパティと「自動問合せ」プロパティを設定すると、Form Builderによってブロックを調整するための、適切なマスター/ディテール・トリガーが作成または変更されます。

適用先

リレーション

設定方法

Form Builder、プログラム

参照するビルトイン

•	GET_RELATION_PROPERTY

•	SET_RELATION_PROPERTY

デフォルト

即時調整 （「延期」=「いいえ」、「自動問合せ」=「いいえ」）

使用上の注意

実行時にマスター・ブロック内の現レコードが変わった（調整の原因となるイベントが発生した）場合は、Form Builderを使用してディテール・ブロックに新しいレコードを挿入する必要があります。「調整」プロパティを使用すれば、挿入をいつ、どのように発生させるかを厳密に指定できます。このプロパティに指定できる値は次のとおりです。

「延期」=「いいえ」、「自動問合せ」=「いいえ」	デフォルト設定です。マスター・ブロックで調整の原因となるイベントが発生すると、即座にディテール・レコードがフェッチされます。
「延期」=「はい」、「自動問合せ」=「はい」	調整の原因となるイベントが発生すると、オペレータがディテール・ブロックにナビゲートするまで、Form Builderによって関連するディテール・レコードのフェッチが延期されます。
「延期」=「はい」、「自動問合せ」=「いいえ」	調整の原因となるイベントが発生すると、オペレータがディテール・ブロックにナビゲートして明示的に問合せを実行するまで、Form Builderによって関連するディテール・レコードのフェッチが延期されます。
「延期」=「いいえ」、「自動問合せ」=「はい」	この設定は無効です。


「調整」プロパティの制限事項

プログラムを使用してこのプロパティを設定または取得できるのは、カスタム（ユーザー独自の）・マスター/ディテール・スキームを使用するアプリケーションの中のみです。設計時に作成されるデフォルトのマスター/ディテール・リレーションでは、Form Builderによって調整を実行する適切なトリガーが生成され、実行時に「調整」プロパティを設定してもデフォルトのトリガー・テキストには一切影響しません。


「Coordination_Status」プロパティ

全プロパティ

説明

あるブロックがマスター/ディテール・ブロック・リレーションのディテール・ブロックのときに、このブロックとマスター・ブロックとの現行の調整ステータスを指定します。ブロックがすべてのマスター・ブロックと調整されている場合は、このプロパティの値を「COORDINATED」に設定します。ブロックがすべてのマスター・ブロックと調整されていない場合は、このプロパティを「NON_COORDINATED」に設定します。

レコードがディテール・ブロックにフェッチされると、直ちにディテール・ブロックのステータスが「COORDINATED」に変わります。また、別のレコードがマスター・ブロックの現レコードになると、ディテール・ブロックのステータスが「NON_COORDINATED」に戻ります。

適用されるオブジェクト　リレーション

設定方法  プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

使用上の注意

このプロパティは、カスタム・マスター・ディテール・ブロック調整スキームをプログラミングする設計者のみが使用します。Form Builderの宣言マスター/ディテール調整機能を使用する場合は、このプロパティを設定する必要はありません。


「（項目の）コピー値」プロパティ

関連項目	  全プロパティ

説明

Form Builderで項目に挿入する値のソースを指定します。マスター/ディテール・リレーションを定義すると、Form Builderによってディテール・ブロックの外部キー項目上でこのプロパティが自動的に設定されます。このような場合は、ディテール・レコードが作成されるとき、あるいはディテール・レコードに対する問合せが実行されるときに、ディテール・ブロックの外部キー項目にコピーされる値を含むマスター・ブロック内の主キー項目が、このプロパティに設定されます。

適用されるオブジェクト  ボタン、チャート項目、イメージ項目を除くその他すべての項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

必須/オプション　オプション

使用上の注意

•	<block_name>フォームでこのプロパティを指定してください。<block_item_name>.

•	コピーはデフォルトのレコード処理中に行われるため、「（項目の）コピー値」プロパティを設定しても実行時のレコード・ステータスに影響はありません。

•	オペレータが外部キー・リレーションシップの施行を使用不可に設定できないように、外部キー項目の「変更可能」プロパティを「いいえ」に設定します。

•	GET_ITEM_PROPERTYを使用してこのプロパティの値を取得するには、定数ENFORCE_KEYを使用します。


「現レコード可視属性グループ」プロパティ

全プロパティ

説明

項目が現レコードの一部であるときに使用する名前付き可視属性を指定します。

適用されるオブジェクト　フォーム、ブロック、項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

必須/オプション　オプション

使用上の注意

このプロパティは、フォームまたはブロック、項目レベルで、あるいはこれらのレベルの任意の組み合わせで設定します。各レベルで名前付き可視属性を指定すると、項目レベルの属性によって他の属性がすべて上書きされ、ブロック・レベルの属性によってフォーム・レベルの属性が上書きされます。

フォーム・レベルの現レコード可視属性を設定すると、フォーム内のすべてのツールバーはその属性値を使用して表示されることに注意してください。これを避けるには、フォーム・レベルで属性値を定義するかわりに、属性が必要なブロックに対してブロック・レベルの現レコード可視属性を定義します。フォーム・レベルの現レコード可視属性を保持する場合、ツールバーに対するブロック・レベルの現レコード可視属性を、有効な任意の値に設定できます。

このプロパティは、主にブロック・レベルで指定します。この場合、マルチ・レコード・ブロックの現在の行が特定のカラーで表示されます。たとえば、ディテール・レコードが4つ表示されるEmpブロックにVis_Att_Blueを定義すると、このブロックには現レコードの一部である項目が含まれているため、現レコードが青色で表示されます。

項目レベルでこのプロパティを定義すると、事前定義された項目が現レコードの一部である場合に、その項目を特定のカラーで表示できます。ただし、入力フォーカスの移動に合わせて現項目を動的に強調表示することはできません。たとえば、EmpNoの「現レコード可視属性グループ」プロパティをVis_Att_Greenに設定すると、現レコード内のEmpNo項目が緑色で表示されます。このとき入力フォーカスをEmpNameに移動しても、EmpNoは緑色のままで、EmpNameのカラーも変わりません。


「Current_Form」プロパティ

関連項目	  全プロパティ

説明

現在実行されているフォームの.FMXファイル名を表します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

使用上の注意

アプリケーションで複数のフォームがコールされている場合に、現行のフォームのファイル名は、このプロパティの値から判別できます。

アプリケーション・レベルの「Current_Form」プロパティは、フォーム・レベルの「File_Name」プロパティに相当します。「File_Name」プロパティの値は、GET_FORM_PROPERTYビルトインを使用して取得できます。


「Current_Form_Name」プロパティ

関連項目	  全プロパティ

説明

フォーム・モジュールの「名前」プロパティで指定された、現行フォームの名前を表します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

使用上の注意

アプリケーションで複数のフォームがコールされている場合に、現行のフォームの名前は、このプロパティの値から判別できます。

アプリケーション・レベルの「Current_Form_Name」プロパティは、フォーム・レベルの「Form_Name」プロパティに相当します。「Form_Name」プロパティの値は、GET_FORM_PROPERTYビルトインを使用して取得できます。


「Current_Record」プロパティ

全プロパティ

説明

ブロックのレコード・リスト内の現レコード数を指定します。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY


「Current_Row_Background_Color」プロパティ

関連項目	  全プロパティ

説明

オブジェクトのバックグラウンド領域のカラーを指定します。

適用されるオブジェクト  項目、ブロック、フォーム

設定　プログラム

デフォルト

NULL

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY


「Current_Row_Fill_Pattern」プロパティ

関連項目	  全プロパティ

説明

オブジェクトの塗り領域に使用されるパターンを指定します。パターンは、「Background_Color」プロパティおよび「Foreground_Color」プロパティで指定された2つのカラーでレンダリングされます。

適用されるオブジェクト  項目、ブロック、フォーム

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY


「Current_Row_Font_Name」プロパティ

関連項目	  全プロパティ

説明

オブジェクト内のテキストに使用されるフォント・ファミリ、または書体を指定します。どのようなフォントが使用できるかはシステムによって異なります。

適用されるオブジェクト  項目、ブロック、フォーム

設定　プログラム

デフォルト

NULL

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY


「Current_Row_Font_Size」プロパティ

関連項目	  全プロパティ

説明

フォントのサイズをポイント単位で指定します。

適用されるオブジェクト  項目、ブロック、フォーム

設定　プログラム

デフォルト

NULL

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY


「Current_Row_Font_Spacing」プロパティ

関連項目	  全プロパティ

説明

フォントの幅（文字間のスペースの大きさ、またはカーニング）を指定します。

適用されるオブジェクト  項目、ブロック、フォーム

設定　プログラム

デフォルト

NULL

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY


「Current_Row_Font_Style」プロパティ

関連項目	  全プロパティ

説明

フォントのスタイルを指定します。

適用されるオブジェクト  項目、ブロック、フォーム

設定　プログラム

デフォルト

NULL

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY


「Current_Row_Font_Weight」プロパティ

関連項目	  全プロパティ

説明

フォントの幅を指定します。

適用されるオブジェクト  項目、ブロック、フォーム

設定　プログラム

デフォルト

NULL

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY


「Current_Row_Foreground_Color」プロパティ

関連項目	  全プロパティ

説明

オブジェクトのフォアグラウンド領域のカラーを指定します。項目については、項目内に表示されるテキストのカラーを定義します。

適用されるオブジェクト  項目、ブロック、フォーム

設定　プログラム

デフォルト

NULL

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY


「Current_Row_White_On_Black」プロパティ

関連項目	  全プロパティ

説明

オブジェクトをモノクロのビットマップ表示装置上に、白地のテキストと黒地のバックグラウンドで表示するように指定します。

適用されるオブジェクト  項目、ブロック、フォーム

設定　プログラム

デフォルト

NULL

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY


「Cursor Mode」プロパティ

全プロパティ

注意:

リリース5.0およびそれ以降では、Form Builderによってカーソル・モードが自動的に処理されます。これは古いプロパティであり、現在では使用してはいけません。特に、「クローズ」に設定することは絶対に避けてください。次に記載する情報は、過去のアプリケーションの保守のみを目的としています。

説明

トランザクション中のカーソルの状態を定義します。カーソルは、SQL文が実行されているメモリの作業領域に含まれています。カーソルの詳細は、『ORACLE RDBMSデータベース管理者ガイド』を参照してください。このプロパティは、Oracle以外のデータ・ソースに対してアプリケーションを実行する場合に便利です。

このプロパティに設定できる値は次のとおりです。

設定	説明
オープン（デフォルト値）	トランザクション中もカーソルをオープンにしておきます。
クローズ	コミットが発行されたときにカーソルをクローズします。
適用されるオブジェクト　フォーム

設定方法  プログラム

参照するビルトイン

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY

デフォルト

OPEN_AT_COMMIT

使用上の注意

•	Oracleではトランザクション中もデータベースの状態を維持できるため、Form BuilderでもCOMMIT操作中にカーソルをオープンした状態に保つことができます。このため、カーソルをオープンし直す必要がなく、SQL文を再解析する回数が減るため、同じSQL文をもう1度実行する場合のオーバヘッドを削減できます。

•	Oracle以外のデータベースには、トランザクション中にデータベースの状態を維持できないものがあります。このようなデータベースでは、「Cursor_Mode」プロパティを「CLOSE_AT_COMMIT」に設定すると、データベースの要件を満足できます。

•	コミット時にカーソルをクローズし、実行時に再度オープンすると、次の3つの時点でパフォーマンスが低下します。

•	COMMIT操作中

•	同じレコードに対する他のSQL文の次回以降の実行時

•	問合せ実行中

•	このプロパティを「CLOSE_AT_COMMIT」に設定すると、Form Builderではコミット処理後もカーソルは明示的にクローズされません。この設定値から、Form Builderによって、まず、コミット後はカーソルが未定義状態になる可能性があると認識されます。

トランザクション処理中は、トランザクション・タイプを問わず、Form Builderによって必ずトランザクションIDが維持されます。たとえば、カーソルをオープンする、コミットを実行する、あるいはロールバックを実行するたびに、Form BuilderによってトランザクションIDが増分されます。

また、Form Builderではカーソルが再実行の試行前に、トランザクションIDがチェックされます。そのIDが現行のトランザクションIDでなければ、Form Builderによって新規カーソルがオープン、解析および実行されます。最後のトランザクションIDのみが維持されます。

•	問合せを実行し、データを変更してからコミットすると、Form BuilderによってトランザクションIDが増分されます。次の理由により、次回のフェッチでカーソルが再オープンされ実行されることはありません。

•	Form Builderによって読込み一貫性問題が処理されない、またカーソル内の再配置も処理されないため。

•	暗黙的にクローズされたカーソルからフェッチしようとすると、Oralceまたは接続先からエンド・オブ・フェッチ・エラーが戻るとForm Builderで認識されているため。

次に問合せを実行すると、Form Builderによって新規カーソルがオープンされます。

•	このプロパティをトランザクション・トリガーとともに使用する場合は、設計者がカーソルを管理する必要があります。たとえば、コミットを実行するたびに、ブロック上のオープンしている問合せをすべてクローズする場合は、設計者がカーソルを管理します。


「Cursor_Style」プロパティ

全プロパティ

説明

マウス・カーソルのスタイルを指定します。このプロパティを使用すると、カーソルの形を動的に変更できます。

このプロパティに設定できる値は次のとおりです。

設定	説明

BUSY	GUI固有のビジー記号が表示されます。

CROSSHAIR	GUI固有のクロスヘア記号が表示されます。

DEFAULT	GUI固有の矢印記号が表示されます。

HELP	GUI固有のヘルプ記号が表示されます。

INSERTION	GUI固有の挿入記号が表示されます。

適用されるオブジェクト　アプリケーション

設定　プログラム

参照するビルトイン

•	GET_APPLICATION_PROPERTY

•	SET_APPLICATION_PROPERTY

デフォルト

矢印

使用上の注意

Form Builderが長い操作を実行しているとき、「処理中」メッセージが表示され、BUSYカーソルで指定するカーソル・スタイルを置き換えます。

たとえば、カーソル・スタイルを「HELP」に設定し、オペレータが大きい問合せを実行すると、問合せの実行中はHELPカーソルがBUSYカーソルに置き換わります。Form Builderによる問合せの実行が終了すると、ビジー・カーソルがヘルプ・カーソルに戻ります。

なお、Form Builderでビジー・カーソルが表示されているときにカーソル・スタイルを変更すると、その処理が終了するのを待たず即座にカーソル・スタイルが変わります。


「カスタム・スペース」プロパティ

全プロパティ

説明

テキスト・オブジェクトの間隔をレイアウト単位で指定します。

適用されるオブジェクト　図形テキスト

設定方法  Form Builder

デフォルト

0

必須/オプション  必須


「幅スタイル」プロパティ

全プロパティ

説明

図形オブジェクト枠の線種形式を、「実線」、「点線」、「破線」、「1点鎖線」、「2点鎖線」、「長破線」または「2点破線」のいずれかに指定します。

適用されるオブジェクト　物理図形

設定方法  Form Builder

デフォルト

実線

必須/オプション  必須


「データ・ブロックの記述」プロパティ

全プロパティ

説明

データ・ブロックについて説明します。

適用されるオブジェクト　データ・ブロック・データベース

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「データ問合せ」プロパティ

全プロパティ

説明

問合せに基づいたデータ・ソースを指定します。

適用先  階層ツリー

設定　Form Builder、プログラム

参照するビルトイン

ADD_TREE_DATA

デフォルト

NULL

必須/オプション　オプション


「データ・ソースのデータ・ブロック」プロパティ

全プロパティ

「データ・ソース・データ・ブロック」（チャート）プロパティ

「データ・ソースのデータ・ブロック」（レポート）プロパティ


「データ・ソースのデータ・ブロック」（チャート）プロパティ

関連項目	全プロパティ

説明

Form BuilderからGraphics Builderを起動してチャートを作成するときに、チャート項目のソースとして使用するデータ・ブロックを指定します。

適用されるオブジェクト  チャート項目

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「データ・ソースのデータ・ブロック」（レポート）プロパティ

関連項目	全プロパティ

説明

レポートとフォームを統合する際に、レポートのソースとして使用するデータ・ブロックをNULLまたはブロック名のどちらかで指定します。

適用先  レポート統合

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「データ・ソースのX軸」プロパティ

関連項目	全プロパティ

説明

チャ－ト項目のX軸の基礎として使用されるデータ・ブロック列を指定します。

適用されるオブジェクト  チャート項目

設定方法  Form Builder


「データ・ソースのY軸」プロパティ

関連項目	全プロパティ

説明

チャ－ト項目のＹ軸の基礎として使用されるデータ・ブロック列を指定します。

適用されるオブジェクト  チャート項目

設定方法  Form Builder


「データ型」プロパティ

関連項目	全プロパティ

説明

Form Builderで許可する入力値の種類と、その値をどのように表示するかを指定します。

適用されるオブジェクト　チェックボックス、図表項目、リスト項目、ラジオ・グループ、テキスト項目、カスタム項目、フォーム・パラメータ（フォーム・パラメータはCHAR、DATE、DATETIMEおよびNUMBERのみをサポートします）

注意: 項目タイプごとに適用されるデータ型が異なります。

設定方法  Form Builder

使用上の注意

•	Form Builder 6.0以降では、CHAR、DATE、DATETIME、NUMBERなどの標準データ型を使用するようお薦めします。これらのデータ型はOracle本来のデータ型に基づいているため、パフォーマンスとアプリケーションの移植性に優れています。その他のデータ型を使用できるのはテキスト項目のみです。これらのデータ型は旧バージョンとの互換性を確保する目的で用意されています。標準データ型に適切な書式マスクを適用すれば、これらのデータ型と同じ書式を生成できます。

•	実表項目のデータ型は、対応するデータベースの列のデータ型と互換性があることが必要です。Oracle VARCHAR2データベースの列に対応する項目には、CHARデータ型を使用してください。

•	データベースのCHAR列に対応する項目が問合せで使用される場合、あるいはマスター/ディテール・リレーションを作成する結合条件として使用される場合は、その項目を作成しないでください。このような場合は、VARCHAR2データベースの列を使用してください。

•	必要があれば、Form Builderによって項目上で次のアクションが実行されます。

後続するスペースがあれば削除します。

中身がすべてブランクの項目はNULLに変更します。

データ型がNUMBER、INTEGER、MONEY、RINTEGER、RMONEYまたはRNUMBERの場合、（項目の書式マスクが先行ゼロを許可しないかぎり）先行ゼロを削除します。

•	フォーム・パラメータの「データ型」プロパティでサポートされるデータ型は、CHAR、DATEおよびNUMBERです。

ALPHA

文字のあらゆる組合わせ（大文字と小文字、大文字のみ、小文字のみ）。

デフォルト	NULL
例	「Employee」、「SMITH」
CHAR

VARCHAR2では最大2000文字まで使用できます。次の文字のあらゆる組合わせです。

•	文字（大文字と小文字、大文字のみ、小文字のみ）

•	数値

•	ブランク

•	特殊文字 （$, #, @, _）

デフォルト	NULL
例	「100 Main Street」、「CHAR_EXAMPLE_2」
DATE

有効な日付です。項目の書式マスクを変更して、その他の有効な書式のDATE項目を表示できます。

デフォルト	YY-MM-DD
制限事項	DATE項目はデータベースのDATE列を参照し、文字列ではなく、実際の日付として処理されます。
	DATEデータ型は、時間コンポーネントの格納には適していません。
例	01-JAN-92
DATETIME

有効な日時です。

デフォルト	DD-MON-YY HH24:MI[:SS]
制限事項	DATE項目はデータベースのDATE列を参照し、文字列ではなく、実際の日付として処理されます。
	DATETIMEデータ型の年データは4桁です。DATETIMEデータ型に年データを2桁のみ入力すると、00YYと解釈されます。
例	31-DEC-88 23:59:59
EDATE

有効な欧州の日付です。

デフォルト	DD/MM/YY
制限事項	V3データ型。
	データベースのNUMBER列を参照する必要があります。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	DATEデータ型を使用します。
	書式マスクを適用して、欧州日付書式を生成します。
	データベースのNUMBER列でなくDATE列を参照します。
例	23/10/92 (October 23, 1992)
	01/06/93 (June 1, 1993)
INT

すべての整数（符号付きまたは符号なし）

デフォルト	0
例	1, 100, -1000
JDATE

有効なユリウス暦です。

デフォルト	MM/DD/YY
制限事項	V3データ型。
	データベースのNUMBER列を参照する必要があります。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	DATEデータ型を使用します。
	書式マスクを適用して、ユリウス暦書式を作成します。
	データベースのNUMBER列でなくDATE列を参照します。
例	10/23/92 (October 23, 1992)
	06/01/93 (June 1, 1993)
LONG

文字のあらゆる組合わせが含まれます。Oracleデータベースには可変長文字列として格納されます。フォームでは、LONGフィールドに最大65,534バイトまで使用できます。ただし、PL/SQLには最大32,760バイトという制限があります。LONG変数をPL/SQL文のバインド変数として使用する場合、32,760バイトの制限を超えることができません。

デフォルト	NULL
制限事項	SELECT文のWHERE句やORDER BY句内での参照には一切使用できません。
	「問合せ入力」モードでLONG項目に対して問合せを実行することはできません。
MONEY

金額を表す符号付きまたは符号なし数値。

制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、数値に書式マスクを適用して金額データを生成してください。
例	10.95, 0.99, -15.47
NUMBER

1.0x10-129 ～ 9.99x10124 の固定または浮動小数点数。このデータ型の特徴は次のとおりです。

•	符号付き

•	符号なし

•	小数点あり

•	正規表記法で表現

•	科学表記法で表現

•	精度最大38桁

NUMBER項目はデータベースのNUMBER列またはFLOAT列を参照し、Form Builderによって文字列ではなく実際の数値として処理されます。

デフォルト	0
制限事項	数値項目には99,999のようなカンマは入力できない。カンマを使用する場合は、書式マスクを使用してください。
例	-1, 1, 1.01, 10.001, 1.85E3
RINT

整数値を右揃えで表示します。

制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	NUMBERデータ型を使用します。
	999などの書式マスクを適用して、右揃え数値を生成します。
RMONEY

MONEYの値を右揃えで表示します。

制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	NUMBERデータ型を使用します。
	$999.99などの書式マスクを適用して、右揃え数値を生成します。
RNUMBER

NUMBERの値を右揃えで表示します。

制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	NUMBERデータ型を使用します。
	999.999などの書式マスクを適用して、右揃え数値を生成します。

TIME

時刻を表す数値とコロン。このデータ型はデータベースのNUMBER列を参照します。

デフォルト	HH24:MI[:SS]
制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	DATETIMEデータ型を使用します。
	書式マスクを適用して時間のみを生成します。
	このデータ型はデータベースのDATE列への参照では一切使用できない。
例	:10:23:05
	21:07:13


「データ型（レコード・グループ）」プロパティ

説明

「列仕様」を参照。


「データベース・ブロック」プロパティ

全プロパティ

説明

そのブロックが表、プロシージャ、トランザクション・トリガー、副問合せのうちどのブロック・データ・ソース・タイプに基づいているかを指定します（表のソースにはリレーション表、オブジェクト表に加えて、列オブジェクトまたはREFを含んだリレーション表などがあります）。また、そのブロックが制御ブロックではないことも指定します。このプロパティを「いいえ」に設定すると、Form Builderによってそのブロックの「データベース・ブロック」プロパティがグレー表示になり、無視されます。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「Database_Value」プロパティ

全プロパティ

説明

実表項目がデータベース・レコードの一部で、このレコードのステータスが「問合せ」または「更新」の場合、「Database_Value」プロパティにはデータベースから最初にフェッチされた値が戻ります。フェッチされた値が更新されてからコミットされると、このプロパティにコミットされた値が戻ります。

データベース・レコードの一部である制御項目では、レコードがデータベースからフェッチされたときに最初にその項目に割り当てられた値がこのプロパティに戻ります。

ステータスが「作成」または「挿入」の非データベース・レコードの一部である項目では、このプロパティにその項目の現行の値が戻ります。

注意: Database_Valueプロパティを調べれば、データベース・レコード内の項目の値がエンド・ユーザーによって変更された場合に、変更前の値を知ることができます。

注意: SYSTEM.RECORD_STATUSシステム変数を調べたり、GET_RECORD_PROPERTYビルトインを使用すると、任意のレコードに対してデータベースから問合せが実行されたかどうかを判断することができます。

適用先

ボタン、チャート項目、イメージ項目を除くすべての項目

設定　設定できません。

参照するビルトイン

GET_ITEM_PROPERTY


「問合せデータ・ソースの名前」プロパティ

全プロパティ

説明

現在使用されているデータベースの名前を表します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

デフォルト

ORACLE

使用上の注意

このプロパティは、Oracle以外のデータ・ソースを使用する場合に使用します。このプロパティには、On-LogonトリガーではなくForm Builderによって接続が確立された、データベースの名前が戻ります。このプロパティに設定できる値は次のとおりです。

•	ORACLE

•	DB2

•	NULL （データベース未指定、またはログオンしていない）

•	NONSTOP

•	TERADATA

•	NCR/3600

•	NCR/3700

•	SQLSERVER


Date_Format_Compatibility_Modeプロパティ

全プロパティ

説明

変換操作で使用する日付書式マスクを設定します。「4.5」に設定すると、リリース4.5以前に実行された変換タイプが選択されます。「5.0」に設定した場合は、リリース5.0以降で実行された変換タイプが選択されます。

この選択の影響を受ける変換操作とマスクについては、「日付の書式マスクについて」に注意があります。

適用されるオブジェクト　アプリケーション

設定　Form Builder内で設定可能です。

参照するビルトイン

GET_APPLICATION_PROPERTY

SET_APPLICATION_PROPERTY

デフォルト

5.0

必須/オプション  必須

使用上の注意

このDate_Format_Compatibility_Modeプロパティが「4.5」に設定されている場合に、Runtime_Compatibility_Modeプロパティが「5.0」に設定されたときは、Date_Format_Compatibility_Modeの設定が「5.0」の値で上書きされます。


「デフォルト警告ボタン」プロパティ

全プロパティ

説明

3つの警告ボタンのうちデフォルトの警告ボタンとして使用するボタンを指定します。通常、デフォルトの警告ボタンは、他のボタンと区別できるように、特別な枠で囲まれるか、強調表示されます。

適用されるオブジェクト　警告

設定方法  Form Builder

デフォルト

ボタン1

必須/オプション　オプション


「デフォルト・ボタン」プロパティ

全プロパティ

説明

そのボタンをデフォルト・ボタンとして認識させることを指定します。実行時に、デフォルト・ボタンを含むウィンドウ内にフォーカスがあれば、エンドユーザーは「選択」を押してデフォルト・ボタンを起動できます。

ウィンドウ・マネージャの中には、インタフェース上の他のボタンと区別できるように、デフォルト・ボタンを枠で囲んだり強調表示したりするものがあります。

適用されるオブジェクト　ボタン

設定方法  Form Builder

デフォルト

いいえ

必須/オプション　オプション


「デフォルト・フォント・スケール」プロパティ

制限事項	  関連項目	全プロパティ

説明

そのフォ－ムで使用するフォントのデフォルトのサイズを、使用中の表示装置の相対文字スケールに合わせて変更するかどうかを指定します。

適用されるオブジェクト  フォーム・モジュール

設定方法  Form Builder

デフォルト

はい


「デフォルト・フォント・スケール」プロパティの制限事項

「座標システム」プロパティが「文字セル」に設定されている場合にのみ有効です。


「延期」プロパティ

全プロパティ

説明

座標を参照。


「遅延を必須強制」プロパティ

関連項目	全プロパティ

説明

「必須」プロパティが「TRUE」に設定された項目に対する必須項目属性の施行を、レコードの妥当性がチェックされるまで延期するかどうかを指定します。

このプロパティの設定は、｢はい｣、｢4.5｣および｢いいえ｣です。

適用されるオブジェクト　フォーム

設定　Form Builder、プログラム

参照するビルトイン

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY

デフォルト

いいえ

使用上の注意

このプロパティは、項目レベルの妥当性チェックが有効なときにのみ適用されます。デフォルトでは、ある項目の「必須」プロパティが「True」に設定されている際には、その項目に有効な値が入力されるまで他の項目にナビゲートできません。「遅延を必須強制」を「いいえ」に設定すると、この動作が実行されます（ただし、項目インスタンスでエンド・ユーザーによる更新が許可されていない場合は例外です。この場合、「遅延を必須強制」が「いいえ」に設定されていても無視され、項目レベルの妥当性チェックは行われません）。

「遅延を必須強制」プロパティを「はい」（実行時にはPROPERTY_TRUE）、または「4.5」（実行時にはPROPERTY_4_5）に設定すると、レコード・レベルで妥当性がチェックされるまで「必須」属性の施行が延期されるため、項目の値がNULLの場合でもエンド・ユーザーはレコード内で項目間を自由に移動できます。

「遅延を必須強制」を「はい」に設定すると、他の項目にナビゲートするときにNULL値「必須」項目の妥当性チェックは行われません。つまり、WHEN-VALIDATE-ITEMトリガー（存在する場合）は起動されず、その項目の「Item Is Valid」プロパティは変わりません。その後のレコード・レベルの妥当性チェック時に項目値がまだNULLである場合は、エラーが発生します。

「遅延を必須強制」を「4.5」に設定すると、ナビゲートの際にNULL値「必須」項目の妥当性チェックは行われず、この項目の「Item Is Valid」プロパティは変わりません。ただし、WHEN-VALIDATE-ITEMトリガー（存在する場合）が起動されます。トリガーが失敗すると（Form_Trigger_Failureがコールされると）、その項目は妥当性チェックが失敗したとみなされ、Form Builderによりエラーが発行されます。トリガーが正常に終了すると、引き続き処理が行われます。その後のレコードレベルの妥当性チェック時に項目の値が依然としてNULLの場合には、Form Builderによりエラーが発行されます。

「遅延を必須強制」の値を「4.5」に設定すると、エンド・ユーザーが項目の値を変更して（NULLに変更した場合でも）項目の外へナビゲートするたびに、WHEN-VALIDATE-ITEMトリガーのロジックが即時にコード化されます。このロジックにより、たとえば他の項目の値が更新される場合があります。（この設定の「4.5」という名前は、4.5モードで実行されるリリース4.5およびそれ以降のリリースにおいて、項目レベルの妥当性チェック中にWHEN-VALIDATE-ITEMトリガーが常に起動されることを表しています。)


「削除可」プロパティ

関連項目	全プロパティ

説明

ブロックからのレコードの削除を許可するかどうかを指定します。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

デフォルト

はい

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY


「削除プロシージャの引数」プロパティ

関連項目	全プロパティ

説明

データの削除で使用するプロシージャに渡す引数の名前、データ型および値を指定します。このプロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「削除プロシージャ名」プロパティ

関連項目	全プロパティ

説明

データの削除で使用するプロシージャの名前を指定します。このプロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「削除プロシージャ結果セット列」プロパティ

関連項目	全プロパティ

説明

データの削除で使用するプロシージャに対応付けられた結果設定列の名前とデータ型を指定します。このプロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「レコード削除時の動作」プロパティ

制限事項	  関連項目	全プロパティ

説明

（注意: このプロパティの以前の名前は「Master Deletes」です）。

次のように、マスター・ブロック内のレコードの削除動作とディテール・ブロック内のレコードとの関係を指定します。

設定	説明
非孤立	デフォルト設定です。データベース内に関連するディテール・レコードが存在する場合は、マスター・レコードを削除しません。
孤立	データベース内の関連するディテール・レコードには何ら影響を与えずに、マスター・レコードを削除します。
カスケード	マスター・レコードの削除を許可し、自動的にディテールブロックの基礎表中にある関連するディテールレコードを削除します。リレーションがネストされたマスター/ディテール・リレーションでは、マスターに直接関連付けられたディテール・ブロック内のレコードのみが削除されます（何も指定しなければ、削除動作はリレーション連鎖の複数のレベルまでカスケードされません）。

適用されるオブジェクト　リレーション

設定　Form Builder、プログラム

参照するビルトイン

•	GET_RELATION_PROPERTY

•	SET_RELATION_PROPERTY

デフォルト

非孤立


「レコード削除時の動作」プロパティの制限事項

•	実行時にこのプロパティを設定してもデフォルトのマスター/ディテール・リレーションには一切影響しません。設計時に、Form Builderによって適切なトリガーが作成され、リレーションが施行されるため、実行時にこのプロパティを変更してもデフォルトのトリガー・テキストは変更されません。プログラムを使用してこのプロパティを設定または取得できるのは、カスタム（ユーザー独自）のマスター/ディテール調整をコーディングする設計者のみです。


「ディテール・データ・ブロック」プロパティ

制限事項	全プロパティ

説明

マスター/ディテール・ブロック・リレーション内のディテール・ブロック名を指定します。

適用されるオブジェクト　リレーション

設定方法  Form Builder

参照するビルトイン

GET_RELATION_PROPERTY (Detail_Name)

デフォルト:

NULL

必須/オプション  必須


「ディテール・データ・ブロック」プロパティの制限事項

指定したブロックはアクティブ・フォーム内にする必要があります。


「ディテール参照項目」プロパティ

全プロパティ

説明

マスター・データ・ブロックへのリンクを形成する、リレーションのディテール・データ・ブロック内のREF項目を識別します。このプロパティは、「リレーション・タイプ」プロパティが「REF」に設定されているときにのみ適用されます。

適用されるオブジェクト　リレーション

設定方法  Form Builder

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

NULL

使用上の注意

このプロパティは、「リレーション・タイプ」プロパティが「REF」に設定されているときにのみ適用されます。


「方向」プロパティ

関連項目	全プロパティ

説明

注意: このプロパティは、双方向各国語サポート（NLS: National Language Support）アプリケーション専用です。

双方向オブジェクトのレイアウト方向を指定します。

このプロパティの説明では、「Local」は右から左に表示する言語、「Roman」は左から右に表示する言語を表すと仮定します。

「方向」は包括的なプロパティで、各オブジェクトについてできる限り多くの機能を提供します。テキスト項目と表示項目を除くすべてのオブジェクトについて、「方向」プロパティが唯一の双方向プロパティで、その設定によって双方向機能の他の局面が制御されます。このプロパティを使用して、双方向機能その他の側面を制御できます（ただし、リスト項目には「方向」プロパティと「初期キーボード状態」プロパティがあります）。

フォーム・レベルの「方向」プロパティは、このプロパティの最上位プロパティです。したがって、フォーム・レベルの「方向」プロパティをデフォルト値に設定すると、NLS言語環境変数によって指定された自然言語記述方向がそのフォームのレイアウト方向に引き継がれます。

ほとんどの場合、他の言語記述方向プロパティをデフォルトに設定すると、望ましい機能性が得られます。すなわち、NLS言語環境変数のレイアウト方向を、それぞれの後続レベルに波及させます。継承されたデフォルト値を上書きするときは、双方向プロパティを指定するのみです。

次の表は、「方向」プロパティがどのように継承されるかを要約したものです。

	デフォルト設定値の継承元オブジェクト
フォーム	NLS環境変数
すべてのオブジェクト（警告、ブロック、値リスト、ウィンドウ、キャンバスなど）	フォーム
テキスト項目、表示項目、チェックボックス、ボタン、ラジオ・グループおよびリスト項目などのすべての項目	キャンバス

次の表は、それぞれのオブジェクト型の「方向」プロパティを使用して制御できる機能を要約したものです（テキスト項目と図表項目には「方向」プロパティがありません。その代わりに、Form Builderでは、これらの項目に対して特別に「文字位置」、「読取り順」および「初期キーボード方向」の各プロパティを設定できます。ただし、プログラムでは、テキスト項目および図表項目を含めたすべての項目の「方向」プロパティを取得および設定できます）。

	レイアウト方向	テキスト読取り順	テキストの文字揃え	スクロール・バーの位置	初期キーボード状態
フォーム	X
警告	X	X			X
ブロック（設定後に使用するもの）
値リスト（設定後に使用するもの）
ウィンドウ	X（メニューの）	X			X
キャンバス	X（起点も）	X（ボイラープレート・テキスト）		X（および定規）
チェックボックス	X	X			X
ボタン	X	X			X
ラジオ・グループ	X	X			X
リスト項目	X	X	X	X

注意: 前述の表の見出しは、プロパティでなく機能を表しています。たとえば、警告オブジェクトの「方向」プロパティは「初期キーボード状態」プロパティを設定するのではなく、キーボードの初期状態の機能を制御するためのものです。

このプロパティに設定できる値は次のとおりです。

Value	説明
デフォルト	方向は上の表のプロパティに基づいて決定されます
右から左	右から左方向
左から右	方向は左から右方向

適用されるオブジェクト　上の表のすべてのオブジェクト

設定　Form Builder、プログラム

参照するビルトイン

•	GET_FORM_PROPERTY GETFORMP

•	GET_WINDOW_PROPERTY

•	GET_VIEW_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_FORM_PROPERTY

•	SET_WINDOW_PROPERTY

•	SET_VIEW_PROPERTY

•	SET_ITEM_PROPERTY

全般的な使用上の注意

•	フォーム上のすべての項目のデフォルト値をNLS言語環境変数によって指定された自然言語記述方向に設定する場合は、フォーム・レベルでの「方向」プロパティを「デフォルト」に設定します。これにより、他のレベルの「方向」プロパティもすべて「デフォルト」に設定されます。

•	ほとんどの場合、「デフォルト」の設定によって必要な機能が得られます。上位レベルの「方向」プロパティとは反対の方向に表示するオブジェクトがある場合は、そのオブジェクトの「方向」プロパティを設定してデフォルト値を上書きしてください。たとえば、キャンバス上のほとんどの項目の「方向」プロパティの値をそのキャンバスの「方向」プロパティから継承し、特殊なテキスト項目の「方向」プロパティのみを設定してデフォルト値を上書きします。

•	「Local」メニューと「Roman」メニューの両方を表示する2か国語アプリケーションを開発する場合は、トリガーを作成し、GET_APPLICATION_PROPERTYビルトインの「USER_NLS_LANG」プロパティにの値に基づいて、適切な言語のメニューを表示します。

•	「方向」プロパティの値を選択する際には、次のガイドラインに従います。

•	「Local」オブジェクトを「右から左」モードで、「Roman」オブジェクトを「左から右」モードで表示する2か国語アプリケーションを開発する場合は、「デフォルト」を指定します。

•	オブジェクトが主に「Local」テキストから構成されている場合、「右から左」を指定します。

•	オブジェクトが主に「Roman」テキストから構成されている場合、「左から右」を指定します。

「方向」（警告）

警告インタフェース項目のレイアウト方向を指定します。これには、警告ウィンドウ内に表示されるテキストの読取り順序などが含まれます。

「方向」（ボタン）

ボタン・テキストの読取り順序と、入力フォーカスがボタンに移ったときの初期キーボード状態を指定します。

「方向」（キャンバス）

キャンバスのレイアウト方向を指定します。これには次のようなものが含まれます。

•	レイアウト・エディタで使用されるレイアウト方向

•	起点（起点は、「右から左」では右上角、「左から右」では左上角です）

•	定規およびスクロールバーの表示位置

•	ボイラープレート・テキストの読取り順序

キャンバス使用上の注意

•	選択する値の判断には、フォーム・レベルの「方向」プロパティの「使用上の注意」を参照してください。

•	レイアウト方向の異なる複数のブロックが共存するアプリケーションを開発するには、それぞれのブロックを異なるキャンバス上に配置します。これにより、次のような効果が得られます。

•	キャンバスの「方向」プロパティの値に従って、そのキャンバス内のブロックが自動的に配置されます。

•	ボイラープレート・テキストの読取り順序がデフォルトでキャンバスの「方向」プロパティの値に設定されます。

•	複数のキャンバスにまたがるブロックがある場合、ブロックの一部を別の「方向」プロパティで表示するのでない限り、すべてのキャンバスの「方向」プロパティを同じ値に保つようにしてください。

•	Form Builderでは、レイアウト・エディタが開いているときにキャンバスの「方向」プロパティを変更しても、レイアウト・エディタをいったん閉じてもう一度開くまで変更後の設定は有効になりません。

「方向」（チェックボックス）

チェックボックスのレイアウト方向を指定します。これには次のものが含まれます。

•	テキストのボックスに対する相対位置

•	チェックボックス・ラベルの読取り順序

•	入力フォーカスがチェックボックスに移ったときの初期キーボード状態

「方向」（フォーム）

フォームのレイアウト方向を指定します。フォーム・レベルの「方向」プロパティを「デフォルト」に設定すると、フォームのレイアウト方向はNLS環境変数に指定された自然言語記述方向から継承されます。

フォーム使用上の注意

•	「右から左」および「左から右」の両方向のモードで実行する2か国語アプリケーションを開発する場合は、「デフォルト」の値を使用します。

•	フォームを「Local」方向または「Roman」方向でテストするには、テスト中に「方向」プロパティを「右から左」または「左から右」に設定します。完成した実行形式ファイルを生成する前に、設定を「デフォルト」に戻すようにしてください。

•	アプリケーションがどちらかの方向モードでのみ動作すればよい場合、動作させる方向モードに対応した値を選択します。

「方向」（リスト項目）

ポップアップ・リストとコンボ・ボックスの両方におけるリスト項目のレイアウト方向を指定します。これには次のものが含まれます。

•	スクロール・バーの位置

•	リスト・テキストの文字位置

•	リスト・テキストの読取り順序

•	入力フォーカスがリスト項目に移ったときの初期キーボード状態

「方向」（ラジオ・グループ）

グループのラジオ・ボタンのレイアウト方向（テキストに対する丸の相対位置）を指定します。これには次のものが含まれます。

•	テキストの読取り順

•	入力フォーカスがラジオ・グループに移ったときの初期キーボード状態

「方向」（ウィンドウ）

ウィンドウ・オブジェクトのレイアウト方向を指定します。これには次のものが含まれます。

•	メニューのレイアウト方向

•	ウィンドウ領域のうち、独自の「方向」プロパティ値を持つオブジェクトの一部でない部分に表示されるテキストの読取り順（たとえば、ウィンドウ・タイトルなど）


「ヒントの自動表示」プロパティ

制限事項	  関連項目	全プロパティ

説明

項目プロパティに指定されたヘルプ・テキスト、つまりヒントをいつ表示するかを指定します。

•	このプロパティが「はい」に設定されていれば、入力フォーカスがその項目に移動するとForm Builderによってヒント・テキストが表示されます。

•	このプロパティが「いいえ」に設定されている場合は、入力フォーカスが項目内にある状態でエンドユーザーが[ヘルプ]キーを押すかデフォルト・メニューから「ヘルプ」コマンドを選択したときのみ、Form Builderによってヒント・テキストが表示されます。

適用されるオブジェクト　チャート項目、図表項目、カスタム項目を除くすべての項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

使用上の注意

トリガーによりForm Builderで複数の項目がナビゲートされてからターゲット項目で停止する場合は、途中の項目のヘルプ・テキストは表示されず、ターゲット項目のヘルプ・テキストのみが表示されます。


「ヒントの自動表示」プロパティの制限事項

「ヒント」プロパティが「NULL」のときは適用できません。


「キーボード・ヘルプの表示」プロパティ

制限事項	  関連項目	全プロパティ

説明

実行時の「キー」ヘルプ画面にキー・トリガーの説明を表示するかどうかを指定します。「キー」画面には、キー名とそのキーに対応付けられている物理的なキーストローク（例: [Ctrl]+「S」)のリストが表示されます。

適用されるオブジェクト  トリガー

設定方法  Form Builder

デフォルト

いいえ

使用上の注意

•	「キー一覧」ウィンドウに名前や説明を表示する必要がない場合は、「キーボード・ヘルプの表示」プロパティを「いいえ」に設定します。これはデフォルト設定です。

•	トリガーに対応するキー名とそのキーのデフォルトの説明を「Keys」ウィンドウに表示する場合は、このプロパティを「はい」に設定し、「キーボード・ヘルプのテキスト」プロパティをブランクにします。

•	デフォルトのキーの説明を変更する必要がある場合は、このプロパティを「はい」に設定し、「キーボード・ヘルプ・テキスト」プロパティに任意の説明を入力します。


「キーボード・ヘルプの表示」プロパティの制限事項

キー・トリガーにのみ有効です。


「表示品質」プロパティ

制限事項事項	全プロパティ

説明

イメージ項目を表示する場合の品質を指定します。このプロパティを使用すると、イメージの品質とメモリー/パフォーマンスとの兼ね合いを調整できます。

このプロパティに設定できる値は次のとおりです。

高 	イメージを高品質で表示します。より多くのリソースが必要です。

標準	イメージを標準の品質で表示します。

低	イメージを低品質で表示します。より少ないリソースで表示できます。

適用先　イメージ項目

設定方法  Form Builder

デフォルト

高


「表示品質」プロパティの制限事項

なし


「ディスプレイ幅」（値リスト）プロパティ

全プロパティ

説明

列マッピング・プロパティを参照してください。


「権限なしで表示」プロパティ

制限事項	  関連項目	全プロパティ

説明

現行のフォームのエンドユーザーがその項目へのアクセス権限を持つセキュリティ・ロールのメンバーでない場合に、現行のメニュー項目を表示するかどうかを指定します。

•	このプロパティを「いいえ」に設定すると、エンドユーザーがアクセス権限を持たない項目は表示されません。

•	このプロパティを「はい」に設定すると、その項目は使用不可（グレー表示）メニュー項目として表示されます。ただし、項目がメニューに表示されても、エンドユーザーはその項目に対応付けられたコマンドを実行できません。

このプロパティでできるのは、ロール・リストに表示されたメニュー・ロールのメンバーにアクセス権限を付与することのみです。ロール・リストにデータベース・ロールを追加するには、メニュー・モジュール・プロパティ「モジュール・ロール」を設定します。ロール・リストの設定方法およびロール・アクセスのメニュー項目への割り当て方の詳細は、Form Builderのオンライン・ヘルプ・システムを参照してください。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

デフォルト

いいえ


「権限なしで表示」プロパティの制限事項

ロール・リストにデータベース・ロール名が最低1つ指定されている場合にのみ有効です。


「Display_Height」プロパティ

全プロパティ

説明

表示装置の高さを表します。単位は「座標単位」フォーム・プロパティに現在設定されている値です。このプロパティを使用すると、ウィンドウの画面上での最適な表示位置を動的に計算できます。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY


「Display_Width」プロパティ

全プロパティ

説明

表示装置の幅を表します。単位は、「座標単位」フォーム・プロパティに現在設定されている値です。このプロパティを使用すると、ウィンドウの画面上での最適な表示位置を動的に計算できます。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY


「表示」プロパティ

制限事項	  全プロパティ

説明

項目を使用可能/表示または使用不可/非表示に設定します。使用不可で、非表示に設定された項目は、ナビゲート、問合せ、更新ができません。

パラメータの値TRUE/FALSE

適用先item

設定方法: プログラム

使用上の注意

「表示」プロパティを「FALSE」に設定する前に、項目が選択されていないことを確認します。選択した項目の「表示」プロパティを「FALSE」に設定するとエラー（FRM-41016）が発生します。

参照するビルトイン

GET_ITEM_PROPERTY

SET_ITEM_PROPERTY


「表示」プロパティの制限事項

選択した項目やフォーカスがある項目の「表示」プロパティを設定することはできません。


「レコード間の距離」プロパティ

関連項目	全プロパティ

説明

マルチレコード・ブロック内の項目のインスタンス間のスペースの量を指定します。マルチレコード・ブロックは、「表示レコード数」プロパティが2以上に設定されたブロックです。

適用されるオブジェクト項目

設定方法  Form Builder

デフォルト

0

必須/オプション　オプション

使用上の注意

文字セル定規単位で作業している場合、項目インスタンス間のスペースの量は、少なくとも、1つのセルの高さと同じにする必要があります。

たとえば、5レコード項目中の項目インスタンス間のスペースの量を増加させるには、「レコード間の距離」プロパティで、各項目インスタンス間のスペースを4以上に設定する必要があります。


「ディザ」プロパティ

全プロパティ

説明

イメージをディザリングして表示するかどうかを指定します。

適用されるオブジェクト　図形（イメージ）

設定方法  Form Builder

デフォルト

いいえ

必須/オプション  必須


「DML配列の大きさ」プロパティ

制限事項	  関連項目	全プロパティ

説明

一度にデータベース内のレコードを挿入、更新および削除するための最大配列サイズを指定します。

適用されるオブジェクト　ブロック

設定方法　Form Builder

デフォルト

1

使用上の注意

このサイズを大きくすると、データベースとの間のネットワーク通信量が減少するためトランザクション処理にかかる時間は短くなりますが、必要なメモリー量は増加します。最適なサイズは、ユーザーが1回のトランザクションで変更するレコード数です。


「DML配列の大きさ」プロパティの制限事項

•	このプロパティの最小値は1（1レコード）。上限はありません。

•	このプロパティを2以上に設定し「挿入可」プロパティを「はい」に設定すると、レコードのROWIDを取得できなくなるため、1つ以上の項目を主キーとして指定する必要があります。ROWIDは、Oralceが各レコードを識別するのに使用するデフォルトの構成体です。単一のレコード処理では、将来の参照（更新または削除）に備えてレコードのROWIDが取得されます。一方、配列処理では、配列内の各レコードのROWIDが戻らないため、ブロックに主キー項目を1つ以上指定する必要があります。主キーはロックする行を指定するのに使用され、ROWIDは更新や削除で使用されます。レコードがロックされるまで、BLOCK.ROWIDは使用できません。「キー・モード」の値が「一意」（デフォルト値）の場合も、ブロック内の1つ以上の項目を主キーに指定してください。

•	このプロパティを2以上に設定すると、Form Builderで「変更列のみ更新」プロパティを「はい」に設定しても、実行時に「変更列のみ更新」プロパティは常に「いいえ」に設定されます。「変更列のみ更新」プロパティには、実際に値が変更された列のみをCOMMIT中にUPDATE文に組み込むかどうかを指定します。

•	ブロック内に長い行項目（イメージ項目、サウンド項目、OLE項目など）があると、実行時に「DML 配列の大きさ」プロパティが必ず1に設定されます。


「DMLデータ宛先名」プロパティ

制限事項	  関連項目	全プロパティ

説明

ブロックのDMLデータ・ターゲットの名前を指定します。このプロパティは、「DMLデータ宛先タイプ」プロパティが「表」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

NULL

必須/オプション　オプション


「DMLデータ宛先名」プロパティの制限事項

DMLデータ・ターゲット名プロパティを設定するに先立ち、COMMIT_FORM またはCLEAR_FORMを作動させる必要があります。


「DMLデータ宛先タイプ」プロパティ

関連項目	全プロパティ

説明

ブロックのDMLデータ・ターゲット型を指定します。指定できるDMLデータ・ターゲット・タイプは、「表」、「プロシージャ」または「トランザクション・トリガー」です。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

GET_BLOCK_PROPERTY

デフォルト

表

必須/オプション  必須


「DMLの戻り値」プロパティ

全プロパティ

説明

データベースの更新または挿入後に変更された値でクライアント側のデータを更新するときに、新しい動作または古い動作のどちらをFormsが使用するかを指定します。このプロパティを「はい」に設定すると、新しい動作（リリース6現在の最新動作）が選択されます。「いいえ」に設定すると、古い動作（リリース5およびそれ以前の動作）が選択されます。

データベースの更新または挿入アクションによって、サーバー側のトリガーが起動し、さらにデータが変更されることがあります。リリース6では、Oracle8データベース・サーバーを使用しているとき、FormsはDMLの戻り句を使用して、そのような変更を速やかに元に戻します。このプロパティを「はい」に設定すると、Formsは自動的にクライアント側のデータを更新するため、ユーザーはデータベースに再び問い合せて変更後の値を取得する必要はありません。

このプロパティが「いいえ」に設定されると、Formsではクライアント側のデータが自動更新されません（これはリリース6以前の動作です）。この場合、サーバー側で値が変更された行をユーザーが続けて更新しようとすると、警告のメッセージが出され、再問合せを行って最新の値を取得するかどうかを尋ねられます。この「いいえ」の設定は、互換性を保つためのオプションとして設けられています。

適用されるオブジェクト　ブロック

設定方法  Form Builder

有効な値　はい/いいえ

デフォルト　いいえ

必須/オプション  必須

制限事項

•	Formsは、Oracle8データベース・サーバーでのみDML戻り句を使用します。このプロパティは、Oracle8以外のサーバーを使用しているときは無視されます。

•	FormsではINSERT文およびUPDATE文とともに戻り句が使用されますが、（現時点では）DELETE文とともには使用されません。

•	LONGの処理時には、Formsは戻り句を使用しません。

•	未変更列の更新は、「変更列のみを更新」プロパティの設定によって制御されます。このプロパティの値は「DML配列の大きさ」プロパティの設定によって変化します。


「枠のバックグラウンド・カラー」プロパティ

全プロパティ

説明

図形オブジェクトの枠のバックグラウンド・カラーを指定します。

適用されるオブジェクト　図形フォントおよびカラー

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「枠のフォアグラウンド・カラー」プロパティ

全プロパティ

説明

図形オブジェクトの枠のフォアグラウンド・カラーを指定します。

適用されるオブジェクト　図形フォントおよびカラー

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「境界線パターン」プロパティ

全プロパティ

説明

図形オブジェクトの境界線のパターンを指定します。

適用されるオブジェクト　図形フォントおよびカラー

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「エディタ」プロパティ

制限事項	全プロパティ

説明

このテキスト項目のデフォルト・エディタとして使用するエディタを次の中から1つ指定します。

•	フォーム内でユーザーが指定したエディタ

•	SYSTEM_EDITOR環境変数に設定した、Form Builder外部のシステム・エディタ

適用されるオブジェクト　テキスト項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

デフォルト

ブランク - デフォルトのForm Builderエディタ

必須/オプション　オプション

使用上の注意

システム・エディタを指定する方法は次のとおりです。

•	FORMS60_EDITOR環境変数を設定してシステム・エディタを定義します。

•	「エディタ名」フィールドに「SYSTEM_EDITOR」と入力します。


「エディタ」プロパティの制限事項

指定したエディタはアクティブ・フォーム内にする必要があります。


エディタX位置、エディタY位置

全プロパティ

説明

エディタの左上角の水平（x）座標および垂直（y）座標を、ウィンドウの内容キャンバスの左上角から見た相対的な座標で指定します。「エディタ」プロパティを設定した場合は、エディタ位置プロパティを設定して、エディタに対して指定されたデフォルトの表示座標を上書きできます。

適用されるオブジェクト　テキスト項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

デフォルト

0, 0 - この値は、そのエディタ位置プロパティに指定されたデフォルトの表示座標をForm Builderが使用することを示します。

必須/オプション　オプション


「リスト内の要素」プロパティ

制限事項	全プロパティ

説明

「リスト内の要素」プロパティ・グループには、「リスト項目」および「リスト項目値」の各プロパティが含まれます。

適用されるオブジェクト　リスト項目

設定方法  Form Builder

リスト項目

リスト項目内の各要素に対するテキスト・ラベルを指定します。

必須/オプション  必須

項目値を表示

リスト項目内の特定の要素に対応付ける値を指定します。

デフォルト

NULL

必須/オプション  必須

使用上の注意

「リスト項目値」フィールドを空白のままにすると、その要素にはNULL値が対応付けられます。


「リスト内の要素」プロパティの制限事項

•	各要素に対応付ける値は重複しないでください。


「使用可能」プロパティ

全プロパティ

「使用可能」（項目）プロパティ

「使用可能」（メニュー項目）プロパティ

「使用可能」（タブ・ページ）プロパティ


「使用可能」（項目）プロパティ

関連項目	全プロパティ

説明

エンド・ユーザーにマウスを使用した項目の操作を許可するかどうか指定します。

ほどんどのウィンドウ・マネージャでは、このプロパティを「いいえ」に設定するとその項目がグレーで表示されます。

適用されるオブジェクト　ボタンおよびチャート項目、図表項目を除くすべての項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

デフォルト

はい

使用上の注意

「使用可能」が「はい」に設定されている場合、「キーボードで移動可能」は「はい」、「いいえ」のどちらにも設定できます。「使用可能」が「いいえ」の場合は、キーボードによる項目の移動は常に不可とされます。実行時に、「使用可能」プロパティがPROPERTY_FALSEに設定されていると、「Keyboard_Navigable」プロパティもPROPERTY_FALSEに設定されます。

「使用可能」プロパティを「いいえ」に設定すると、その項目がグレーで表示されます。この項目を通常どおり表示させて、実際には変更できなくともユーザーがこの項目を確認できるようにするには、プロパティを次のように設定します。

•	「挿入可」（項目）を「いいえ」に

•	「更新可」（項目）を「いいえ」に

•	「使用可能」を「はい」に


「使用可能」（メニュー項目）プロパティ

制限事項	  関連項目	全プロパティ

説明

メニュー項目を使用可能（通常表示）項目として表示するか、使用不可（グレー表示）項目として表示するかを指定します。

適用されるオブジェクト　メニュー項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_MENU_ITEM_PROPERTY

デフォルト

はい


「使用可能」（メニュー項目）プロパティの制限事項

次のような場合は、メニュー項目が隠されるため、プログラムを使用してメニューを使用可能または使用不可に設定することはできません。

•	メニュー・モジュールの「セキュリティ使用」プロパティが「はい」に設定されている場合

•	メニュー項目の「権限なしで表示」プロパティが「いいえ」に設定されている場合

•	現在のエンドユーザーがそのメニュー項目へのアクセス権限を持つロールのメンバーではない場合


「使用可能」（タブ・ページ）プロパティ

全プロパティ

説明

タブ・ページを使用可能（通常表示）として表示するか、使用不可（グレー表示）項目として表示するかを指定します。

適用されるオブジェクト　タブ・ページ

設定　Form Builder、プログラム

参照するビルトイン

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

デフォルト

はい


「終了角」プロパティ

全プロパティ

説明

円弧の終了角を指定します。このとき起点として水平軸を使用します。

適用先  図形（円弧）

設定方法  Form Builder

デフォルト

180

必須/オプション  必須


「列セキュリティの強化」プロパティ

関連項目	全プロパティ

説明

ブロックの基礎表に対する列ごとの基礎における更新特権を、Form Builderが施行すべきかどうかを指定します。あるエンドユーザーが実表の特定の列に対して更新権限を持たない場合、Form Builderによってフォーム起動時に「更新可」項目プロパティがオフに設定され、このエンドユーザーのみが対応する項目を更新できないように設定されます。

このプロパティの設定値とその効果は次のとおりです。

設定値	効果
はい	データベースに定義された現在のエンドユーザーの更新権限がFormBuilderによって適用されます。
いいえ	データベースに定義された更新権限はForm Builderによって適用されません。

適用されるオブジェクト　ブロック

設定方法  Form Builder

参照するビルトイン

GET_BLOCK_PROPERTY

デフォルト

いいえ


「主キーの強化」（ブロック）プロパティ

制限事項	  関連項目	全プロパティ

説明

ブロックに挿入される、またはブロック内で更新されるすべてのレコードが一意のキーを持つ必要があることを示します。これにより、ブロックの実表への行の複製を回避できます。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

いいえ


「主キーの強化」（ブロック）プロパティの制限事項

•	「主キー」項目プロパティが「はい」に設定された項目がブロック内に1つ以上にする必要があります。


「Enterable」プロパティ

関連項目	全プロパティ

説明

そのブロックが入力可能かどうかを表します。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY

使用上の注意

•	ブロックの現在のレコードに含まれる項目インスタンスの「キーボードで移動可能」プロパティが有効値「はい」を持つ場合、そのブロックは入力可能です。「キーボードで移動可能」プロパティの有効な値については、「キーボードで移動可能」プロパティおよびSET_ITEM_INSTANCE_PROPERTYビルトインの説明を参照してください。


Error_Date/Datetime_Formatプロパティ

関連項目	全プロパティ

説明

環境変数FORMSnn_ERROR_DATE_FORMATまたはFORMSnn_ERROR_DATETIME_FORMATで設定された現在のエラー日付またはdatetime書式マスクを保持します。Formsではこの書式マスクを実行時エラー処理時にデフォルトとして使用します。

Error_Date_FormatとError_Datetime_Formatという2種類のプロパティがあります。

適用されるオブジェクト　アプリケーション

設定　Form Builder内では設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY


「実行モード」プロパティ

全プロパティ

「実行モード」（チャート）プロパティ

「実行モード」（レポート）プロパティ


「実行モード」（チャート）プロパティ

全プロパティ

説明

Form BuilderからGraphics Builderを起動してチャートを作成しているときに使用する実行モードを、このプロパティで「バッチ」または「ランタイム」のどちらかに指定します。バッチ・モードでは、ユーザーの対話なしにレポートまたはグラフィックが実行されます。ランタイム・モードでは、実行の間のユーザーの対話が可能になります。

適用されるオブジェクト　チャート項目

設定方法  Form Builder

デフォルト

バッチ

必須/オプション  必須


「実行モード」（レポート）プロパティ

全プロパティ

説明

フォームとレポートを統合する際のレコードの実行モードを、このプロパティで「バッチ」または「ランタイム」のどちらかに指定します。バッチ・モードでは、ユーザーの対話なしにレポートまたはグラフィックが実行されます。ランタイム・モードでは、実行の間のユーザーの対話が可能になります。

適用されるオブジェクト　レポートDeveloper統合

設定方法  Form Builder

デフォルト

バッチ

必須/オプション  必須


「実行の階層」プロパティ

全プロパティ

説明

オブジェクトの階層内でより高次に定義された同名のトリガーが存在する場合に、現在のトリガー・コードをどのように実行するかを指定します。

このプロパティに設定できる値は次のとおりです。

上書き	高次の同名トリガーの代わりに現在のトリガーを起動するように指定します。これを「親を上書き」動作と呼びます。

前	隣接する高次のスコープの同じトリガーを起動する前に、現在のトリガーを起動ように指定します。これを「親の前に起動」動作と呼びます。

後	隣接する高次のスコープの同じトリガーを起動した後に、現在のトリガーを起動するように指定します。これを「親の後に起動」動作と呼びます。

適用されるオブジェクト  トリガー

設定方法  Form Builder

デフォルト

上書き


「ファイル名」プロパティ

制限事項	  関連項目	全プロパティ

説明

命名したオブジェクトが格納されているファイル名を表します。

適用されるオブジェクト  フォーム、レポート

設定　設定できません。

参照するビルトイン

GET_FORM_PROPERTY

必須/オプション　オプション

使用上の注意

フォーム・レベルの「ファイル名」は、アプリケーション・レベルの「Current_Form」に相当します。「Current_Form」の値は、GET_APPLICATION_PROPERTYビルトインで取得できます。


「ファイル名」プロパティの制限事項

同じ名前のフォームが複数ある場合は、最後にアクセスされたフォームが格納されているファイルの名前が「ファイル名」プロパティに戻ります。


「塗り」プロパティ

全プロパティ

説明

円弧の形状を「円グラフ」または「弦型」のどちらかに指定します。「円グラフ」を指定すると、円弧によって描かれる円の中心点から円弧をレンダリングします。「弦型」を指定すると、円弧の2つの終点間の線セグメントから円弧をレンダリングします。

適用先  図形（円弧）

設定方法  Form Builder

デフォルト

円グラフ

必須/オプション  必須


「Fill_Pattern」プロパティ

関連項目	全プロパティ

説明

オブジェクトの塗り領域に使用されるパターンを指定します。パターンは、「Background_Color」プロパティおよび「Foreground_Color」プロパティで指定された2つのカラーでレンダリングされます。

適用されるオブジェクト  項目、タブ・ページ、キャンバス、ウィンドウ、ラジオ・ボタン

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「表示前フィルタ」プロパティ

制限事項	全プロパティ

説明

「表示前フィルタ」プロパティを「はい」に設定すると、値リストが表示される前に問合せ基準ダイアログが表示されます。エンド・ユーザーは問合せ基準ダイアログで値を入力して、値リストの基礎を形成するレコード・グループを移入するデフォルトSELECT文により返される行をさらに制限できます。Form Builderでは、問合せ基準ダイアログで入力した値を使用してSELECT文のWHERE句が組み立てられます。この値は、値リストに表示される第1列に適用されます。値リストの隠し列は表示されません。

Form Builderによって組み立てられたWHERE句では、エンド・ユーザーが入力した値の後にワイルドカード記号が付けられます。したがって、たとえば、エンド・ユーザーが7を入力したら、WHERE句はLIKE '7%'と読み、7、712および7290を返します。

問合せ基準ダイアログでエンド・ユーザーがいったん値を入力し、値リストが表示されたとき、その値リストに実際に含まれるのは、デフォルトのSELECT文と、問合せ基準ダイアログでの値によって作成されたWHERE句の両方に対応する行のみです。たとえば、デフォルトのSELECT文がFOO、FARおよびBAZの各値を返す値リストがあるとします。問合せ基準ダイアログでエンド・ユーザーが値FまたはF%を入力した場合、その結果できた値リストには値FOOおよびFARのみが含まれます。その後ユーザーが値リストの選択フィールドで値B%を入力しても、BAZはすでに問合せ基準ダイアログでの入力値によってフィルタリングされているため、何の値も返されません。

適用先　値リスト

設定方法  Form Builder

デフォルト

いいえ


「表示前フィルタ」プロパティの制限事項

•	値リストが基礎を置くレコード・グループのためのSELECT文が表を加えたら、値リストに表示される最初の列は、加えられたすべての表において一意にする必要があります。重複する列名が存在すると、エンドユーザーが「Filter Before Display」機能を使用しようとしたときにエラーが発生します。たとえば、EMP表とDEPT表の両方にDEPTNO列が含まれている場合に、この2つの表を結合すると、DEPTNO列が重複するためエラーになります。このような場合は、データベース内に新規ビューを作成して、問合せ基準ダイアログでエンドユーザーに参照させたい列に一意の名前を割り当ててください。

•	長い値リストで項目の妥当性をチェックする場合には、問合せ条件ダイアログは表示されないので、値リストの妥当性チェックはユーザーとは無関係に行われます。Form Builderではテキスト項目の現行の値を使用し、値リストの最初の表示項目にワイルドカード条件を適用することによって、リスト縮小用のWHERE句を作成します。


「問合せ入力モードで起動」プロパティ

関連項目	全プロパティ

説明

「標準」モードのときのみでなく、フォームが「問合せ入力」モードのときもトリガーを起動できるようにするかどうかを指定します。

適用されるオブジェクト  トリガー

設定方法  Form Builder

デフォルト

いいえ

使用上の注意

このプロパティが適用されるトリガーは次のとおりです。

•	キー

•	On-Error

•	On-Message

•	When- トリガー。ただし、次を除きます。

•	When-Database-Record

•	When-Image-Activated

•	When-New-Block-Instance

•	When-New-Form-Instance

•	When-Create-Record

•	When-Remove-Record

•	When-Validate-Record

•	When-Validate-Item


「最初のナビゲーション・データ・ブロック」プロパティ

関連項目	全プロパティ

説明

フォーム起動時およびCLEAR_FORM操作後に、どのブロックにナビゲートするかを指定します。デフォルトにより、最初のナビゲーション・データ・ブロックはフォームのコミット順序中の最初のブロックとされます。これはオブジェクト・ナビゲータ中のブロックの順序により規定されます。デフォルト以外のブロックを最初にナビゲートするブロックを指定するとき、プログラムでこの「最初のナビゲーション・データ・ブロック」プロパティを設定します。

適用されるオブジェクト  フォーム・モジュール

設定方法　Form Builder、プログラム

参照するビルトイン

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY

デフォルト

そのフォーム内の最初のブロック、つまりオブジェクト・ナビゲータでブロック・リストの最初に表示されるブロック。

必須/オプション　オプション

使用上の注意

フォーム起動時に、Form Builderが内部的にフォームの最初のブロックにナビゲートする前に起動されるWhen-New-Form-Instanceトリガーを使用して、このプロパティを設定することもできます。


「First_Block」プロパティ

関連項目	全プロパティ

説明

フォーム内の最初のブロック、つまり、オブジェクト・ナビゲータでブロック・リストの最初に表示されるブロックの名前を表します。起動時に、Form Builderによって最初のブロック内の最初の項目にナビゲートされます。

適用されるオブジェクト　フォーム

設定　設定できません。

参照するビルトイン

GET_FORM_PROPERTY


「First_Detail_Relation」プロパティ

関連項目	全プロパティ

説明

指定したブロックがディテール・ブロックであるマスター/ディテール・ブロック・リレーションのうち最初のリレーションの名前を表します。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY

使用上の注意

このプロパティは、ユーザー独自のマスター/ディテール調整スキームをコーディングする場合に便利です。「Next_Master_Relation」プロパティや「Next_Detail_Relation」プロパティとともに使用すれば、リレーション・リスト全体を順次参照できます。


「First_Item」プロパティ

関連項目	全プロパティ

説明

オブジェクト・ナビゲータに項目シーケンスとして表示される、ブロック内の最初の項目を表します。起動時に、Form Builderによって最初のブロック内の最初の項目にナビゲートされます。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY


「First_Master_Relation」プロパティ

関連項目	全プロパティ

説明

指定したブロックがマスター・ブロックであるマスター/ディテール・ブロック・リレーションのうち最初のリレーションの名前を表します。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY

使用上の注意

このプロパティは、ユーザー独自のマスター/ディテール調整スキームをコーディングする場合に便利です。「Next_Master_Relation」プロパティや「Next_Detail_Relation」プロパティとともに使用すれば、リレーション・リスト全体を順次参照できます。


「固定境界ボックス」プロパティ

全プロパティ

説明

テキスト・オブジェクトの枠ボックスを固定サイズのままとするかどうかを指定します。このプロパティを「はい」に設定すると、「幅」プロパティおよび「高さ」プロパティの値によって枠ボックスのサイズが決まります。

適用されるオブジェクト　図形テキスト

設定方法  Form Builder

デフォルト

いいえ

必須/オプション  必須


「固定長」（項目）プロパティ

制限事項	  関連項目	全プロパティ

説明

固定長に「はい」と設定できるのは、項目が許される最大数の文字をすでに含んでいる場合のみです。許される最大文字数は、最大長プロパティにより設定されます。

適用されるオブジェクト　テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ


「固定長」（項目）プロパティの制限事項

•	「可視」プロパティと「変更可能」プロパティが両方とも「はい」に設定されている必要があります。

•	NUMBERデータ型のテキスト項目の値は、先頭がゼロであってはいけません。Form Builderは自動的に先行ゼロを消去し、テキスト項目を"満杯でない"と解釈します。


「固定長」（メニュー置換パラメータ）プロパティ

関連項目	全プロパティ

説明

固定長を「はい」と設定できるのは、パラメータは許される最大数の文字をすでに含んでいるときのみです。許される最大文字数は、最大長プロパティにより設定されます。

適用先　メニューパラメータ

設定方法  Form Builder

デフォルト

いいえ


「Flag_User_Value_Too_Long」プロパティ

全プロパティ

説明

Formsにおいて、「最大長」プロパティを超えるユーザー入力値がどのように処理されるかを指定します。

このプロパティは、UTF8以外のマルチバイト・キャラクタ・セットを指定する中間層（Forms Server）を持つ3層環境にのみ適用されます。

適用されるオブジェクト  アプリケーション

設定  プログラム

デフォルト

Property_False ('FALSE')

参照するビルトイン

GET_APPLICATION_PROPERTY

SET_APPLICATION_PROPERTY

使用上の注意

UTF8以外のマルチバイト・キャラクタ・セット環境の3層では、エンド・ユーザーは「最大長」プロパティに指定されている値を超えるバイト数を項目に入力することが可能です。

「Flag_User_Value_Too_Long」プロパティが設定されている場合またはデフォルトで「FALSE」に設定されている場合、前述のような状況が発生すると、入力した値のバイト・サイズが「最大長」プロパティに指定された値を超えないように、ユーザーが入力した値は文字の境界で切り捨てられます。項目レベルの検証が行われるときに、切捨て値が検証されます。検証（およびナビゲーション・トリガー）が成功すると、エンド・ユーザーはその項目から出ることができます。エラー・メッセージや警告メッセージは表示されません。

「Flag_User_Value_Too_Long」プロパティが「TRUE」に設定されている場合、ユーザーの入力値が「最大長」プロパティを超えても、入力値は切り捨てられません。項目レベルの検証が行われるときに、切捨てが必要であることを示すエラー・メッセージが表示されて、検証は失敗します。つまり、エンド・ユーザーは現行の検証単位（現行のフォームの「検証単位」プロパティで指定）を出ることができません。


「Font_Name」プロパティ;

関連項目	全プロパティ

説明

オブジェクト内のテキストに使用されるフォント・ファミリ、または書体を指定します。どのようなフォントが使用できるかはシステムによって異なります。

適用されるオブジェクト  項目、タブ・ページ、キャンバス、ウィンドウ、ラジオ・ボタン

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「Font_Size」プロパティ

関連項目	全プロパティ

説明

フォントのサイズをポイント単位で指定します。

適用されるオブジェクト  項目、タブ・ページ、キャンバス、ウィンドウ、ラジオ・ボタン

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「Font_Spacing」プロパティ

関連項目	全プロパティ

説明

フォントの幅（文字間のスペースの大きさ、またはカーニング）を指定します。有効な値は次のとおりです。

FONT_NORMAL

FONT_ULTRADENSE

FONT_EXTRADENSE

FONT_DENSE

FONT_SEMIDENSE

FONT_SEMIEXPAND

FONT_EXPAND

FONT_EXTRAEXPAND

FONT_ULTRAEXPAND

適用されるオブジェクト  項目、タブ・ページ、キャンバス、ウィンドウ、ラジオ・ボタン

設定　プログラム

デフォルト

FONT_NORMAL

参照するビルトイン

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

•	GET_VA_PROPERTY?

•	SET_VA_PROPERTY?

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「Font_Style」プロパティ

関連項目	全プロパティ

説明

フォントのスタイルを指定します。有効な値は次のとおりです。

FONT_PLAIN

FONT_ITALIC

FONT_OBLIQUE

FONT_UNDERLINE

FONT_OUTLINE

FONT_SHADOW

FONT_INVERTED

FONT_OVERSTRIKE

FONT_BLINK

適用されるオブジェクト  項目、タブ・ページ、キャンバス、ウィンドウ、ラジオ・ボタン

設定　プログラム

デフォルト

FONT_PLAIN

参照するビルトイン

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

•	GET_VA_PROPERTY

•	SET_VA_PROPERTY

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「Font_Weight」プロパティ

関連項目	全プロパティ

説明

フォントの幅を指定します。有効な値は次のとおりです。

FONT_MEDIUM

FONT_ULTRALIGHT

FONT_EXTRALIGHT

FONT_LIGHT

FONT_DEMILIGHT

FONT_DEMIBOLD

FONT_BOLD

FONT_EXTRABOLD

FONT_ULTRABOLD

適用されるオブジェクト  項目、タブ・ページ、キャンバス、ウィンドウ、ラジオ・ボタン

設定　プログラム

デフォルト

FONT_MEDIUM

参照するビルトイン

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

•	GET_VA_PROPERTY?

•	SET_VA_PROPERTY?

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「Foreground_Color」プロパティ

関連項目	全プロパティ

説明

オブジェクトのフォアグラウンド領域のカラーを指定します。項目については、項目内に表示されるテキストのカラーを定義します。

適用されるオブジェクト  項目、タブ・ページ、キャンバス、ウィンドウ、ラジオ・ボタン

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「フォーム水平ツールバーのキャンバス」プロパティ

制限事項	  関連項目	全プロパティ

説明

Microsoft Windows上では、MDIアプリケーション・ウィンドウに水平ツールバーとして表示するキャンバスを指定します。「キャンバス・タイプ」プロパティが「水平ツールバー」に設定されているキャンバスを指定してください。

適用されるオブジェクト　フォーム

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「フォーム水平ツールバーのキャンバス」プロパティの制限事項

Microsoft Windowsにおいてのみ有効です。その他のプラットフォーム上では、「フォーム水平ツールバーのキャンバス」プロパティは無視され、キャンバスは「ウィンドウ」プロパティに設定されたウィンドウにマッピングされます。


「フォーム垂直ツールバーのキャンバス」プロパティ

制限事項	  関連項目	全プロパティ

説明

Microsoft Windows上では、MDIアプリケーション・ウィンドウに垂直ツールバーとして表示するキャンバスを指定します。「キャンバス・タイプ」プロパティが「垂直ツールバー」に設定されているキャンバスを指定してください。

適用されるオブジェクト　フォーム

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「フォーム垂直ツールバーのキャンバス」プロパティの制限事項

Microsoft Windowsにおいてのみ有効です。その他のプラットフォーム上では、「フォーム垂直ツールバーのキャンバス」プロパティは無視され、ツールバー・キャンバスは「ウィンドウ」プロパティに設定されたウィンドウにマッピングされます。


「書式マスク」プロパティ

制限事項	  関連項目	全プロパティ

説明

テキスト項目内のデータの表示書式およびエンド・ユーザーがテキスト項目に入力できるデータを指定します。

適用されるオブジェクト　テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

必須/オプション　オプション

使用上の注意

文字列、数値および日付の有効な書式マスクは次のとおりです。

文字列

文字列の有効な書式マスクは次の表のとおりです。

要素	例	説明
FM	FMXX99	充填モード。入力されたとおりに文字列を受け入れ、右揃えは行いません。エンド・ユーザーは書式マスクより短い文字列も入力できます。
X	XXXX	任意のアルファベット文字または数字、特殊文字。エンド・ユーザーの入力文字列は書式マスクで指定されたとおりの長さにする必要があります。
9	9999	数字のみ。エンド・ユーザーの入力文字列は書式マスクで指定されたとおりの長さにする必要があります。
A	AAAA	アルファベット文字のみ。エンド・ユーザーの入力文字列は書式マスクで指定されたとおりの長さにする必要があります。
文字列の例

書式マスク	説明
XXAA	--ab、abcd、11abは受け入れられますが、--11、ab11、ab--は受け入れられません（ハイフンやその他の特殊文字を受け入れるにはXXを使用する必要があります）。
XXXX	アルファベット、数値、特殊文字のあらゆる組み合わせが許されます。（--ab、abcd、11ab、--11、ab11、ab--など）。123やabcなどは許されません。（マスクより短い入力文字列を受け入れるには、FMXXXXを使用します）。
FMXX99	ab12、ab1、2つのスペースが続くabは受け入れられますが、12abやabcdは受け入れられません（Form Builderバージョン3.0 Alphaデータ型を生成するには、FMAAAAAAを使用します）。
•	ハイフン（-）やカンマ（,）のような追加文字を二重引用符（"）で囲んで埋め込みます。

•	埋込み文字はテキスト項目の値とは区別され、エンドユーザーが埋込み文字を入力しても、テキスト項目の値の照合では使用されません。

数値

数値の有効な書式マスクは次の表のとおりです。

要素	例	説明
9	9999	9の数によって表示幅が決まります。先行するゼロがあれば空白で表示されます。
0	0999	先行するゼロが表示されます。
0	9990	値ゼロは、ブランクではなく、ゼロとして表示されます。
$	$9999	値の前にドル記号が付けられます。
B	[B9999]	値ゼロは、'"0"（ゼロ）ではなく、スペースで表示されます。
MI	9999MI	負の値の後に"-"が付きます。
PR	9999PR	負の値は、山かっこ（< >）の中に表示されます。
カンマ	9,999	指定した位置にカンマが表示されます。多言語対応アプリケーションで正常に動作させるには、適切なグループ（千単位の）セパレータが戻されるようにGを置き換えてください。
ピリオド	99.99	指定した位置に小数点が表示されます。多言語対応アプリケーションで正常に動作させるには、適切な小数点が戻るようにDを置き換えてください。
E.	9.999EEEE	科学表記法に基づいて表記されます（書式はEEEEに準拠）。
FM	FM999	充填モード。入力されたとおりに文字列を受け入れ、右揃えは行いません。
•	数値を9を使用してマスクすると、Form Builderによって数値の前にプラス（+）やマイナス（-）記号を入れるためのスペースが1つ追加さます。ただし、プラス記号は表示されないため、数値の前にスペースが1つ追加されたように見えます（マイナス記号は表示されます）。

•	ハイフン（-）やカンマ（,）のような追加文字を二重引用符（"）で囲んで埋め込みます。

•	埋込み文字はテキスト項目の値とは区別され、エンドユーザーが埋込み文字を入力しても、テキスト項目の値の照合では使用されません。

数値の例

書式マスク	説明
FM099"-"99"-"9999	社会保障番号の列を作成します。エンドユーザーがたとえ9桁のみしか入力しなくても、ハイフンを補って、正しい書式になるようにします。社会保障番号の列は、11桁の列を作り、099"-"99"-"9999の書式マスクを作ります。この書式マスクは、ゼロで始まる社会保障番号を、012-34-5678 または 012345678 のどちらの形で入力されても受入れ、012345678として記憶します。
99999PR	-123を受け入れ、<123>としてフォーマットし直します。
999MI	-678を受け入れ、678-としてフォーマットし直します。
9.999EEEE	1.00E+20の形式で表示します。
Formsにおける長さの不適合の取扱い

実行時にユーザーが書式マスク仕様を超える長さの文字列を入力した場合、値は無効とされます。次に例を示します。

書式マスク	ユーザーの入力	結果
99.9	321.0	不正
99.9	21.01	不正
99.9	21.1	21.1
99.9	01.1	1.1
対照的に、データベースからフェッチされた数値が表示フィールドの書式マスク仕様を超過した場合、値は切り捨てられず、マスクに適合するように丸められて表示されます（項目自体は、Formsアプリケーションの内部でその完全な値を保持します）。たとえばデータベースの保持する値が2.0666で、書式マスクが99.9の場合、ユーザーには値2.1が表示されます。しかし、この場合もフォーム内での項目の値は2.0666のままになります。

日付

日付の有効な書式マスクは次の表のとおりです。

要素	説明
YYYYまたはSYYYY	4桁で表した年。"-"記号の付いた紀元前日付の前には"S"が付きます。
YYYまたはYYまたはY	年の最後の3または2、1桁。
Y,YYY	年のこの位置にカンマが付きます。
BCまたはAD	BC/AD標識。
B.C.またはA.D.	ピリオド付きのBD/AD標識。
RR	デフォルトで正しい世紀の値に変換されます。入力した日付から、入力された年とコンピュータ内部クロックに設定された年および世紀を比較して、世紀が推測されます。00～49までの年は21世紀（西暦2000年代）に、50～99までの年は20世紀（1900年代）と見なされます。
MM	月（01～12。01は1月）。
MONTH	月の名前。9文字（英字）の長さにブランクが埋め込まれます。
MON	月の名前。3文字の略称。
DDD	日付（1～366）。
DD	（月のうちの）日（1～31）。
D	曜日を表す数字（1～7。1は日曜）。
DAY	曜日。9文字になるまでブランクで埋め込まれます。
DY	曜日。3文字の略称。
J	ユリウス日。紀元前4712年1月1日から通算した経過日数。
AMまたはPM	正午標識。
A.M.またはP.M.	ピリオド付き正午標識。
HHまたはHH12	時（1～12）。
HH24	時（0～23）。
MI	分（0～59）。
SS	秒（0～59）。
SSSSS	午前零時から通算した経過秒数（0-86399）。
/. , .	結果で句読点が再生成されます。
"..."	結果で引用符付き文字列が再生成されます。
FM	充填モード。0やスペースなどの暗黙の文字を想定して、有効数字を左詰めで表示します。エンド・ユーザーは書式マスクより短い値も入力できます。（特定のデリミタが必要な場合は、FXとともに指定します。
FX	デリミタも含め、日付リテラルがすべて書式マスクと一致している必要があります。
•	日付マスクの前にFXを付けると、エンド・ユーザーは、指定されたデリミタをはじめ、定義された書式マスクと完全に一致する日付しか入力できません。

日付の例

書式マスク	説明
FXDD-MON-YY	12-JAN-94は受け入れますが、12.JAN.94や12/JAN/94はデリミタがマスクとは違うため受け入れません。12JAN94はデリミタがないため受け入れません。また、01-JAN-94は受け入れますが、1-JAN-94は受け入れません。
FMDD-MON-YY	01-JAN-94を受け入れます。01/JAN/94や01 JAN 94など、その他のデリミタのエントリも受け入れますが、01JAN94は受け入れません。1-JAN-94は、それを01-JAN-94に変換した上で受け入れます。
DD-MON-YY	12.JAN.94、12/JAN/94、12-JAN-94の、いずれの形式も受け入れます。注意: いかなるデリミタ文字も受け入れますが、デリミタがエンド・ユーザーによって取り除かれたら、このマスクは日付文字をデリミタとして解釈します。12-JAN94は受け入れます。（ただし、12-JAN-04に変換されます。）ただし、"AN"は無効な月の名前であるため、12JAN94は受け入れません。
•	日付の外観のみを変更する書式マスクを指定してください。Form Builderでは、データがどのように表現されていても、有効桁がすべて格納されます。

•	埋込み文字はテキスト項目の値とは区別され、エンドユーザーが埋込み文字を入力しても、テキスト項目の値の照合では使用されません。

•	ハイフン（-）やカンマ（,）のような追加文字を二重引用符（"）で囲んで埋め込みます。ただし、二重引用符自体は文字として使用できないことに注意してください。たとえば「DD"""MMM」というマスクを使用しても、「DD"MM」という出力は実現できません。

書式マスク	説明
FMMONTH" "DD", "YYYY	テキスト項目データが、JANUARY 12, 1994のように、スペースやカンマも含め指定された日付書式で表示されます。
FMDD-MONTH-YYYY	12-JANUARY-1994のように表示されます。
DY-DDD-YYYY	WED-012-1994のように表示されます。注意: 入力妥当性チェックのために、DY-DD-MM-YYのように曜日も入力させることもできます。
•	曜日書式を使用するときは、データに曜日情報が含まれているかを確認します。不当なマスクが設定されないように、任意の書式で日付（1～366）または月も表示してください。

書式マスク	説明
DD-MONTH-YYYY	12-JANUARY-1994のように表示されます。
DY-DDD-YYYY	WED-012-1994のように表示されます。
DY-DD-MON-YY	WED-12-JAN-94のように表示されます。月が含まれているかを確認します。エラーが発生する恐れがあるため、DY-DD-YYのようなマスクは使用しないでください。
NLS書式マスク

有効な各国語サポート（NLS）書式マスクは次の表のとおりです。

要素	例	説明
C	[C999]	国際通貨記号が戻ります。
L	[L9999]	地域別通貨記号が戻ります。
D	99D99	小数点が戻ります。
G	9G999	グループ（千単位）セパレータが戻ります。
カンマ	9,999	指定した位置にカンマが表示されます。
ピリオド	9.999	この位置に小数点を表示します。
NLS書式マスクの例

書式マスク	説明
L99G999D99	地域別通貨記号、グループおよび小数点セパレータが表示されます。この項目は、たとえば、NLS_LANG=Americanであれば$1,600.00、NLS_LANG=NorwegianであればKr.1.600,00と表示されます。
C99G999D99	適切な国際通貨記号が表示されます。この項目は、たとえば、NLS_LANG=AmericanであればUSD1,600.00、NLS_LANG=FrenchであればFRF1.600,00と表示されます。


「書式マスク」プロパティの制限事項

•	テキスト項目の「Maximum Length」プロパティを設定する場合は、指定した書式マスクで挿入される埋込み文字のスペースを考慮して設定します。

•	書式マスクは最大30文字です。

•	Form Builderでサポートされる書式マスクは、入力と出力の両方に使用できるOracleの書式マスクのみです。WWなど、出力のみの書式マスクはサポートされません。


「Form_Name」プロパティ

関連項目	全プロパティ

説明

フォームの名前を表します。

適用されるオブジェクト　フォーム

設定　設定できません。

参照するビルトイン

GET_FORM_PROPERTY

使用上の注意

フォーム・レベルの「Form_Name」プロパティは、アプリケーション・レベルの「Current_Form_Name」プロパティに相当します。「Current_Form_Name」の値はGET_APPLICATION_PROPERTYビルトインで取得できます。


「式」プロパティ

全プロパティ

説明

式の計算結果が代入される項目の値を計算するPL/SQL式を1つ指定します。PL/SQL式は、ビルトイン・サブプログラムやユーザーが作成したサブプログラムを参照できます。

適用されるオブジェクト項目

設定方法  Form Builder

参照するビルトイン

RECALCULATE

使用上の注意

計算式としてPL/SQL文全体を入力することはできません。したがって、計算式の最後にセミコロンを入力しないでください。Form Builderは、内部で実際の割当てコードを式に加えます。自分でコードを加えないで下さい。たとえば、割当て文全体をコーディングするのではなく、次のように計算式のみを入力します。

:emp.sal + :emp.comm

Form Builderによって、内部的にこの式が次のような完全な文に変換されます。

:emp.gross_comp := (:emp.sal + :emp_comm);

必須/オプション　「Calculation Mode」プロパティが「Formula」に設定されている場合は必須


「枠整列」プロパティ

表示する	全プロパティ

説明

枠内にオブジェクトをどのように配置するかを、「始点」、「終点」、「中央揃え」、「塗り」、「列」の中から指定します。このプロパティは、「レイアウト・スタイル」プロパティが「フォーム」の場合にのみ有効です。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

塗り

必須/オプション  必須


「枠整列」


「枠タイトル」プロパティ

全プロパティ

説明

枠のタイトルを指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

ブランク

必須/オプション　オプション


「枠タイトル整列」プロパティ

表示する	全プロパティ

説明

枠タイトルの配置方法を「始点」、「終点」または「中央揃え」の中から指定します。

注意: タイトルの整列方向は、そのキャンバスが表示されるキャンバスの方向によって決まります。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

始点

必須/オプション  必須


「枠タイトル整列」


「枠タイトルのバックグラウンド・カラー」プロパティ

全プロパティ

説明

枠タイトルのバックグラウンドに適用するカラーを指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

オペレーティング・システム標準のフォント・カラー（通常は白）

必須/オプション  必須


「枠タイトルのフォント名」プロパティ

全プロパティ

説明

枠タイトルに適用するフォント（書体）の名前を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

オペレーティング・システムの標準フォント

必須/オプション  必須


 「枠タイトルのフォントの大きさ」プロパティ

全プロパティ

説明

枠タイトルに適用するフォント（書体）のサイズを指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

オペレーティング・システム標準のフォント・サイズ

必須/オプション  必須


 「枠タイトルのフォントの間隔」プロパティ

全プロパティ

説明

枠タイトルのテキストに適用する間隔を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

オペレーティング・システム標準のフォント間隔

必須/オプション  必須


「枠タイトルのフォント・スタイル」プロパティ

全プロパティ

説明

枠タイトルのテキストに適用するフォント・スタイル（イタリックなど）を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

オペレーティング・システム標準のフォント・スタイル

必須/オプション  必須


「枠タイトルのフォントの太さ」プロパティ

全プロパティ

説明

枠タイトルのテキストに適用するフォントの太さ（ボールドなど）を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

オペレーティング・システム標準のフォントの太さ

必須/オプション  必須


「枠タイトルのフォアグランド・カラー」プロパティ

全プロパティ

説明

枠タイトルのテキストに適用するカラーを指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

オペレーティング・システム標準のフォント・カラー（通常は黒）

必須/オプション  必須


「枠タイトルのオフセット」プロパティ

表示する	全プロパティ

説明

枠とそのタイトルとの間の距離を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

2文字セル（または、そのフォームの座標系でこれと等価の値）

必須/オプション  必須


「枠タイトルのオフセット」プロパティの表示


「枠タイトルの読込み順」プロパティ

全プロパティ

説明

枠タイトルの読取り順序を、「デフォルト」、「左から右」、「右から左」の中から指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

デフォルト

必須/オプション  必須


「枠タイトルの間隔」プロパティ

表示する	全プロパティ

説明

フレーム・タイトルの両側の余白を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

1文字セル（または、そのフォームの座標系でこれと等価の値）

必須/オプション  必須


「枠タイトルの間隔」


「枠タイトルの可視属性グループ」プロパティ

関連項目	全プロパティ

説明

フレーム・タイトルの個々の属性（フォント名、背景色、塗りパターンなど）を設定します。このプロパティに設定できる値は次のとおりです。

デフォルト	オブジェクトはデフォルトのカラーおよびパターン、フォント設定で表示されます。可視属性グループを「デフォルト」に設定すると、個々の属性の設定に現行のシステム・デフォルト値が反映されます。実際は、オブジェクトのタイプ、使用しているリソース・ファイル、プラットフォームなど、さまざまな因子の組み合わせによって設定される値が決まります。
名前付き可視属性	オブジェクトに名前付き可視属性が適用されます。名前付き可視属性は、オブジェクト・ナビゲータで作成した独立したオブジェクトで、ワード処理・プログラムと非常によく似たスタイルを持つインタフェース・オブジェクトに適用されます。「可視属性グループ」に名前付き可視属性を設定すると、各属性に名前付き可視属性オブジェクト用に定義された属性の値が設定されます。現行のフォームに名前付き可視属性が1つも含まれていない場合は、このプロパティのポップアップ・リストに「デフォルト」と表示されます。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

デフォルト

使用上の注意

•	「デフォルト」および名前付き可視属性プロパティには、次の属性がプロパティ・パレットと同じ順序で表示されます。

フォント名　そのオブジェクト内のテキストに使用するフォント・ファミリまたは活字書体。どのようなフォントが使用できるかはシステムによって異なります。

フォント・サイズ　フォントのサイズ（単位:ポイント）。

フォント・スタイル　フォントのスタイル。

フォント間隔　フォントの幅、つまり、文字間隔（カーニング）。

フォントの太さ　フォントの太さ。

フォアグラウンド・カラー　フォアグラウンド領域のオブジェクトの色.項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

バックグラウンド・カラー  オブジェクトのバックグラウント領域のカラー

塗りパターン  オブジェクトの塗り領域として使用します。パターンは、「バックグラウンド・カラー」とフォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

文字モードの論理属性  Oracle Terminalリソース・ファイルに定義されたキャラクタ・モードの論理属性の名前を指定します。これは、アプリケーションのキャラクタ・モード・バージョンでデバイス属性のベースとして使用するものです。

白黒　オブジェクトをモノクロ・ビットマップ表示装置上にバックグラウンド黒、テキスト白で表示するかどうかを指定します。

オブジェクト・タイプによって有効な属性が異なります。たとえば、ウィンドウ・オブジェクトに対してフォント属性を指定しても、意味がありません（ウインドウのタイトル・バーに使用するフォントはシステムから導出されます）。

•	新規フォームの新規オブジェクトには「デフォルト」の可視属性が割り当てられます。デフォルト値は内部的に定義されています。新規項目のデフォルトのフォントは、オプションのFORMS60_DEFAULTFONT環境変数を設定して上書きしボイラープレートにできます。たとえば、Microsoft Windowsでは、この変数をORACLE.INIファイルに「FORMS60_DEFAULTFONT="COURIER.10"」と設定します。指定したデフォルト・フォントは、「新規ブロック」ウィンドウで作成される新規ボイラープレート・テキスト、および「可視属性グループ」が「デフォルト」に設定された項目で使用されます。

•	レイアウト・エディタで項目を作成すると、その項目の可視属性の初期値は、レイアウト・エディタのフォントおよびカラー、パターンに現在設定されている値、つまり「フォント」ダイアログ、「カラー」パレット、「パターン」パレットに指定されている値になります。

•	Microsoft Windows上では、ボタンおよびウィンドウのタイトル・バー、ウィンドウの枠線のカラーは、Windowsのコントロール・パネルの該当要素のカラー設定を使用してコントロールします。ここで設定されたカラーをForm Builderで変更することはできません。

•	Microsoft Windows上で「3Dコントロール使用」フォーム・プロパティを「はい」（デフォルト値）に設定すると、項目は影付きでレンダリングされ、立体的に3次元で表示されます。このプロパティを「はい」に設定すると、結果的に、「可視属性グループ」プロパティが「デフォルト」に設定されたキャンバスのカラーは、Windowsのコントロール・パネルに設定されたカラー（ほとんどのカラー・スキームでグレー）になります。このカラーは、明示的に名前付き可視属性をキャンバスに適用すれば上書きできます。

•	「可視属性グループ」が「デフォルト」に設定された項目、あるいは可視属性の一部が指定されていない項目は、その項目が割り当てられているキャンバスからその可視属性を継承します。同様に、「可視属性グループ」が「デフォルト」に設定されたキャンバス、あるいは可視属性の一部が指定されていないキャンバスは、そのキャンバスが表示されるウィンドウからその可視属性を継承します。たとえば、ウインドウのバックグラウンド・カラーを「CYAN」に設定し、そのウインドウに割り当てられたキャンバスのバックグラウンド・カラーを指定しないままにすると、実行時、そのキャンバスはそのウインドウから「CYAN」のバックグラウンドを継承します。ウインドウのキャンバスやキャンバスの項目から継承して導出された可視属性設定は、設計時ではなく、実行時に明らかになります。

•	プロパティ・クラスをオブジェクトに適用して、可視属性の値を指定できます。「可視属性グループ」プロパティ全体をプロパティ・クラスにしたり、あるいは各属性プロパティを1つ以上まとめて1つのプロパティ・クラスを作成したりできます。（「可視属性グループ」プロパティと各属性プロパティが同じプロパティ・クラスに含まれている場合は、「可視属性グループ」プロパティの値が優先されます。

•	可視属性の値を含む名前付き可視属性とプロパティ・クラスを両方とも同じオブジェクトに適用した場合は、名前付き可視属性の値が優先され、プロパティ・クラスの可視属性の値は無視されます。

•	リソース・ファイルに定義された論理属性定義は、Form Builderで定義した可視属性、およびローカル環境変数定義、デフォルトのForm Builder属性より優先されます。リソース・ファイルを編集するには、Oracle Terminalユーティリティを使用します。


「グラフィック・タイプ」プロパティ

全プロパティ

説明

図形オブジェクトのタイプを指定する読取り専用プロパティです。有効な値は「円弧」、「チャート」、「グループ」、「イメージ」、「線」、「多角形」、「四角形」、「丸い四角形」、「記号」および「テキスト」です（Graphics Builderの「オブジェクト・タイプ」プロパティの有効値と同じです）。

適用されるオブジェクト　図形全般

設定方法  Form Builder

デフォルト

タイプ

必須/オプション  必須


「レコード・グループ」プロパティ

全プロパティ

説明

値リストのベースとなるレコード・グループの名前を指定します。

適用先　値リスト

設定方法  プログラム

参照するビルトイン

•	GET_LOV_PROPERTY

•	SET_LOV_PROPERTY

デフォルト

基礎を形成するレコード・グループ名

使用上の注意

実行時に、値リストの現行レコード・グループを他のレコード・グループに置き換えるために「レコード・グループ」プロパティを設定します。ただし、置換後のレコード・グループの列の名前およびタイプが置換前のレコード・グループの列の名前とタイプと同じにする必要があります。


「ヘルプ」プロパティ

制限事項	  関連項目	全プロパティ

説明

キャラクタ・モードのプラットフォーム上で、メニュー項目のヘルプ・テキストを指定します。このメニュー項目が選択されているときにエンドユーザーが[Help]キーを押すと、ウィンドウにヘルプ・テキストが表示されます。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

必須/オプション　オプション


「ヘルプ」プロパティの制限事項

キャラクタ・モードのアプリケーションのみに適用されます。


「終了時に隠す」プロパティ

制限事項	関連項目	全プロパティ

説明

モードなしウィンドウで、エンドユーザーが別のウィンドウ内の項目にナビゲートしたときに、このモードなしウィンドウを自動的に隠すかどうかを指定します。

適用されるオブジェクト　ウィンドウ

設定　Form Builder、プログラム

参照するビルトイン

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY

デフォルト

いいえ


「終了時に隠す」プロパティの制限事項

•	ルート・ウィンドウには設定できません。エンド・ユーザーが別のウィンドウ内の項目にナビゲートしても、ルート・ウィンドウは常に表示されたままです。


「最高許容値」プロパティ/「最低許容値」プロパティ

関連項目	全プロパティ

説明

エンド・ユーザーがテキスト項目に入力できる最大値と最小値を指定します。

適用されるオブジェクト　テキスト項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

必須/オプション　オプション

使用上の注意

•	このプロパティに設定できる値は次のとおりです。

•	有効な定数

•	フォーム項目（:block_name.item_name）

•	グローバル変数（:GLOBAL.my_global）

•	フォーム・パラメータ（:PARAMETER.my_param）

•	次のように、Form Builderによって項目内の値がデータ型ごとに評価されます。

ALPHA	システムの照合順番によるアルファベット順

CHAR	システムの照合順番によるアルファベット順

DATE	年代順

DATETIME	年代順

INT	小さい数値から

NUMBER	小さい数値から

• すべての項目に日付を入力できます。ただし、入力できる日付の書式は次のいずれかです。

•	NLS_LANGに設定されている値のデフォルトの書式

•	書式マスクとして指定した書式

•	前リリースとの互換性を保つため、フォーム項目または順序への参照は、先頭文字をコロン（:）ではなく、アンパサンド（&）にして指定することもできます。

•	先頭文字アンパサンド（&）またはコロン（:）で始まるRAW値を指定するときは、この文字を2回続けて（&&または::）指定します。（これは、リリース6.5以降のFormsの動作変更です）。


「ヒント」プロパティ

全プロパティ

「ヒント」（項目）プロパティ

「ヒント」（メニュー項目）プロパティ

「ヒント」（メニュー置換パラメータ）プロパティ


「ヒント」（項目）プロパティ

関連項目	全プロパティ

説明

実行時にルート・ウィンドウのメッセージ行に表示する、項目固有のヘルプ・テキストを指定します。入力フォーカスがその項目内にあるときに、ヘルプ・テキストが使用可能になります。

適用されるオブジェクト　チャート項目、display items、カスタム項目を除くすべての項目

設定方法  Form Builder

参照するビルトイン

•	GET_ITEM_PROPERTY (HINT_TEXT)

デフォルト

「<item name>に値を入力してください」	データ・ブロック・ウィザードを使用して作成された項目
NULL	その他の項目すべて
必須/オプション　オプション

使用上の注意

項目にヘルプ・テキストを設定しない場合は、「ヒント」プロパティをNULLのままにしておいてください。


「ヒント」（メニュー項目）プロパティ

制限事項	  関連項目	全プロパティ

説明

キャラクタ・モードのアプリケーションで、メニュー項目のヒント・テキストを指定します。表示形式がプルダウン・メニューやバー・メニューの場合は、入力フォーカスがそのメニュー項目内にあるときに、メッセージ行にヒント・テキストが表示されます。

また、全画面表示形式では、ヒント・テキストが指定されていれば項目記述子として表示され、メニュー項目名は無視されます。（ヒント・テキストが指定されていない場合は、Form Builderによって項目名が項目記述子として表示されます。）

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

必須/オプション　オプション


「ヒント」（メニュー項目）プロパティの制限事項

•	キャラクタ・モードのアプリケーションのみに適用されます。


「ヒント」（メニュー置換パラメータ）プロパティ

関連項目	全プロパティ

説明

エンド・ユーザーがメニュー置換パラメータの値を入力したときに、メッセージ行に表示する説明と指示を指定します。

適用先　メニューパラメータ

設定方法  Form Builder

必須/オプション　オプション


「水平文字位置」プロパティ

全プロパティ

説明

テキスト・オブジェクトの水平文字位置を「左揃え」、「右揃え」、「中央揃え」、「始点」または「終点」のいずれかに指定します。

適用されるオブジェクト　図形テキスト

設定方法  Form Builder

デフォルト

始点

必須/オプション  必須


「水平マージン」プロパティ

表示する	全プロパティ

説明

枠の左右の境界線と枠内のオブジェクトの間隔を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

1文字セル（または、そのフォームの座標系でこれと等価の値）

必須/オプション  必須


水平マージン


「水平オブジェクト・オフセット」プロパティ

ヒント	全プロパティ

説明

枠内のオブジェクト間の横方向の間隔を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

2文字セル（または、そのフォームの座標系でこれと等価の値）

必須/オプション  必須


水平オブジェクト・オフセット


「水平原点」プロパティ

全プロパティ

説明

テキスト・オブジェクトの原点に相対的なオブジェクト水平位置を「左」、「右」または「中央」のいずれかで指定します。

適用されるオブジェクト　図形テキスト

設定方法  Form Builder

デフォルト

[←]

必須/オプション  必須


「水平ツールバー・キャンバス」プロパティ

関連項目	全プロパティ

説明

ウィンドウ上に水平ツールバーとして表示するキャンバスを指定します。ただし、指定するキャンバスは、現在のウィンドウに割り当てられた（「ウィンドウ」プロパティで設定）水平ツールバー・キャンバス（「キャンバス・タイプ 」プロパティが「水平ツール・バー」設定されているキャンバス）にする必要があります。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

NULL

必須/オプション　水平ツールバーを作成する場合は必須

使用上の注意

•	ウィンドウの「プロパティ」ウィンドウでは、「キャンバス・タイプ」プロパティが「水平ツール・バー」に設定されたキャンバスのみが、このプロパティのポップリストに表示されます。

•	実行時に、Form Builderは指定された水平ツールバーをウィンドウ上に表示しようとします。しかし、同じウィンドウに同じタイプのツールバーが複数割り当てられている（キャンバスの「ウィンドウ」プロパティが指定されたウィンドウを指し示すように設定されている）場合は、ナビゲーション・イベントやプログラムによる制御に応答して別のツールバーが表示される可能性があります。

•	Microsoft Windows上では、「FormHorizontal Toolbar Canvas」フォーム・プロパティを使用して水平ツールバー・キャンバスがMDIアプリケーション上に表示されるように設定した場合は、指定した水平ツールバー・キャンバスはウィンドウ上に表示されません。


「アイコン・ファイル名」プロパティ

制限事項	  関連項目	全プロパティ

説明

表示するアイコン形式のボタンおよびメニュー項目、ウィンドウを表すアイコン・リソースの名前を指定します。

適用されるオブジェクト　ボタン、メニュー項目、ウィンドウ

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_MENU_ITEM_PROPERTY

•	SET_MENU_ITEM_PROPERTY

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY

デフォルト

NULL

必須/オプション　オプション

使用上の注意

「アイコン・ファイル名」プロパティの値には、アイコン・ファイルの拡張子（.ico、.xpmなど）を付けないでください。たとえば、my_icon.icoではなく、my_iconと入力します。

アイコンファイル名は、（大文字、小文字を問わず）A、L、M、S、Xの5種の文字では終わらせないでください。これらは、内部でアイコンのサイズ指定に使用する予約文字です。これらの文字でアイコンファイル名が終わる場合、予想外のアイコン配置が発生することがあります。

アイコン・リソースのディレクトリは、プラットフォーム固有の環境変数を使用して指定してください。たとえば、この変数は、Microsoft WindowsではUI60_ICONになります。（変数名の詳細は、使用しているオペレーティング・システムのForm Builderマニュアルを参照してください。）


「アイコン・ファイル名」プロパティの制限事項

•	ウィンドウでは、「最小化可能」プロパティを「はい」に設定したウィンドウのみに設定できます。

•	アイコン・リソースはフォーム定義には組み込めず、ランタイム・オペレーティング・システム内にする必要があります。したがって、異なるプラットフォーム間でアイコンのリソース・ファイルを移植することはできません。


「メニューのアイコン」プロパティ

関連項目	全プロパティ

説明

メニュー項目のメニュー名の横にアイコンを表示するかどうかを指定します。「はい」に設定した場合、表示されるアイコンは「アイコン・ファイル名」プロパティで指定されます。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

デフォルト

いいえ

必須/オプション　オプション


「アイコン化」プロパティ

制限事項	  関連項目	全プロパティ

説明

そのボタンがアイコン・ボタンかどうかを指定します。

適用されるオブジェクト　ボタン

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

デフォルト

いいえ

必須/オプション　オプション

使用上の注意

アイコン化が｢はい｣の場合、ボタンの｢アイコン・ファイル名｣プロパティはForm Builderがボタンに対して表示するべきアイコン・リソースを指定します。


「アイコン化」プロパティの制限事項

有効なアイコン・リソース・ファイル名を指定する必要があります。


「イメージの深さ」プロパティ

関連項目	全プロパティ

説明

Form Builderがファイルシステム中のファイルから読み取る（またはファイルに書き込む）画像の深さを指定します。有効な値は次のとおりです。

•	Original

•	モノクロ

•	灰色

•	LUT  （検索表: Lookup Table）

•	RGB  （赤、緑、青）

適用先　イメージ項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	WRITE_IMAGE_FILE

デフォルト

Original

必須/オプション  必須


「イメージ形式」プロパティ

関連項目	全プロパティ

説明

イメージ項目をデータベースに格納するときのフォーマットを指定します。有効な値は次のとおりです。

•	BMP

•	CALS

•	GIF

•	JFIF

•	PICT

•	RAS

•	TIFF

•	TPIC

適用先　イメージ項目

設定方法  Form Builder

参照するビルトイン

•	GET_ITEM_PROPERTY

•	WRITE_IMAGE_FILE

デフォルト

TIFF

必須/オプション  必須

使用上の注意

•	このバージョンでは、これまでのデフォルトのOracleイメージ格納フォーマットは使用できません。

•	イメージ項目を含むレコードがデータベースに格納されるときに、そのイメージの元のフォーマットがこのプロパティに設定した値で上書きされます。たとえば、画像項目の画像書式プロパティがGIFに設定されており、またTIFF画像が実行時に画像項目にペーストされていたら、ペーストされた画像はGIF書式に格納され、レコードはデータベースに保存されます。


「インプリメンテーション・クラス」プロパティ

関連項目	全プロパティ

説明

標準Form Builderコントロールに代替を提供する際に、コントロール項目タイプのJavaBeanコンテナやカスタム実装のクラス名を識別します。

適用先

次のコントロール項目タイプに適用されます。

•	Bean領域

•	チェックボックス

•	リスト項目

•	プッシュ・ボタン

•	ラジオ・グループ

•	テキスト項目

設定方法

Form Builder

デフォルト

なし

必須/オプション

Bean領域に対しては常に必須。このプロパティは、アプリケーションに追加するJavaBeanコンテナのクラス名を識別します。（このプロパティが提供されないと、フォームのエンドユーザーに空の四角形が表示されます。）

それ以外の前述のコントロール項目タイプについても、コントロールをカスタマイズおよびユーザー提供の実装で、フォーム内で使用する場合には必須になります。これは、ユーザー提供の代替コントロールのクラス名を識別します。

実行時の設定方法

不可

使用上の注意

?	「インプリメンテーション・クラス」プロパティは、すべてのコントロール項目タイプに対してではなく、前述のコントロール項目タイプに対してのみ使用可能です。


「REF項目にインクルード」プロパティ

全プロパティ

説明

このブロックに対してREFと呼ばれる隠し項目を作成します。この項目は内部で使用され、REFリンク上に築かれたマスター・ディテール・リレーションを調整します。また、この項目をプログラムで使用して、オブジェクト表中の行のオブジェクトID（OID）にアクセスすることもできます。

適用先

オブジェクト表を基礎とするブロック。特に、マスター・ディテールREFリンク。

設定方法  Form Builder

デフォルト

デフォルトは「いいえ」です。ただし、REFポインタを基礎とするリレーションを作成するときは、Form Builderによって「はい」に設定されます。

必須/オプション

REFポインタを基礎とするマスター・ディテール・リレーションにおけるマスター・ブロックに対して必須。

使用上の注意

REF項目は、オブジェクト表中の行のオブジェクトID（OID）を取得するために使用されます。

オブジェクト表中の各行は、一意のオブジェクトID（OID）によって識別されます。OIDはその行に対する一意の識別子です。これらのOIDは、オブジェクト表において暗黙列を形成します。

2つの表の間のREFポインタ・リレーションにおいて、指す側の表におけるREF列は、指される側の表のOID値（アドレス）のコピーを保持します。これにより、2つの表の間にリンクが形成されます。

REFポインタに基づいたマスター・ディテール・リレーションをユーザーが構築するとき、データ・ブロック・ウィザードはこのプロパティを「はい」に設定して、このREF項目を作成します。項目はREFと名づけられ、マスター・ブロック内に置かれます。この項目はエンド・ユーザーには見えません。加えて、ウィザードはこの新しいREFにアクセスするために、ディテール・ブロックにおいて「Copy_Value_From_Item」プロパティを設定します。Form Builderはこの方法で、実行時にマスター/ディテール・リレーションを調整します。


「メニュー継承」プロパティ

制限事項	全プロパティ

説明

この機能がサポートされているウィンドウ・マネージャ上でウィンドウに現在のフォーム・メニューを表示するかどうかを指定します。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

はい

必須/オプション　オプション


「メニュー継承」プロパティの制限事項

•	Microsoft Windows上では使用できません。


「初期キーボード状態」プロパティ

関連項目	全プロパティ

説明

注意: このプロパティは、双方向各国語サポート（NLS: National Language Support）アプリケーション専用です。

初期キーボード状態では、キーボードはローカルまたはローマ字に設定され、項目が入力フォーカスを受け取ります。そのため、エンド・ユーザーはキーボード状態を変える必要なく即座にタイプできます。

Value	説明
デフォルト	「読込み順」プロパティの値に基づいてキーボードの初期状態を決定します。
ローカル	キーボードの初期状態は「ローカル」（右から左に記述する言語）です。
ローマ字	キーボードの初期状態は「ローマ字」（左から右に記述する言語）です。
適用先　表示項目、テキスト項目

設定方法  Form Builder

使用上の注意

•	ほとんどの場合、このプロパティを設定するのはテキスト項目のみです。

•	エンド・ユーザーは、キーボード状態トグル・キーを押下することにより、初期キーボード状態を上書きできます。


「初期メニュー」プロパティ

制限事項	全プロパティ

説明

フォーム・モジュール起動時にメイン・メニューまたは最上位メニューとして表示する、メニュー・モジュール内の各メニューの名前を指定します。エンド・ユーザーは、初期メニューとして指定されたメニューより上にはナビゲートできません。

デフォルトでは、初期メニューは、メニュー・モジュール・プロパティ「メイン・メニュー」に指定されたメニューです。「初期メニュー」プロパティを使用すれば、「メイン・メニュー」プロパティの値を上書きできます。

適用されるオブジェクトフォーム・モジュール

設定方法  Form Builder

デフォルト

ブランク（デフォルトのメイン・メニューが初期メニューとして使用されます。

必須/オプション　オプション


「初期メニュー」プロパティの制限事項

•	メイン・モジュール内のメニューを指定する必要があります。


「初期値」（項目）プロパティ

制限事項	  関連項目	全プロパティ

説明

レコード作成時に項目に割り当てるデフォルトの値を指定します。指定できるデフォルト値は次のとおりです。

•	raw value （216, 'TOKYO'）

•	フォーム項目（:block_name.item_name）

•	グローバル変数（:GLOBAL.my_global）

•	フォーム・パラメータ（:PARAMETER.my_param）

•	順序（:SEQUENCE.my_seq.NEXTVAL）

適用されるオブジェクト　チェックボックス、表示項目、リスト項目、ラジオ・グループ、テキスト項目、ユーザー領域

設定方法  Form Builder

デフォルト

NULL

必須/オプション　ラジオ・グループ、チェックボックス、リスト項目を除くすべての項目でオプション

ラジオ・グループでは、次に該当しない場合に、有効初期値が必須になります。

a） ラジオグループで「他の値のマッピング」を指定した場合

b） グループ内のラジオ・ボタンのいずれかに関連する値がNULLの場合

リスト項目では、次に該当しない場合に、有効初期値が必須になります。

a） 	リスト項目で「他の値のマッピング」を指定した場合

b） 	リスト要素のいずれかに関連する値がNULLの場合

チェックボックスでは、次に該当しない場合に、有効初期値が必須になります。

a） 	チェックボックスで「他の値のマッピング」を」指定した場合

b） 	「チェックあり」や「チェックなし」に関連した値がNULLの場合

使用上の注意

•	デフォルト値を使用してチェックボックス、ラジオ・グループ、リスト項目などの項目の状態を初期化すると、Form Builderによってブロック内にレコードが作成されるまで、デフォルト値は割り当てられません。

•	従属するミラー項目は、マスター・ミラー項目の「初期値」プロパティを使用して初期化されます。ON-SEQUENCE-NUMBERトリガーも同様に、マスター項目から取得されます。従属するミラー項目が「初期値」プロパティおよびON-SEQUENCE-NUMBERトリガーを指定する場合、Form Builderはそれらを無視し、警告を発します。

•	実行時に、項目（または、それをミラーする項目）に対して次のすべての条件が該当する場合、このプロパティによって設定される初期値は無視されます。

•	項目がポップリスト、Tリスト、ラジオ・グループまたはチェックボックスである場合

•	初期値に対応する要素がない場合

•	項目がその他の値を許可しない場合

•	前リリースとの互換性を保つため、フォーム項目または順序への参照は、先頭文字をコロン（:）ではなく、アンパサンド（&）にして指定することもできます。

•	先頭文字アンパサンド（＆）またはコロン（:）で始まるRAW値を指定するときは、これらの文字を2回続けて（&&または::）指定します（これは、リリース6.5以降のFormsの動作変更です）。


「初期値」（項目）プロパティの制限事項

•	テキスト項目では、値が「最低許容値」プロパティおよび「最大許容値」プロパティに定義された範囲内にする必要があります。

•	ラジオ・ボタンでは、デフォルト値が任意のラジオ・ボタンの名前（ラベルではない）か任意のラジオ・ボタンに関連付けられた値のどちらかにする必要があります。Form Builderでは、まず、ラジオ・ボタン名がチェックされます。

•	リスト項目では、デフォルト値が任意のリスト要素の名前か任意のリスト要素に関連付けられた値のどちらかにする必要があります。Form Builderでは、まず、リスト要素名がチェックされます。


「挿入可」（ブロック）プロパティ

関連項目	全プロパティ

説明

ブロック内へのレコードの挿入を許可するかどうかを指定します。

適用されるオブジェクト　ブロック

設定方法　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

はい


「挿入可」（項目）プロパティ

制限事項	  関連項目	全プロパティ

説明

エンドユーザーに新規レコード内の（つまり、「Record_Status」が「NEW」または「INSERT」のとき）項目の値の変更を許可するかどうかを指定します。

項目の「挿入可」プロパティを「いいえ」に設定すると、エンドユーザーは新規レコード内に項目を挿入できません。たとえば、テキスト項目に入力したり、チェックボックスをチェックしたり、またラジオ・ボタンを選択したりすることができません。

適用されるオブジェクト　テキスト項目、チェックボックス、リスト項目、ラジオ・ボタン、イメージ項目、カスタム項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_INSTANCE_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_ITEM_INSTANCE_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

使用上の注意

•	エンドユーザーが表示はできるが変更はできないという項目を作成する場合は、「挿入可」プロパティを「いいえ」に設定します。たとえば、システムによって生成されるキー・フィールドでは、「挿入可」プロパティを「いいえ」に設定して、普通に表示したまま（グレー表示しない）で、しかもエンドユーザーがキーを変更できないように保護する必要があります。

•	項目がマウス・イベントに応答しないようにするには、「使用可能」プロパティを「いいえ」に設定します。使用不可の項目は淡色表示され、現在使用できないことを強調します。これに対し、使用可能ではあるがログオン挿入が不可に設定されている項目においては、ユーザーはマウスまたはキーボードによりその項目の値を参照することはできますが、項目の値を変更することはできません。

•	「挿入可」プロパティは、「Record_Status」が「QUERY」や「CHANGED」のレコードに適用される「更新可」プロパティと似ています。データベース・ブロック内の項目では、「Insert Allowed」プロパティを「更新可」プロパティと組み合わせて使用すれば、特定の項目によって表示される値をエンド・ユーザーに入力または変更させるかどうかを制御することができます。また、非データベース・ブロック内の項目では、「挿入可」プロパティを「いいえ」に設定すれば、使用禁止にしなくても表示専用の項目を作成できます。

•	「使用可能」プロパティまたは「可視」プロパティが「いいえ」（実行時にはPROPERTY_FALSE）に設定されている場合、項目または項目のインスタンスの「挿入可」プロパティは実質的には「いいえ」になります。

•	項目のインスタンスの「挿入可」プロパティを「はい」（または、実行時にはPROPERTY_TRUE）に設定しても、ブロック・レベルおよび項目レベルで一貫してその設定がなされていない限り、インスタンス・レベルでの設定は無効です。たとえば、「挿入可」プロパティがインスタンス・レベルで「はい」であり、項目レベルおよびブロック・レベルで「いいえ」の場合、ユーザーは項目インスタンスにデータを入力できません。


「挿入可」（項目）プロパティの制限事項

•	SET_ITEM_PROPERTYビルトインを使用して「挿入可」を「はい」に設定する場合、項目プロパティを次のように設定する必要があります。

•	「使用可能」を「はい」に（実行時にはPROPERTY_TRUEに）

•	「可視」を「はい」に（実行時にはPROPERTY_TRUEに）

•	「挿入可」が複数のレベル（項目インスタンス、項目およびブロック）で指定されているとき、値はAND結合されます。つまり、項目のインスタンスの「挿入可」プロパティを「はい」（実行時にはPROPERTY_TRUE）に設定しても、ブロック・レベルおよび項目レベルで一貫してその設定がなされていない限り、インスタンス・レベルでの設定は無効です。たとえば、「挿入可」プロパティがインスタンス・レベルで「はい」であり、項目レベルおよびブロック・レベルで「いいえ」の場合、ユーザーは項目インスタンスにデータを入力できません。


「挿入プロシージャの引数」プロパティ

関連項目	全プロパティ

説明

データ・ブロックにデータを挿入するプロシージャに渡す、引数の名前、データ型、値を指定します。「挿入プロシージャの引数」プロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「挿入プロシージャ名」プロパティ

関連項目	全プロパティ

説明

データ・ブロックにデータを挿入するのに使用するプロシージャの名前を指定します。「挿入プロシージャ名」プロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「挿入プロシージャの結果セット列」プロパティ

関連項目	全プロパティ

説明

データ・ブロックにデータを挿入するプロシージャに関連付けられている、結果設定列の名前とデータ型を指定します。「挿入プロシージャの結果セット列」プロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「対話モード」プロパティ

全プロパティ

説明

フォーム・モジュールに対して対話モードを指定します。対話モードは、ユーザーが問合せの間にフォームとどのように対話できるかを示します。「対話モード」プロパティが「ブロック」に設定されていると、問合せに対するレコードがデータベースからフェッチされるまでの間、ユーザーはフォームのサイズを変更したり、フォームと対話したりできません。対話モードが「非ブロック」に設定されていると、エンド・ユーザーはレコードがフェッチされている間にもフォームと対話できます。

問合せに時間がかかることが予想され、ユーザーによる問合せの割込みまたは取消しを可能にする場合、非ブロック対話モードが役立ちます。このモードでは、ユーザーが問合せを取り消すことのできるダイアログがForms Runtimeによって表示されます。

対話モードはプログラムで設定できませんが、GET_FORM_PROPERTYビルトインを使用すると、プログラムによって対話モードを取得できます。

適用されるオブジェクトフォーム・モジュール

設定方法  Form Builder

参照するビルトイン

•	GET_FORM_PROPERTY

デフォルト　ブロック化

必須/オプション  必須


「孤立モード」プロパティ

関連項目	全プロパティ

説明

セッション中のトランザクションが直列可能か否かを指定します。「孤立モード」プロパティの値が「シリアル化可能」の場合、エンド・ユーザーはトランザクションの全体の長さに対応してデータベースの首尾一貫した表示を見ることができます。これは、他のユーザーによって更新がコミットされても関係ありません。エンド・ユーザーが行の問合せおよび変更を行い、2番目のユーザーが別のセッションから同じ行の更新およびコミットを行う場合、最初のユーザーはエラー（ORA-08177: Cannot serialize access.）となります。

適用されるオブジェクトフォーム・モジュール

設定方法  Form Builder

使用上の注意

直列可能モードは少数ユーザーが大規模なデータベースに対してトランザクションを行う場合に最適です。言い換えれば、2つのトランザクションが同じ行を更新する可能性が低く、長時間実行のトランザクションは問合せである場合です。トランザクション集中の処理系のためには、孤モードを読み取りコミット（デフォルト）にします。直列可能モードは、ブロックのプロパティ「ロック・モード」が「遅延」に設定されている場合に使用するのが最適です。

デフォルト

読込みコミット済み

必須/オプション  必須


「項目ロール」プロパティ

制限事項	  関連項目	全プロパティ

説明

そのメニュー項目に対するアクセス権限を付与するメニュー・ロールを指定します。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

必須/オプション　オプション

使用上の注意

このプロパティでできるのは、ロール・リストに表示されたメニュー・ロールのメンバーにアクセス権限を付与することのみです。ロール・リストにロールを追加するには、メニュー・モジュール・プロパティ「モジュール・ロール」を設定します。


「項目ロール」プロパティの制限事項

メニュー・モジュールのロール・リストにロール名が最低1つ指定されている場合にのみ有効です。


「項目のタイプ」プロパティ

関連項目	全プロパティ

説明

項目のタイプを指定します。項目に指定できるタイプは次のとおりです。

•	ActiveXコントロール（32ビットWindowsプラットフォーム）

•	Bean領域

•	チャート項目

•	チェックボックス

•	表示項目

•	Hierarchical Tree

•	Image

•	リスト項目

•	OLEコンテナ

•	プッシュ・ボタン

•	ラジオ・グループ

•	Sound

•	テキスト項目

•	ユーザー領域

•	VBXコントロール（Microsoft Windows 3.1のみ）

適用先  メニュー項目

設定方法:  Form Builder

デフォルト:  テキスト項目

必須/オプション  必須


「Item_Is_Valid」プロパティ

全プロパティ

説明

項目が有効であるというマークを内部的に付けるかどうかを指定します。

適用されるオブジェクト項目

設定方法  プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

新規レコードの項目: いいえ; 問合せ対象レコードの項目: はい

使用上の注意

•	テキスト項目の現在のステータスが有効かどうかをチェックする場合に、「Item_Is_Valid」プロパティを使用します。

•	「Item_Is_Valid」プロパティを「はい」に設定すると、Form Builderでは項目の現在のデータが有効とみなされ、次の妥当性チェックに進みます。「Item_Is_Valid」を「いいえ」に設定すると、Form Builderではテキスト項目内のデータが無効とみなされ、そのデータが次の妥当性チェックでチェックされます。


「Item_Tab_Page」プロパティ

関連項目	全プロパティ

説明

項目を配置するタブ・ページを指定します。

適用されるオブジェクト項目

参照するビルトイン

•	GET_ITEM_PROPERTY

デフォルト

なし


「Item_Tab_Page」プロパティの制限事項


「結合条件」プロパティ

例	  制限事項	  関連項目	全プロパティ

説明

マスター・ブロック内のレコードとディテール・ブロック内のレコードをリンクするリレーションシップを定義します。

適用されるオブジェクト　リレーション

設定方法  Form Builder

必須/オプション　リレーション・オブジェクトの場合は必須

使用上の注意

次の項目により結合条件を指定できます。

•	マスター・ブロックとディテール・ブロック（block_2.item_3）の両方に存在する項目名。

•	2つの項目名の等価条件。ここで、2つの項目の1つはマスター・ブロック内の項目、もう1つはディテール・ブロック内の項目です。

•	項目名と等価条件の組合せ。


「結合条件」プロパティの制限事項

•	結合条件の最大文字数は255です。


結合条件の例

例:

両方のブロックに共通するORDIDテキスト項目を使用して、ディテール・ブロックをマスター・ブロックにリンクする場合は、結合条件を次のように定義します。

ORDID

複数のテキスト項目を使用してディテール・ブロックをマスター・ブロックにリンクする場合は、結合条件を次のように定義します。

block1.item1 = block2.item1 AND block1.item2 = block2.item2

なお、定義する結合条件は、ブロックの基になる表の列間のリレーションではなく、各ブロック内の項目間のリレーションです。したがって、フォーム内に実在しない項目を指定すると、結合条件が無効になります。


「結合形式」プロパティ

全プロパティ

説明

図形オブジェクトの結合形式を「角」、「凹凸」または「丸め」のいずれかに指定します。

適用されるオブジェクト　物理図形

設定方法  Form Builder

デフォルト

角

必須/オプション　オプション


「文字位置」プロパティ

全プロパティ

説明

項目内のテキストの位置を指定します。このプロパティに指定できる値は次のとおりです。

Value	説明
左揃え	「読込み順序」プロパティの値に関係なく、左揃えで表示します。
中央揃え	「読込み順序」プロパティの値に関係なく、中央揃えで表示します。
右揃え	「読込み順序」プロパティの値に関係なく、右揃えで表示します。
始点	項目の枠ボックスの読取り開始位置にテキストを表示します。開始境界線は項目の読み取り順序プロパティの値に依存します。 「始点」は、「読込み順序」プロパティが「右から左」であれば「右揃え」と、「読込み順序」が「左から右」であれば「左揃え」と等価です。
終点	項目の枠ボックスの読取り終了位置にテキストを表示します。終わりの境界線は項目の読取り順序プロパティの値に依存します。 終了は読み取り順序が右から左への場合は左揃えで評価され、左から右への場合は右揃えで評価されます。

適用先　表示項目、テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

始点

使用上の注意

•	一方向アプリケーション（「読込み順番」が「左から右」）の場合は、大抵、デフォルト値「始点」をそのまま使用します。一方向アプリケーションでは、「始点」は「左揃え」と、「終点」は「右揃え」とまったく同じ結果になります。

•	双方向アプリケーションの場合:

•	データが項目の読み取り順序に整列する必要があれば、始点（デフォルト）を選びます。

•	データが項目の読み取り順序と逆に整列する必要があれば、終点を選びます。

•	このプロパティは、一部のウィンドウ・マネージャではサポートされません。


「カーソル位置を保持」プロパティ

制限事項	全プロパティ

説明

テキスト項目を最後に終了したときと同じ位置にカーソルを配置するかどうかを指定します。

適用されるオブジェクト　テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

使用上の注意

エンド・ユーザーに項目間でカーソルを自由に移動させ、一部のみ入力した項目に戻ったときに入力したテキストの最後にカーソルが表示されるようにする場合は、このプロパティを「はい」に設定します。


「カーソル位置を保持」プロパティの制限事項

このプロパティは、一部のウィンドウ・マネージャではサポートされません。


「キー・モード」プロパティ

全プロパティ

説明

Form Builderでデータベース内の各行を識別する方法を指定します。このプロパティは、Oracle以外のデータ・ソースを使用するアプリケーションのために用意されています。Oralceデータベースを使用するアプリケーションでは、デフォルト値を使用します。

デフォルトでは、Oracleデータベースは重複しないROWIDの値を使用して各行を識別します。一方、Oracle以外のデータベースにはROWIDの構成体がないため、一意の主キーを使用して個々の行を識別します。したがって、Oracle以外のデータ・ソースを使用するフォームを作成する場合は、主キーを使用し、主キーの設定に合わせて「キー・モード」ブロック・プロパティを設定する必要があります。

Value	説明
自動（デフォルト）	データソースがROWIDをサポートしている場合に、Form BuilderがROWID構成体を使用してデータソースの一意の行を識別するよう指定します。
更新不可	Form BuilderがUPDATE文に主キー列を一切含めないよう指定します。この設定は、データベースが主キー値の更新を許可しない場合に使用されます。
一意	ROWID構成体を使用して、ORACLEデータベースの一意の行を識別するようForm Builderに指示します。
更新可能	Form Builderが主キー値を含むUPDATE文を発行するよう指定します。この設定は、データベースにおいて主キー列の更新を許可し、アプリケーションにおいて主キー値を更新する場合に使用してください。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

一意

使用上の注意

「キー・モード」プロパティを「更新可」または「更新不可」に設定した場合は、そのブロックの「主キーの強化」ブロック・プロパティを「はい」に、そのブロック内の項目の少なくとも1つの「主キー」項目プロパティを「はい」に設定して、フォームの主キー項目が識別できるようにする必要があります。


「キーボード・アクセラレータ」プロパティ

制限事項	  関連項目	全プロパティ

説明

メニュー項目に関連付ける論理ファンクション・キーを指定します。アクセラレータ・キーはACCELERATOR1、ACCELERATOR2などと呼ばれます。エンドユーザーは、キーまたは論理アクセラレータ・キーにマップされたキーの組合せを押下することでメニュー項目を選択できます。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

必須/オプション　オプション

使用上の注意

論理アクセラレータ・キーの物理デバイス・キーに対するマッピングは、ランタイム・リソース・ファイルに定義されています。Oracle Terminal内のリソース・ファイルを編集して、キー・マッピングを変更する必要があります。また、Oracle Terminal内に新たなアクセラレータ・キー（アクセラレータ6、アクセラレータ7、...）を作成して、メニュー・モジュールのメニュー項目に関連付けることもできます。


「キーボード・アクセラレータ」プロパティの制限事項

•	このプロパティは、セパレータ・メニュー項目には設定できません。

•	キー・マッピングをForm Builderの標準キー・マッピングに連動させないでください。

•	バー形式のメニューに関連付けた場合、アクセラレータ・キーを使用できるのは現在表示されているメニュー上の項目のみです。


「Keyboard Help Description」プロパティ

制限事項	  関連項目	全プロパティ

説明

「キーボード・ヘルプで表示」プロパティを「はい」に設定した場合に、ランタイム「キー」ヘルプ画面に表示するキー・トリガーの説明を指定します。「キー」画面には、キー名とそのキーに対応付けられている物理的なキーストローク（例: [Ctrl]-「S」）のリストが表示されます。

適用されるオブジェクト  トリガー

設定方法  Form Builder

デフォルト

ブランク

使用上の注意

•	キーウィンドウに名前や説明を表示する必要がない場合、「キーボード・ヘルプ表示」プロパティを「いいえ」に設定します。これはデフォルト設定でもあります。

•	トリガーに対応するキー名とそのキーのデフォルトの説明を「Keys」ウィンドウに表示する場合は、「キーボード・ヘルプ表示」プロパティを「はい」に設定し、「Keyboard Help Description」プロパティをブランクにします。

•	デフォルトのキーの説明を変更する場合は、このプロパティを「はい」に設定し、「Keyboard HelpDescription」フィールドに説明を入力します。


「Keyboard Help Description」プロパティの制限事項

キー・トリガーにのみ有効です。


「キーボードで移動可能」プロパティ

制限事項	  関連項目	全プロパティ

説明

デフォルトのナビゲーション操作で、エンド・ユーザーまたはアプリケーションがその項目内に入力フォーカスを移動できるかどうかを指定します。このプロパティを「はい」に設定すると、その項目がナビゲート可能になります。「いいえ」に設定すると、Form Builderによってその項目が飛ばされ、デフォルトのナビゲーション順序の次のナビゲート可能項目に移動します。項目のデフォルトのナビゲーション順序は、オブジェクト・ナビゲータで定義された項目の順序と同じです。

適用されるオブジェクト　チャート項目と図表項目を除くすべての項目

設定方法　Form Builder、プログラム [NAVIGABLE]

参照するビルトイン

•	GET_ITEM_INSTANCE_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_ITEM_INSTANCE_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

使用上の注意

•	「使用可能」プロパティまたは「可視」プロパティが「いいえ」に設定（実行時にはPROPERTY_FALSE）されている場合、その項目または項目のインスタンスの「キーボードで移動可能」プロパティは実質的には「いいえ」になります。実行時に、「使用可能」プロパティがPROPERTY_FALSEに設定されると、「Keyboard_Navigable」プロパティもPROPERTY_FALSE に設定されます。ただし、その後「使用可能」プロパティの設定が、PROPERTY_TRUEに戻された場合でも、「キーボードで移動可能」プロパティはPROPERTY_TRUEに設定されません。これは明示的に変更する必要があります。

•	「キーボードで移動可能」プロパティが複数のレベル（項目インスタンス、項目およびブロック）で指定されているとき、値はAND結合されます。すなわち、項目のインスタンスの「キーボードで移動可能」プロパティを「はい」に（または、実行時のPROPERTY_TRUEをNAVIGABLEに）設定しても、項目レベルで一貫してその設定がなされていない限り、インスタンス・レベルでの設定は無効です。たとえば、「キーボードで移動可能」がインスタンス・レベルで「はい」であり、項目レベルで「いいえ」の場合、ユーザーは項目インスタンスにナビゲートできません。

•	GO_ITEMビルトイン・プロシージャを使用すると、「キーボードで移動可能」プロパティが「いいえ」に設定された（実行時にはPROPERTY_FALSE）項目にナビゲートできます。


「キーボードで移動可能」プロパティの制限事項

•	SET_ITEM_PROPERTYビルトインを使用してこのプロパティを「はい」に設定する場合、項目プロパティを次のように設定する必要があります。

•	「使用可能」を「はい」に（実行時にはPROPERTY_TRUEに）

•	「可視」を「はい」に（実行時にはPROPERTY_TRUEに）


「キーボード状態」プロパティ

全プロパティ

説明

サポートされている国際キーボードの状態を「Any」、「ローマ字のみ」または「ローカルのみ」のいずれかに指定します。

適用されるオブジェクト　国際項目

設定方法  Form Builder

デフォルト

任意

必須/オプション  必須


「ラベル」プロパティ

全プロパティ

「ラベル」（項目）プロパティ

「ラベル」（メニュー項目）プロパティ

「ラベル」（メニュー置換パラメータ）プロパティ

「ラベル」（タブ・ページ）プロパティ


「ラベル」（項目）プロパティ

全プロパティ

説明

ボタン、チェックボックス、ラジオ・グループのラジオ・ボタンに表示するテキスト・ラベルを指定します。

適用されるオブジェクト　ボタン、チェックボックス、ラジオ・グループ・ボタン

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_ITEM_INSTANCE_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

デフォルト

ブランク

必須/オプション　オプション


「ラベル」（メニュー項目）プロパティ

関連項目	全プロパティ

説明

各メニュー項目のテキスト・ラベルを指定します。

適用されるオブジェクト　メニュー項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_MENU_ITEM_PROPERTY

•	SET_MENU_ITEM_PROPERTY

必須/オプション　オプション

使用上の注意

各メニュー項目には、名前とラベルが割り当てられます。ラベルはランタイムGUIでのみ使用され、プログラミングに使用できる名前とは区別されます。

メニュー項目の名前はPL/SQLの命名規則に従う必要がありますが、ラベルにはさまざまな文字や句読点を使用できます。たとえば、「More info...」は有効なラベルですが、このオブジェクトの名前はmore_infoのように指定する必要があります。

メニュー・エディタに新しいメニュー項目を作成した場合、Form Builderはデフォルト名前たとえばITEM2、およびデフォルトラベル、<New Item>を作成します。オブジェクト・ナビゲータまたはプロパティ・パレットで変更するまでITEM2のような名前であったものが、メニューエディタ使用して項目を編集する際、“キー表示”のような名前に変更できます。


「ラベル」（メニュー置換パラメータ）プロパティ

制限事項	  関連項目	全プロパティ

説明

置換パラメータの値をエンド・ユーザーに入力させるときにプロンプトとして表示するラベルを指定します。

適用先　メニューパラメータ

設定方法  Form Builder

必須/オプション　オプション


「ラベル」（メニュー置換パラメータ）プロパティの制限事項

なし


「ラベル」（タブ・ページ）プロパティ

制限事項	全プロパティ

説明

タブ・ページのタブに表示するラベルを指定します。エンド･ユーザーがこのラベル付きタブをクリックすると、タブ・キャンバスのタブ・ページが表示されます。

適用されるオブジェクト  タブ・ページ

設定  Form Builder、プログラム

参照するビルトイン

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

必須/オプション　オプション


「ラベル」（タブ・ページ）プロパティの制限事項

なし


「Last_Block」プロパティ

制限事項	全プロパティ

説明

そのフォームで順序番号が最も大きいブロック、つまり、オブジェクト・ナビゲータでブロック・リストの最後に表示されるブロックの名前を表します。

適用されるオブジェクト フォーム・モジュール

設定 設定できません。

参照するビルトイン

GET_FORM_PROPERTY


「Last_Item」プロパティ

関連項目	全プロパティ

説明

そのブロックで順序番号が最も大きい項目、つまり、オブジェクト・ナビゲータで項目リストの最後に表示される項目の名前を表します。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY


「Last_Query」プロパティ

全プロパティ

説明

そのブロックの最後の問合せで使用されるSQL文を表します。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY


「レイアウト・データ・ブロック」プロパティ

全プロパティ

説明

その枠が関連付けられているデータ・ブロックの名前を指定します。このブロック内の項目が枠内に配置されます。1つの枠に関連付けられるブロックは1つのみです。複数の枠内にはブロックの項目は配置できません。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

NULL

必須/オプション  必須


「レイアウト・スタイル」プロパティ

「ヒント」	全プロパティ

説明

枠内に表示する項目のレイアウト・スタイルを指定します。

フォーム	枠のデフォルトのスタイル。「レイアウト・スタイル」プロパティを「フォーム」に設定すると、Form Builderによって項目が2列に配置され、各項目の左にテキスト図形のプロンプトが表示されます。

単表	「レイアウト・スタイル」プロパティを「単表」に設定すると、FormBuilderによって項目が1列に配置され、各項目の上にテキスト図形のプロンプトが表示されます。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

フォーム

必須/オプション  必須


レイアウト・スタイル


「長さ」（レコード・グループ）プロパティ

全プロパティ

説明

「列仕様」を参照。


「線の間隔」プロパティ

全プロパティ

説明

テキスト・オブジェクトの線間隔を「シングル」、「1-1/2」、「ダブル」または「カスタム」のいずれかに指定します。「カスタム」を選択した場合、線の間隔は「カスタム・スペース」プロパティの値によって決まります。

適用されるオブジェクト　図形テキスト

設定方法  Form Builder

デフォルト

シングル

必須/オプション  必須


「線幅」プロパティ

全プロパティ

説明

オブジェクトの枠の幅をポイント（1/72インチ）単位で指定します。（Graphics Builderの「境界幅」プロパティと同じ。）

適用されるオブジェクト　物理図形

設定方法  Form Builder

必須/オプション　オプション


「リスト項目値」プロパティ

制限事項	全プロパティ

説明

ラジオ・ボタンに関連付ける値を指定します。

適用先　ラジオ・ボタン

設定方法  Form Builder

デフォルト

NULL

必須/オプション  必須

使用上の注意

「リスト項目値」フィールドをブランクのままにすると、そのラジオ・ボタンにはNULL値が関連付けられます。


「リスト項目値」プロパティの制限事項

•	ラジオ・ボタンに対応付ける値はラジオ・グループ内で一意にする必要があります。


「値リスト」プロパティ

制限事項	  関連項目	全プロパティ

説明

テキスト項目に関連付ける値リストを指定します。テキスト項目に値リストが関連付けられている場合に、エンド・ユーザーがその項目にナビゲートして「値リスト」ボタンを押すと、値リストが表示されます。値リストが使用可能なことをエンド・ユーザーに知らせるために、値リストが関連付けられたテキスト項目が入力フォーカスを取得すると、Form Builderによってメッセージ行に値リスト・リスト・ランプが表示されます。

適用されるオブジェクト　テキスト項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

必須/オプション　オプション


「値リスト」プロパティの制限事項

値リストはアクティブなフォーム・モジュール内にする必要があります。


「リスト形式」プロパティ

全プロパティ

説明

リスト項目の表示形式、つまり、「ポップリスト」、「コンボ・ボックス」、「Tリスト」のいずれかを指定します。ポップリストとコンボ・ボックスはTリストより場所をとりませんが、エンド・ユーザーはポップリストやコンボ・ボックスを開いてリスト要素を表示する必要があります。Tリストは"オープン"にし、エンド・ユーザーはリストが複数の値を表示可能な大きさである場合は、同時に複数の値を見ることができます。

適用されるオブジェクト　リスト項目

設定方法  Form Builder

デフォルト

ポップリスト

使用上の注意

「リスト形式」プロパティで指定するリスト項目の表示形式は、リスト項目のデータ構造には一切影響しません。


「リスト・タイプ」プロパティ

制限事項	全プロパティ

説明

値リストの基となるレコード・グループ・オブジェクトを参照する方法を指定します。各値リストにはレコード・グループが関連付けられており、実行時にこのグループから値が取り出されます。

適用先

値リスト（LOV）

設定方法  Form Builder

デフォルト

問合せ

必須/オプション  必須

使用上の注意

このプロパティに設定できる値は次のとおりです。

レコード・グループ	既存のレコード・グループから値リストを取り出す場合に、このオプションを指定します。このオプションを選択した場合は、「レコード・グループ」プロパティのドロップダウン・リストからレコード・グループ名を選択する必要があります。指定できるレコード・グループは、既にそのアクティブ・フォーム内に存在する静的レコード・グループまたは問合せレコード・グループです。

旧	このオプションは、Form Builderの旧バージョンとの互換性を確保するために用意されています。新しいアプリケーションでは使用できません。


「リスト・タイプ」プロパティの制限事項

なし


「X位置のリスト」プロパティ

関連項目	全プロパティ

説明

値リストの左上角の水平（X）座標を画面上の相対位置で指定します。「値リスト」プロパティを設定してテキスト項目に値リストを関連付けた場合は、「X位置のリスト」プロパティと「Y位置のリスト」プロパティを設定して値リストのデフォルトの表示位置を変更できます。

適用されるオブジェクト　テキスト項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

デフォルト

0。デフォルトのX座標に値リストが表示されます。

必須/オプション  必須

使用上の注意

•	「X位置のリスト」プロパティと「Y位置のリスト」プロパティを両方ともデフォルトの0のままにすると、値リスト作成時に指定した位置に値リストが表示されます。配置調整を指定したら、値リストのデフォルト位置に調整するよう上書きします。

•	「値リスト」プロパティをブランクにすることはできません。


「Y位置のリスト」プロパティ

関連項目	全プロパティ

説明

値リストの左上角の垂直（Y）座標を画面上の相対位置で指定します。「値リスト」プロパティを設定してテキスト項目に値リストを関連付けた場合は、「Y位置のリスト」プロパティと「X位置のリスト」プロパティを設定して値リストのデフォルトの表示位置を変更できます。

適用されるオブジェクト　テキスト項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

デフォルト

0。デフォルトのY座標に値リストが表示されます。

必須/オプション  必須

使用上の注意

•	「X位置のリスト」プロパティと「Y位置のリスト」プロパティを両方ともデフォルトの0のままにすると、値リスト作成時に指定した位置に値リストが表示されます。配置調整を指定したら、値リストのデフォルト位置に調整するよう上書きします。

•	「値リスト」プロパティをブランクにすることはできない。


「データ・ブロック・メニューにリスト済み」プロパティ/「データ・ブロックの記述」プロパティ

制限事項

そのブロックをブロック・メニューに表示するかどうかを指定します。表示する場合は、メニュー上に表示するテキストを入力します。

Form Builderには組み込みメニューがあります。このメニューでは、エンド・ユーザーが[Block Menu]を押すと、現在フォームのブロックのリストが呼び出されます。エンド・ユーザーがリストからブロックを選ぶと、Form Builderはブロック内で最初に入力可能な項目にナビゲートします。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

「はい」。「データ・ブロックの記述」プロパティは、新規ブロックの場合は「NULL」、既存ブロックの場合はそのブロックが作成されたときのブロック名です。

必須/オプション　オプション


「データ・ブロック・メニューにリスト済み」プロパティと「データ・ブロックの記述」プロパティの制限事項

「データ・ブロック・メニューにリスト済み」プロパティを「はい」に設定しても「データ・ブロックの記述」プロパティをブランクのままにすると、そのブロックは「ブロック・メニュー」に表示されません。


「ロック・プロシージャの引数」プロパティ

関連項目	全プロパティ

説明

データをロックするプロシージャに渡す引数の名前およびデータ型、値を指定します。「ロック・プロシージャの引数」プロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「ロック・プロシージャ名」プロパティ

関連項目	全プロパティ

説明

データをロックするのに使用するプロシージャの名前を指定します。「ロック・プロシージャ名」プロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「ロック・プロシージャの結果セット列」プロパティ

関連項目	全プロパティ

説明

データをロックするプロシージャに関連付けられた結果設定列の名前とデータ型を指定します。「ロック・プロシージャの結果セット列」プロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「ロック・レコード」プロパティ

制限事項	全プロパティ

説明

テキスト項目の値がエンド・ユーザーあるいはプログラムにより更新された時は常に、ブロック内の現行レコードに接続しているデータベースの中の行をForm Builderがロックするよう設定します。

適用されるオブジェクト　テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

使用上の注意

•	テキスト項目が制御項目（実表の列に対応付けられていない項目）であっても、Form Builderでそのブロック内の現行のレコードに対応するデータベース内の行をロックする場合に、このプロパティを「はい」に設定します。

•	このプロパティは、基礎を形成するレコードをロックする必要のある参照テキスト項目に使用します。

•	SET_ITEM_PROPERTYビルトインを使用して「ロック・レコード」プロパティを設定する場合は、定数LOCK_RECORD_ON_CHANGEを使用します。


「ロック・レコード」プロパティの制限事項

このプロパティは、その項目がデータ・ブロック内の制御項目（「データベース項目」プロパティが「いいえ」に設定されている項目）の場合にのみ有効です。


「ロック・モード」プロパティ

全プロパティ

説明

フォーム内の問合せ対象レコードに対応する行をいつロックするかを指定します。このプロパティの設定値とその効果は次のとおりです。

Value	説明
自動（デフォルト）	データソースがOracleデータベースの場合、即時と同じです。その他のデータソースについては、Form Builderは使用可能なロック機能を判断し、できる限り即時と同じような動作をします。
即時	エンド・ユーザーがキーを押して、テキスト項目内で値を入力または編集すると、Form Builderは直ちに対応する行をロックします。
遅延	エンド・ユーザーがレコードを編集している間でなく、トランザクションがデータベースにポストされている間のみForm Builderは行をロックします。Form Builderでは、ブロックのフィールド値が変更された場合にユーザーがコミット動作を行うと、そのコミット動作の処理が防止されます。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

自動

使用上の注意

ほとんどのアプリケーションに対して、「自動」のデフォルト設定を使用します。

「即時」の設定は既存のアプリケーションとの互換性を保持しますが、新しいアプリケーションに対してこの設定を使用する必要はありません。この場合は、「自動」を使用してください。

「遅延」の設定は、ロックの回数、または行がロックされている時間を最小限に抑える必要があるアプリケーションに対して有効です。「遅延」モードは、フォームの「孤立モード」プロパティがシリアル化可能に設定されている場合に使用します。

遅延ロッキングの不利な点は次のとおりです。

•	エンド・ユーザーがブロックに対して行う変更を、コミット時に再び行う必要のあることがあります。

•	別のユーザーのロックによって、最初のエンド・ユーザーは無期限に待機するか、変更を諦めるかの選択を余儀なくされることがあります。


「マジック項目」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

カスタム・メニュー用の事前定義済みメニュー項目、つまり「カット」、「コピー」、「ペースト」、「消去」、「元に戻す」、「情報」、「ヘルプ」、「終了」、「ウィンドウ」の中から1つ選択します。マジック・メニュー項目は、そのときフォームが実行されているプラットフォームに固有のスタイルで自動的に表示されます。マジック・メニュー項目には適切なアクセラレータ・キーもそれぞれ割り当てられています。

「カット」、「コピー」、「ペースト」、「消去」、「ウィンドウ」および「終了」マジック・メニュー項目にはForm Builderによってビルトイン機能が割り当てられますが、その他の項目にはコマンドを対応付けることができます。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

デフォルト

カット

必須/オプション　オプション

使用上の注意

このプロパティに設定できる値は次のとおりです。

設定	説明
「カット」、「コピー」、「ペースト」、「消去」	これらの項目は、一般的なテキスト操作命令を実行します。FormBuilderによってビルトイン機能が提供されるので、設計者がコマンドを入力する必要はありません。
「元に戻す」、「情報」	これらの項目にはビルトイン機能がないため、設計者がコマンドを入力する必要があります。「メニュー」以外であれば、あらゆるタイプのコマンドを入力できます。
ヘルプ	「ヘルプ」メニュー項目のコマンド・タイプは「メニュー」であることが必要です。設計者はこのサブメニュー上に項目の機能を追加します。
終了	「終了」にもビルトイン機能が用意されているため、設計者がコマンドを割り当てる必要はありません。
ウィンドウ	「ウィンドウ」マジック・メニュー項目により、開いているすべてのウィンドウのサブメニューが表示されるので、ユーザーはこのメニュー項目を使用して各ウィンドウをアクティブ化できます。「ウィンドウ」マジック・メニュー項目にサブメニューを起動するコマンドを割り当てると、開いているウィンドウのリストとユーザーが定義したサブメニュー項目が、Form Builderによって決定された順序で、サブメニューに表示されます。「ウィンドウ」マジック・メニュー項目に指定できるコマンド・タイプは、「NULL」または「メニュー」です。


「マジック項目」プロパティの制限事項

•	あるメニュー・モジュールのメニュー階層に同じマジック・メニュー項目を2回以上定義することはできません。たとえば、マジック・メニュー項目「カット」を含むメニューを、同じメニュー・モジュールの2つの異なるオプションのサブメニューにすることはできません。

•	マジック・メニュー項目の「メニューのアイコン」、「キーボード・アクセレレータ」、「ヒント」プロパティをブランクにしておいてください。


「メイン・メニュー」プロパティ

  関連項目	  全プロパティ

説明

メイン・メニューにする、あるいは実行時の起動メニューとなる、文書内の各メニューの名前を指定します。

プルダウン・メニューを作成する場合は、最初に作成したメニューの名前が自動的に設定され、メニュー名を変更した場合も自動的に更新されるので、このプロパティを変更する必要はありません。

通常、「メイン・メニュー」プロパティは、エンドユーザーがアクセスできるメニューを制限する目的で、全画面メニューに使用します。エンドユーザーは、メニュー・モジュール階層でメイン・メニューより上位のメニューにはナビゲートできません。

適用されるオブジェクト  メニュー・モジュール

設定方法  Form Builder

デフォルト

ブランク

必須/オプション  必須

使用上の注意

「フォーム・モジュール」プロパティ・シートで適切なプロパティを設定して、メニュー・モジュールをフォームに追加した場合は、「初期メニュー」プロパティを設定すれば、その文書内の別のメニューをメイン・メニューにすることができます。


「ほかの値のマッピング」プロパティ

  関連項目	  全プロパティ

説明

特定のリスト要素やラジオ・ボタンに対応付けられた事前定義済みの値以外の値がフェッチされたり割り当てられたりしたときに、その値をどのように解釈するかを指定します。

適用されるオブジェクト　リスト項目、ラジオ・グループ

設定方法  Form Builder

デフォルト

ブランク

必須/オプション　オプション

使用上の注意

•	このプロパティをブランクにすると、該当する項目またはラジオ・グループに未定義の値は許可されません。ユーザーが定義した要素の値以外の値を含む問合せレコードは、すべて通知なしに拒否されます。その他の値を割り当てようとする試みは禁止されます。

•	このプロパティに指定できる値は、次のいずれかに評価されるものであることが必要です。

•	リスト要素またはラジオ・グループのどれか1つに対応付けられている値

•	任意のリスト要素の名前（ラベルではありません）


「最大化可能」プロパティ

 制限事項	  全プロパティ

説明

エンドユーザーにランタイム・ウィンドウ・マネージャのズーム機能を使用したウィンドウのサイズ変更を許可するかどうかを指定します。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

はい


「最大化可能」プロパティの制限事項

•	「サイズ変更可能」プロパティが「いいえ」に設定されている場合にのみ有効。


「最大長」プロパティ

  全プロパティ

説明

その項目に格納できるデータ値の最大の長さを指定します。

適用されるオブジェクト　ボタン、イメージ項目、チャート項目を除くすべての項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

デフォルト

•	データベース項目の場合は、データベース表の対応する列の長さ。注意: 項目のデータ型がNUMBERの場合は、定義された列の長さに2を加えた値が最大長に設定されます。これにより、マイナス符号(負の値の場合)と小数点を使用することもできるようになります。

•	制御項目の場合は、30。

•	LONG項目の場合は、240バイト。

必須/オプション  必須

使用上の注意

1	実行時に、項目の最大長を超える長さを書式マスクが必要とする場合、「最大長」プロパティの値はFormsによって拡張されます（書式マスクは、フォームの設計者がこの項目に対して指定した明示的なマスクか、Forms内部の変換操作で使用される暗黙的なマスクのうちの1つのどちらかになります）。

2	CHAR項目の場合は、「最大長」プロパティは2,048文字です。

注意: マルチバイト・キャラクタ・セットを使用するアプリケーションを作成する場合は、次の点に留意してください。

•	エンドユーザーは「最大長」に指定された長さまで、シングルバイト文字を入力できます。

•	エンド・ユーザーがシングルバイト文字とマルチバイト文字を混ぜて入力し、文字列のバイト単位の合計長が項目の最大長を超えた場合、その文字列は制限内に収まる文字までで切り捨てられ、警告が表示されます。このようなことのないように、その項目の「最大長」の値を設定してください。（「最大長」の値がその項目の表示幅より大きい場合は、エンドユーザーが項目の中身をスクロールできるようにForm Builderによって自動的に設定されます。


「最大長」(フォーム・パラメータ)プロパティ

 制限事項	  全プロパティ

説明

データ型CHARのフォーム・パラメータの最大長を文字数で指定します。

適用されるオブジェクト　フォーム・パラメータ

設定方法  Form Builder

デフォルト

CHAR型のパラメータ、30

必須/オプション  必須


「最大長」(フォーム・パラメータ)プロパティの制限事項

•	CHARパラメータの最大長は2,048バイト。


「最大長」(メニュー置換パラメータ)プロパティ

  関連項目	  全プロパティ

説明

メニュー・パラメータの最大長を文字数で指定します。

適用先　メニューパラメータ

設定方法  Form Builder

デフォルト

30

必須/オプション  必須


「1行あたりの最大オブジェクト数」プロパティ

  全プロパティ

説明

枠内の各行に表示できるオブジェクト数の最大値を指定します。

「１行当りの最大オブジェクト数」プロパティを0（デフォルト値）に設定すると、オブジェクト数の上限がなくなり、枠内の各行に表示できる数のみオブジェクトが配置されます。

このプロパティは、「レイアウト・スタイル」プロパティが「フォーム」に、「垂直方向の埋込み」プロパティが「いいえ」に設定されている場合に有効です。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

0

必須/オプション  必須


「最長問合せ時間」プロパティ

  全プロパティ

説明

問合せの経過時間がこのプロパティの値を超えるとき、その問合せを終了するオプションを提供します。

適用されるオブジェクト　フォーム、ブロック

設定方法　Form Builder、プログラム

参照するビルトイン

•	GET_FORM_PROPERTY

•	GET_BLOCK_PROPERTY

必須/オプション　オプション

使用上の注意

このプロパティは、「全レコード問合せ」プロパティが「はい」に設定されている場合にのみ有効です。


「取出しレコードの最大数」プロパティ

  全プロパティ

説明

問合せ中止前に実行した問合せでフェッチされたレコード数を指定します。

適用されるオブジェクト　フォーム、ブロック

設定方法　Form Builder、プログラム

参照するビルトイン

•	GET_FORM_PROPERTY

•	GET_BLOCK_PROPERTY

必須/オプション　オプション

使用上の注意

フェッチ・レコードの最大数は、「問合せ可」および「全レコードの問合せ」プロパティが「はい」に設定されている場合にのみ有効になります。「フェッチ・レコードの最大数」プロパティを設定して、ユーザーの問合せで返されるレコード数を制限します。


「メニュー説明」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

プルダウン・メニューやバー・メニューの表示をキャラクタ・モードで行うアプリケーションで、エンドユーザーがこのメニューにナビゲートしたときにメニュー行に表示する文字列を指定します。全画面表示形式では、このプロパティにメニュー・モジュールを識別する文字列を指定します。

適用されるオブジェクト  メニュー・モジュール

設定方法  Form Builder

デフォルト

デフォルトの文書名

必須/オプション　オプション


「メニュー説明」プロパティの制限事項

•	このプロパティを適用できるのは、キャラクタ・モードのアプリケーションのみです。


「メニュー・ディレクトリ」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

Form Builderに.MMXランタイム・メニュー・ファイルを検索させるディレクトリを指定します。このプロパティを適用できるのは、直接参照ではなくデータベースの検索機能を使用して.MMXランタイム・メニュー・ファイルを検索する場合のみです。

データベースの検索機能を使用するには、そのメニュー・モジュールがデータベースに格納されている必要があります。実行時に、Form Builderによってデータベース内に格納されたメニュー・モジュール定義に対して問合せが実行され、.MMXランタイム・メニュー・ファイルのディレクトリと名前が検索されます。「メニュー・ディレクトリ」と「メニュー・ファイル名」の2つのメニュー・モジュール・プロパティを使用して、.MMXメニュー・ファイルを検索するパスを指定します。

適用されるオブジェクト  メニュー・モジュール

設定方法  Form Builder

デフォルト

ブランク

必須/オプション　オプション

使用上の注意

このプロパティをブランクにすると、まずデフォルト・ディレクトリでファイルが検索され、次に事前に定義されているパスがあればそれが検索されます。検索パスの詳細は、ご使用のプラットフォームのForm Builderマニュアルを参照してください。


「メニュー・ディレクトリ」プロパティの制限事項

直接参照を使用して.MMXランタイム・メニュー・ファイルの位置を指定する場合は、このプロパティは無効です。「メニュー・ソース」フォーム・モジュール・プロパティを「ファイル」に設定してメニューをフォームに割り当てる場合に、直接参照を使用します。


「メニュー・ファイル名」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

フォーム起動時にForm Builderに検索させる.MMXランタイム・メニュー・ファイルの名前を指定します。このプロパティを適用できるのは、直接参照ではなくデータベースの検索機能を使用して、.MMXランタイム・メニュー・ファイルを検索する場合のみです。

データベースの検索機能を使用するには、そのメニュー・モジュールがデータベースに格納されている必要があります。実行時に、Form Builderによってデータベース内に格納されたメニュー・モジュール定義に対して問合せが実行され、.MMXランタイム・メニュー・ファイルのディレクトリと名前が検索されます。「メニュー・ディレクトリ」と「メニュー・ファイル名」の2つのメニュー・モジュール・プロパティを使用して、.MMXメニュー・ファイルを検索するパスを指定します。

適用されるオブジェクト  メニュー・モジュール

設定方法  Form Builder

デフォルト

「モジュール名」プロパティの値

必須/オプション  必須

使用上の注意

このプロパティをブランクにすると、まずデフォルト・ディレクトリでファイルが検索され、次に事前に定義されているパスがあればそれが検索されます。検索パスの詳細は、使用しているプラットフォームのForm Builderマニュアルを参照してください。


「メニュー・ファイル名」プロパティの制限事項

•	ファイルの拡張子.MMXを指定する必要はありません。


「メニュー項目コード」プロパティ

  全プロパティ

説明

メニュー項目に対するPL/SQLコマンドをその内容とするプロパティです。

適用先  メニュー項目

設定方法  Form Builder

必須/オプション  必須

使用上の注意

「詳細...」ボタンをクリックすると、そのメニュー項目に対してPL/SQLエディタが開き、PL/SQLコマンドが編集できます。


「メニュー項目ラジオ・グループ」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

現行のラジオ・メニュー項目が属しているラジオ・グループの名前を指定します。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

必須/オプション  必須

使用上の注意

同じ論理セットに属しているラジオ項目には、すべて同じラジオ・グループ名を指定してください。


「メニュー項目ラジオ・グループ」プロパティの制限事項

•	ラジオ項目は同じメニュー上に隣接させて配置します。

•	各メニューに対応付けられるラジオ・グループは1つのみです。


「メニュー項目タイプ」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

メニュー項目のタイプ、つまり、「プレーン」、「チェック」、「マジック」、「ラジオ」、「セパレータ」のいずれかを指定します。メニュー項目のタイプによって、その項目がどのように表示されるか、その項目にコマンドを対応付けられるかどうかが決まります。

適用先

メニュー項目

設定方法  Form Builder

デフォルト

Plain

使用上の注意

使用可能なメニュー項目タイプは次のとおりです。

Plain これがデフォルトです。	標準のテキスト・メニュー項目。

チェック	「はい」または「いいえ」、「チェックあり」または「チェックなし」に設定されるブール型メニュー項目。

エンドユーザーが「チェック」メニュー項目を選択すると、FormBuilderによってその項目の状態がトグルされ、そのメニュー項目にコマンドが対応付けられていればそのコマンドが実行されます。

マジック	事前定義済みのメニュー項目、つまり、「カット」、「コピー」、「ペースト」、「消去」、「元に戻す」、「情報｣、「ヘルプ」、「終了」、「ウィンドウ」のいずれかを示します。マジック・メニュー項目は、適切なアクセラレータ・キーが割り当てられて、プラットフォームの規則で定義する位置に、フォームが実行されるプラットフォームの元のスタイルで自動的に表示されます。「カット」、「コピー」、「ペースト」、「消去」、「ウィンドウ」および「終了」マジック・メニュー項目にはForm Builderによってビルトイン機能が割り当てられますが、その他の項目にはコマンドを対応付ける必要があります。

ラジオ	ラジオ・グループの一部であるブール型メニュー項目。「メニュー項目ラジオ・グループ」プロパティ・フィールドにラジオ・グループ名を入力してください。グループ内のラジオ・メニュー項目が1度に1つのみ選択されます。

エンドユーザーが任意の「ラジオ」メニュー項目を選択すると、FormBuilderによってその項目の選択状態がトグルされ、そのメニュー項目にコマンドが対応付けられていればそのコマンドが実行されます。

セパレータ	線または外観項目。メニュー上で他のメニュー項目を分ける場合に、「セパレータ」メニュー項目を指定します。「セパレータ」メニュー項目は選択できません。したがって、コマンドを対応付けることはできません。

•	GET_MENU_ITEM_PROPERTYやSET_MENU_ITEM_PROPERTYビルトインを使用して、チェック・メニュー項目やラジオ・メニュー項目の状態を取得したり設定することができます。

•	「カット」、「コピー」、「消去」および「ペースト」の「マジック」メニュー項目は、Form Builderによって自動的に使用可能または無効に設定されます。また、GET_MENU_ITEM_PROPERTYやSET_MENU_ITEM_PROPERTYビルトインを使用して、プログラムによってマジック・メニュー項目の状態を取得したり設定したりすることもできますが、どのマジック・メニュー項目が使用してに設定されるかはそのプラットフォームの動作によって異なります。


「メニュー項目タイプ」プロパティの制限事項

最上位のメニューで使用できるのは、プレーンまたはマジックのメニュー項目のみです。


「メニュー・モジュール」プロパティ

  関連項目	  全プロパティ

説明

このフォームで使用するメニューの名前を指定します。このプロパティを「DEFAULT&SMARTBAR」に設定すると、すべてのフォームに組み込まれるデフォルトのメニューを使用してフォームが実行されます。このプロパティを「NULL」のままにすると、メニューなしでフォームが実行されます。

「デフォルト」と「NULL」以外の値を指定した場合は、「メニューソース」プロパティの値によって「メニュー・モジュール」プロパティの値がどように解釈されるかが決まります。

•	「メニュー・ソース」プロパティが「データベース」の場合は、そのフォームで使用する.MMX ランタイム・メニュー・ファイルの名前を「メニュー・モジュール」プロパティに指定します。

•	「メニュー元」プロパティが「いいえ」の場合は、そのフォームで使用する.MMXメニュー・ファイルの名前を検索するためにフォーム起動時に問い合せる、データベース内のメニュー・モジュール名を「メニュー・モジュール」プロパティに指定します。

適用されるオブジェクト フォーム・モジュール

設定方法  Form Builder

デフォルト

デフォルト。デフォルトのフォーム・メニューでフォームが実行されます。

必須/オプション　オプション


「メニュー・ロール」プロパティ

  関連項目	  全プロパティ

説明

そのメニューを実行するときにForm Builderによって使用されるセキュリティ・ロールを指定します。「メニュー・ロール」プロパティを指定すると、現行のエンドユーザーが指定したセキュリティ・ロールのメンバーである場合のみ、そのメニューが実行されます。

適用されるオブジェクトフォーム・モジュール

設定方法  Form Builder

必須/オプション　オプション

使用上の注意

「メニュー・ロール」プロパティは旧バージョンとの互換性を確保するために用意されています。したがって、新規アプリケーションを作成する場合は、このプロパティを使用しないでください。

Form Builderの旧バージョンでは、設計者は「メニュー・ロール」プロパティを使用してメニュー内のすべての項目にアクセスできるマスター・ロールを作成し、そのロールでメニューを実行して、メニューをテストしていました。メニュー・モジュール・プロパティ「セキュリティ使用」を「いいえ」に設定することで同じ結果が得られます。メニュー・モジュール・プロパティ「セキュリティ使用]を「いいえ」に設定するとき、すべてのエンドユーザーはすべてのメニュー項目にアクセスできるため、特定ロールのメンバーになって各自のアプリケーションをテストする必要はありません。


「メニュー・ソース」プロパティ

  関連項目	  全プロパティ

説明

フォーム・モジュールにカスタム・メニューを追加する場合は、このプロパティを使用して、.MMXランタイム・メニュー・ファイルの位置を指定します。.MMXファイルはフォーム起動時にロードされます。

適用されるオブジェクトフォーム・モジュール

設定方法  Form Builder

デフォルト

はい

必須/オプション　オプション

使用上の注意

「メニュー・ソース」プロパティを「ファイル」に設定すると、直接参照またはデータベース検索機能を使用して.MMXランタイム・メニュー・ファイルの位置を指定できます。通常は、ファイル・システムへの直接参照を使用します。データベース検索は旧バージョンとの互換性を確保するために用意されている機能です。

直接参照	.MMXファイルを直接参照するには、「メニュー・ソース」プロパティを「ファイル」に設定し、「メニュー・モジュール」フィールドに.MMXファイルのパスとファイル名を入力します。
データベース検索	データベース検索機能を使用してメニューを参照するには、「メニュー・ソース」プロパティを「データベース」に設定し、データベースに格納されているメニュー・モジュールの名前を入力します。フォーム起動時に、必要な.MMXランタイム・ファイルの名前を検索するために、メニュー・モジュール定義に対して問合せが実行されます。（ファイル・システム内の.MMXファイルのパスは、「メニュー・ファイル名」メニュー・モジュール・プロパティおよび「メニュー・ディレクトリ」プロパティで定義します。 ） 実行時にフォームがロードされるときに、メニュー・モジュール・プロパティ「メニュー・ファイル名」および「メニュー・ディレクトリ」で定義された.MMXファイルへのポインタを検索するための問合せがデータベースに対して実行され、.MMXファイルが特定されます。
次の表は、メニューをフォームに追加するときに、直接参照を使用する場合とデータベース検索を使用する場合のプロパティの設定値とデータベース条件の違いを示しています。

条件またはプロパティ	直接参照	データベース検索
「フォーム・モジュール」プロパティ: 「メニュー・ソース」	はい	いいえ
「フォーム・モジュール」プロパティ: 「メニュー・モジュール」	.MMXランタイム・ファイル名。	データベース内の.MMBメニュー設計文書の名前。
「メニュー・モジュール」プロパティ: 「メニュー・ディレクトリ/メニュー・ファイル名」	適用外。	ファイル・システム内の.MMXファイルのパス名とファイル名。
データベース結合	結合する必要なし。	フォーム起動時に結合する必要あり。
ロード時のメニュー.MMBの位置	適用外。	データベースに格納されている必要あり。
次の図は、カスタム・メニューをフォームに追加するときに、直接参照を使用した場合とデータベース検索を使用した場合の違いを表しています。


「メニュー・スタイル」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

「メニュー・モジュール」プロパティに指定したカスタム・メニューを実行するときに使用されるメニューの表示形式を指定します。表示形式オプションには、「プルダウン」、「バー」があります。

適用されるオブジェクトフォーム・モジュール

設定方法  Form Builder

デフォルト

プルダウン

必須/オプション　オプション


「メニュー・スタイル」プロパティの制限事項

このプロパティは、「メニュー・モジュール」プロパティが「DEFAULT&SMARTBAR」に設定されている場合は無効です。（デフォルト・メニューは常にプルダウン表示形式で実行されます。


「メッセージ」プロパティ

 制限事項	  全プロパティ

説明

警告に表示するメッセージを指定します。

適用されるオブジェクト　警告

設定　Form Builder、プログラム

参照するビルトイン

SET_ALERT_PROPERTY

必須/オプション　オプション


「メッセージ」プロパティの制限事項

最大200文字です。ただし、表示できる文字数の最大値は、選択したフォントやランタイム・ウィンドウ・マネージャの制限事項など、複数の因子に左右されます。


「アイコン化可能」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

アイコン化機能をサポートするウィンドウ・マネージャ上で、このウィンドウのアイコン化を許可するかどうかを指定します。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

はい

必須/オプション　オプション


「アイコン化可能」プロパティの制限事項

ルート・ウィンドウには設定できません。ルート・ウィンドウは常にアイコン化可能に設定されます。


「アイコン化タイトル」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

アイコン化されたウィンドウの下にテキスト文字列を表示するかどうかを指定します。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

いいえ

必須/オプション　オプション


「アイコン化タイトル」プロパティの制限事項

このプロパティを適用できるのは、「最小化可能」プロパティが「はい」に設定されている場合のみです。


「モード」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

そのウィンドウをモーダルにするかどうかを指定します。モーダル・ウィンドウにすると、エンド・ユーザーがこのウィンドウを消すまでの間、次の対話処理を実行できません。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

いいえ


「モ－ド」プロパティの制限事項

•	「モーダル」プロパティを「はい」に設定すると、次のウィンドウ・プロパティが無視されます。

• 「クローズ可能」	• 「サイズ変更可能」
• 「アイコン・ファイル名」	• 「アイコン化タイトル」
• 「最小化可能」	• 「メニュー継承」
• 「移動可能」	• 「最大化可能」
• 「垂直表示スクロール・バー表示」および「水平表示スクロール・バー表示」


「Module_NLS_Lang」プロパティ

  全プロパティ

説明

フォームの各国語サポートで使用するよう定義されたNLS_LANG環境変数の現行の値を表します。MODULE_NLS_LANGは次のプロパティを連結したものと等価です。

•	MODULE_NLS_LANGUAGE（言語のみ）

•	MODULE_NLS_TERRITORY（地域のみ）

•	MODULE_NLS_CHARACTER_SET（キャラクタ・セットのみ）

適用されるオブジェクト　フォーム

設定　Form Builder内では設定できません。オペレーティング・システム・レベルで設定してください。

参照するビルトイン

GET_FORM_PROPERTY

デフォルト

デフォルトは通常「America_American.WE8ISO8859P1」ですが、すべてのデフォルトはポート固有のものとすることができます。


「モジュール・ロール」プロパティ

  関連項目	  全プロパティ

説明

このメニュー・モジュール内の項目で使用できるデータベース・ロールを指定します。

適用先  メニュー・モジュール

設定方法  Form Builder

必須/オプション　 オプション

使用上の注意

最初に、「モジュール・ロール」プロパティを使用してこのメニュー・モジュールへのアクセス権限を付与するロールのリストを構築し、次にメニュー項目の「項目ロール」プロパティを使用して各メニュー項目へのアクセス権限を付与するロールを指定します。


「マウス・ナビゲート」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

エンドユーザーがマウスを使用してその項目をアクティブ化したときに、その項目にナビゲートするかどうかを指定します。

適用されるオブジェクト　ボタン、チェックボックス、リスト項目、ラジオ・グループ

設定方法  Form Builder

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

使用上の注意

「マウス・ナビゲート」プロパティを「いいえ」に設定すると、エンドユーザーがマウスを使用してその項目をアクティブ化してもその項目にナビゲートされません。たとえば、ボタンやチェックボックスをマウスでクリックしても、ナビゲーション・イベントとは解釈されません。そのボタンやチェックボックスにトリガー（When-Button-Pressedなど）が定義されていれば、FormBuilderによってそのトリガーが起動されますが、現行の項目内の入力フォーカスは移動しません。

「マウス・ナビゲート」プロパティを「はい」に設定すると、その項目にナビゲートされ、適切なナビゲーションおよび妥当性チェック・トリガーが起動されます。


「マウス・ナビゲート」プロパティの制限事項

マウス駆動環境でのみ適用されます。


「マウス・ナビゲーション限界」プロパティ

  全プロパティ

説明

エンドユーザーがマウスを使用してナビゲートできる項目の範囲を指定します。「マウス・ナビゲーション限界」プロパティに設定できる値は次のとおりです。

フォーム	（デフォルト値。） エンドユーザーは現行のフォーム内のすべての項目にナビゲートできます。

データ・ブロック	エンドユーザーは現行のブロック内の項目のみにナビゲートできます。

レコード	エンドユーザーは現行のレコード内の項目のみにナビゲートできます。

項目	エンドユーザーは現行の項目の外にはナビゲートできません。この値に設定すると、エンドユーザーはマウスを使用したナビゲートが一切できなくなります。

適用されるオブジェクト　フォーム

設定方法  Form Builder

デフォルト

フォーム


「移動可能」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

ウィンドウを移動できるかどうかを指定します。

ウィンドウはユーザーの操作またはプログラムによって、画面上である位置から別の位置に移動できます。プログラムによる移動の場合には、適切なビルトイン・サブプログラムを使用します。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

はい

必須/オプション　オプション

使用上の注意

通常、ウィンドウは常に移動可能に設定しておくことをお薦めします。


「移動可能」プロパティの制限事項

ROOT_WINDOWという名前のウィンドウに対しては、このプロパティを「いいえ」に設定できません。ルート・ウィンドウは常に移動可能です。


「複数行」

 制限事項	    関連項目	  全プロパティ

説明

テキスト項目の編集領域をシングルラインにするかマルチラインにするかを指定します。

適用されるオブジェクト　テキスト項目

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

デフォルト

いいえ

使用上の注意

「複数行」プロパティを「はい」に設定すると、テキスト項目に2行以上のテキストを格納できますが、項目のサイズは複数行が表示できる大きさに自動的に変更されるわけではありません。したがって、表示する行数と文字数に応じて、「幅」、「高さ」、「フォント・サイズ」および「最大長」プロパティを設定する必要があります。

単一行	入力フォーカスがシングルライン・テキスト項目内にあるときにキャリッジ・リターン・キーを押すと、「次の項目へ」機能が起動されます。

複数行	マルチライン・テキスト項目内にあるときにキャリッジ・リターン・キーを押すと、入力フォーカスがその項目の次の行に移ります。


「複数行」プロパティの制限事項

データ型がCHAR、ALPHA、LONGのテキスト項目のみに有効です。


「複数選択」プロパティ

  全プロパティ

説明

複数のノードを同時に選択できるかどうかを指定します。「いいえ」に設定した場合、あるノードをすでに選択した状態で別のノードを併せて選択しようとすると、最初に選択していたノードの選択は解除され、新しく選択しようとしたノードのみが選択された状態になります。

適用先  階層ツリー

設定方法  Form Builder

デフォルト

いいえ

必須/オプション  必須


「名前」プロパティ

 例	   制限事項	    関連項目	  全プロパティ

説明

オブジェクトの内部名を指定します。各オブジェクトには、Oracleの命名規則に従って有効な名前を付ける必要があります。

適用されるオブジェクト　すべてのオブジェクト

設定方法  Form Builder

デフォルト

OBJECT_CLASS_N。ここで、OBJECT_CLASSはオブジェクトのタイプ、Nはその文書で次に使用可能な番号です。例: BLOCK5、EDITOR3。

必須/オプション  必須

使用上の注意

メニュー項目とラジオ・ボタンの「名前」プロパティには、次のような特徴があります。

•	実行時に表示されない内部ハンドルを「名前」プロパティに指定します。

•	「名前」プロパティは、PL/SQLコードでメニュー項目やラジオ・ボタンを参照するために使用されます。

•	「ラベル」プロパティには、メニュー項目または現行のラジオ・ボタンに表示するテキスト・ラベルを指定します。

メニュー・パラメータでは、次の制限事項があります。

•	置換パラメータは2文字の識別子にする必要があります。

•	英数字にする必要があります。

•	最初の文字は英字にする必要があります。

•	メニュー・コマンド行でパラメータを参照する場合は、パラメータの前にアンパサンド（&RN）を付ける必要があります。

•	PL/SQL参照では、パラメータの前にコロン（:SS）付ける必要があります。


「名前」プロパティの制限事項

•	最大30文字。

•	最初の文字は英字にする必要があります。

•	文字、数字、特殊記号$および#、@、_（アンダスコア）を使用できます。

•	大/小文字は区別されません。

•	そのオブジェクトは識別できるものにする必要があります。

•	項目名は同じブロック内で一意の名前にする必要があります。

•	リレーション名は同じマスター・ブロックを持つリレーション間で一意の名前にする必要があります。

•	ルート・ウィンドウには設定できません。


「名前」例

例

ENAME, ADDRESS1, PHONE_NO1


「ナビゲーション形式」プロパティ

  関連項目	  全プロパティ

説明

入力フォーカスがそのブロックの最後のナビゲート可能項目または最初のナビゲート可能項目内にあるとき、それぞれ「次の項目へ」または「前の項目へ」操作をどのように処理するかを指定します。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

同一レコード

使用上の注意

このプロパティに設定できる値は次のとおりです。

同一レコード	デフォルトのナビゲーション・スタイル。ブロックの最後のナビゲート可能項目からの「次の項目」操作によって、入力フォーカスは、同一レコードのブロック内の最初のナビゲート可能項目に移動します。

レコード変更	ブロックの最後のナビゲート可能項目からの「次の項目」操作によって、入力フォーカスは、同一レコードのブロック内の最初のナビゲート可能項目に移動します。現レコードがそのブロック内の最後のレコードであり、現在実行中の問合せがなければ、Form Builderにより新規レコードが作成されます。そのブロックに現在実行中の問合せがある（そのブロックに問合せ対象レコードが含まれている）場合は、Form Builderにより、必要に応じて追加レコードが取り出されます。

データ・ブロックの変更	A ブロックの最後のナビゲート可能項目からの「次の項目へ」操作によって、入力フォーカスは、次のブロックの最初のレコード内の最初のナビゲート可能項目に移動します。同様に、ブロックの最初のナビゲート可能項目で「前の項目へ」が選択されると、入力フォーカスが前のブロックの現行のレコードの最後の項目に移動します。「次のナビゲーション・データ・ブロック」と「前のナビゲーション・データ・ブロック」プロパティを設定して、ブロックの「次」または「前」のナビゲーション・ブロックを再定義できます。


「次のナビゲーション・データ・ブロック」プロパティ

  関連項目	  全プロパティ

説明

このブロックについて「次のナビゲーション・データ・ブロック」と定義されているブロック名を指定します。デフォルトでは、次のナビゲーション・ブロックは、オブジェクト・ナビゲータのブロック・リストに表示される順序番号がそのフォームで次に大きいブロックです。ただし、このプロパティを設定して、ナビゲーションのためにブロックの「次」のブロックを再定義できます。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

オブジェクト・ナビゲータのブロック・リストに表示される順序番号が次に大きいブロックの名前

必須/オプション　オプション

使用上の注意

このプロパティの値を変更しても、「NextBlock」プロパティの値は変わりません。


「次ナビゲーション項目」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

この現行の項目について「次ナビゲーション項目」と定義されている項目名を指定します。デフォルトでは、次のナビゲーション項目は、オブジェクト・ナビゲータに項目リストとして表示される順序番号が次に大きい項目です。ただし、このプロパティを設定して、ナビゲーションのために「次項目」を再定義できます。

適用されるオブジェクト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

「NULL」。順序番号が次に大きい項目の名前です。


「次ナビゲーション項目」プロパティの制限事項

「次ナビゲーション項目」プロパティに指定する項目は、現行の項目と同じブロックにあることが必要です。


「NextBlock」プロパティ

  関連項目	  全プロパティ

説明

オブジェクト・ナビゲータのブロック・リストに表示される順序番号がそのフォームで次に大きいブロックの名前を表します。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY

使用上の注意

•	GET_BLOCK_PROPERTYビルトインを使用して「First_Block」と「NextBlock」の値を取得すれば、プログラムによってフォーム内のあらゆるブロックに移動できます。

•	現行のブロックより順序番号が大きいブロックがない場合は、「NextBlock」プロパティの値はNULLになります。

•	「次のナビゲーション・データ・ブロック」プロパティの値を変更しても「NextBlock」プロパティの値は変わりません。


「NextItem」プロパティ

  関連項目	  全プロパティ

説明

オブジェクト・ナビゲータの項目リストに表示される順序番号がそのブロックで次に大きい項目の名前を表します。

適用されるオブジェクト項目

設定　設定できません。

参照するビルトイン

GET_ITEM_PROPERTY


「Next_Detail_Relation」プロパティ

  関連項目	  全プロパティ

説明

指定したリレーションと同じディテール・ブロックを含む次のリレーションの名前が戻ります。同じディテール・ブロックを含むリレーションがない場合は、NULL値が戻ります。

適用されるオブジェクト　リレーション

設定　設定できません。

参照するビルトイン

GET_RELATION_PROPERTY

使用上の注意

このプロパティを「FIRST_DETAIL_RELATION」プロパティとともに使用すれば、任意のディテール・ブロックのリレーション・リスト全体を参照できます。


「Next_Master_Relation」プロパティ

  関連項目	  全プロパティ

説明

指定されたリレーションと同じマスター・ブロックを含む次のリレーションの名前が戻ります。同じディテール・ブロックを含むリレーションがない場合は、NULL値が戻ります。

適用されるオブジェクト　リレーション

設定　設定できません。

参照するビルトイン

GET_RELATION_PROPERTY

使用上の注意

このプロパティを「FIRST_MASTER_RELATION」プロパティとともに使用すれば、任意のマスター・ブロックのリレーション・リスト全体を参照できます。


「表示項目数」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

項目がマルチレコード・ブロック内にある場合に、表示する項目の項目インスタンスの数を指定します。

「表示項目数」の設定「>0」は「表示レコード数」ブロック・プロパティを上書きします。

適用されるオブジェクト項目

設定方法  Form Builder

デフォルト

0(ゼロ)。「表示レコード数」ブロック・プロパティの値と同じ数のみ項目インスタンスが表示されます。

必須/オプション　オプション

使用上の注意

マルチレコード・ブロックの一部として、単一のボタン、チャート、OLE項目、イメージ、VBXコントロール（16ビットのMicrosoft Windowsの場合）およびActiveXコントロール（32ビットのWindowsの場合）を作成する場合は、「表示ブロック数」プロパティを使用します。たとえば、「表示ブロック数」プロパティを5に設定して、マルチレコード・ブロックを作成し、さらにそのブロックにボタンを作成すれば、デフォルトで各レコードにボタンが5つ作成されます。ボタンを1つのみ作成するには、「表示ブロック数」プロパティを1に設定します。


「表示項目数」プロパティの制限事項

「表示項目数」プロパティの値は「表示レコード数」ブロック・プロパティの値以下に設定する必要があります。


「バッファ・レコード数」プロパティ

 制限事項	  全プロパティ

説明

そのブロックでの問合せ中にメモリーにバッファリングするレコード数の最大値を指定します。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL。このプロパティの最小値（「表示レコード数」プロパティの値に3を足した値）。

必須/オプション　オプション

使用上の注意

•	このプロパティの値を超えたレコードは、ディスク上の一時ファイルにバッファリングされます。

•	処理速度を上げるには、バッファリングするレコード数を増やします。

•	メモリの使用量を減らすには、バッファリングするレコード数を減らします。ただし、この場合、ディスクのI/O速度が低下します。

•	問合せの結果、あるいはデータ・エントリ数が多いために、ブロックに多数のレコードが入る可能性がある場合は、「バッファ・レコード数」プロパティの値を増やすと、パフォーマンスが向上します。

•	イメージ項目などの大きな項目を取り出す場合は、各項目のバッファリングに必要なメモリ容量が増えるため、「バッファ・レコード数」プロパティの値を小さくすることを考慮してください。


「バッファ・レコード数」プロパティの制限事項

•	最小値より小さい値を指定すると、値を取得しようとしたときにエラーが戻されます。


「表示レコード数」プロパティ

  全プロパティ

説明

そのブロックに同時に表示できるレコード数の最大値を指定します。デフォルト値は1です。「表示レコード数」プロパティに1より大きい値を指定すると、マルチレコード・ブロックが作成されます。

適用されるオブジェクト　ブロック

設定方法  Form Builder

参照するビルトイン

GET_BLOCK_PROPERTY

デフォルト

1

必須/オプション  必須


「OLEアクティブ・スタイル」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

項目を含むOLEをアクティブ化するイベントを指定します。

適用先　OLE Container

設定方法  Form Builder

デフォルト

ダブルクリック

使用上の注意

このプロパティに設定できる値は次のとおりです。

ダブルクリック	デフォルトのOLEアクティブ化スタイル。OLEオブジェクトをダブルクリックすると、そのOLEオブジェクトがアクティブになります。

フォーカス・イン	OLEオブジェクトにナビゲートすると、そのOLEオブジェクトがアクティブになる。

手動	「OLE」ポップアップ・メニューの「オブジェクト」サブメニューから「編集」または「オープン」を選択すると、OLEオブジェクトがアクティブになります。「OLE ポップアップ・メニュー表示」プロパティが「はい」に、「オブジェクト」メニュー項目が「表示」および「使用可能」に設定されている必要があります。「OLE」ポップアップ・メニューは、OLEオブジェクトにマウス・カーソルを合わせて、マウスの右ボタンを押すと表示されます。

「OLEポップアップ・メニュー表示」プロパティが「はい」に、「オブジェクト」メニュー項目が「表示」および「使用可能」に設定されている場合は、「OLE アクティブ・スタイル」を「ダブル・クリック」または「フォーカス・イン」に設定すれば、「OLE」ポップアップ・メニューを使用してOLEオブジェクトを手動でアクティブ化することもできます。


「OLEアクティブ・スタイル」プロパティの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


「OLEクラス」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

OLEコンテナに挿入できるOLEオブジェクトのクラスを指定します。このプロパティに設定できる値は次のとおりです。

NULL	デフォルトのOLEクラス。OLEコンテナ内の登録データベースに指定されたすべてのOLEオブジェクト・クラスを挿入できます。

NULL以外	指定したクラスのOLEオブジェクトのみが、実行時にOLEコンテナに挿入される。選択できるOLEオブジェクト・クラスは、登録データベース内の情報によって決まります。また、登録データベース内の情報は、使用しているコンピュータにインストールされているOLEサーバー・アプリケーションによって異なります。

適用先　OLE Container

設定方法  Form Builder

デフォルト

NULL

使用上の注意

エンドユーザーがOLEコンテナ内の現行のOLEオブジェクトを変更でき、しかも特定のクラスのOLEオブジェクトのみは作成できないようにする場合は、このプロパティに任意のクラスを指定します。


「OLEクラス」プロパティの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


「OLE In-place Activation」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

埋込みOLEオブジェクトを編集するときにOLEインプレース・アクティブ化を使用するかどうかを指定します。このプロパティに設定できる値は次のとおりです。

YES	OLEインプレース・アクティブ化をオンに設定します。OLEインプレース・アクティブ化を使用して埋込みOLEオブジェクトが編集されます。また、リンクOLEオブジェクトは外部のアクティブ化操作によってアクティブ化されます。

NO	OLEインプレース・アクティブ化をオフに、外部アクティブ化をオンに設定します。外部アクティブ化を使用して埋込みまたはリンクOLEオブジェクトが編集されます。

適用先　OLE Container

設定方法  Form Builder

デフォルト

NO


「OLE In-place Activation」プロパティの制限事項

•	Microsoft WindowsおよびMacintosh上でのみ有効。


「OLE Inside-Out Support」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

インプレース・アクティブ化中にインサイドアウト・オブジェクト・サポートを埋込みオブジェクトのOLEサーバーに許可するかどうかを指定します。インサイドアウト・アクティブ化では、複数の埋込みオブジェクトがOLEコンテナ内に編集ウィンドウを1つ持つことができます。このプロパティに設定できる値は次のとおりです。

YES	「OLE In-place Activation」プロパティが「はい」に設定された埋込みオブジェクトのインサイドアウト・オブジェクト・サポートをオンに設定します。

NO	「OLE In-place Activation」プロパティが「はい」に設定された埋込みオブジェクトのインサイドアウト・オブジェクト・サポートをオフに設定します。

適用先　OLE Container

設定方法  Form Builder

デフォルト

YES


「OLE Inside-Out Support」プロパティの制限事項

•	Microsoft WindowsおよびMacintosh上でのみ有効。


「OLEポップアップ・メニュー項目」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

OLEオブジェクトにマウス・カーソルを合わせてマウスの右ボタンを押したときに、どのOLEポップアップ・メニュー・コマンドを表示し使用可能にするかを指定します。OLEポップアップ・メニュー・コマンドはOLEオブジェクトを操作するためのコマンドです。OLEポップアップ・メニュー・コマンドとそのアクションは次のとおりです。

OLEポップアップ・メニュー・コマンド	対策
カット	OLEオブジェクトを切り取って、クリップボードに貼り付ける。
コピー	OLEオブジェクトをコピーして、クリップボードに貼り付ける。
ペースト	クリップボードの中身をOLEコンテナ貼り付ける。
特別ペースト	クリップボードのOLEオブジェクトをOLEコンテナに元のフォーマットとは違うフォーマットで貼り付ける。
オブジェクト挿入	OLEコンテナにOLEオブジェクトを挿入します。
オブジェクト削除	OLEコンテナからOLEオブジェクトを削除します。
リンク	リンクの更新方法およびリンクされたソース・ファイルの編集、リンク先ソース・ファイルの変更方法を設定するためのダイアログを表示します。
オブジェクト	OLEサーバーによって、OLEオブジェクト上でさまざまな操作を実行できる。たとえば、OLEオブジェクトのオープン、OLEオブジェクトの編集、OLEオブジェクトのフォーマットの変換などの操作が実行できます。
適用先　OLE Container

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

すべてのメニュー・コマンドの「表示」および「使用可能」オプションがオンに設定されます。

必須/オプション  必須

使用上の注意

•	Form Builderでは、チェックボックスを選択するのみで、OLEポップアップ・メニュー・コマンドごとに次の2つを指定できます。

表示	選択したメニュー・コマンドを表示するかどうか。

使用可能	「表示」をオンに設定したメニュー・コマンドを使用可能にするかどうか。使用して設定した項目はグレー表示されます。

•	Form BuilderではOLEポップアップ・メニュー・コマンドのプロパティを設定できるのみでなく、OLEポップアップ・メニュー・コマンドのプロパティをプログラムによって設定したり取得したりできます。プログラムによってOLEポップアップ・メニュー・コマンドのプロパティを設定または取得する場合は、各メニュー・コマンドに対応するプログラム用のプロパティ名を使用します。OLEポップアップ・メニュー・コマンドと対応するプログラム用プロパティ名は、次のとおりです。

メニュー・コマンド	プログラム用プロパティ名
カット	POPUPMENU_CUT_ITEM
コピー	POPUPMENU_COPY_ITEM
ペースト	POPUPMENU_PASTE_ITEM
特別ペースト	POPUPMENU_PASTESPEC_ITEM
オブジェクト挿入	POPUPMENU_INSOBJ_ITEM
オブジェクト削除	POPUPMENU DELOBJ ITEM
リンク	POPUPMENU_LINKS_ITEM
オブジェクト	POPUPMENU_OBJECT_ITEM
プログラムを使用して前述のOLEポップアップ・メニュー・コマンド・プロパティを次のいずれかの値に設定できます。

DISPLAYED	DISPLAYEDOLEポップアップ・メニュー・コマンドを表示し、使用可能に設定します。

使用可能	ポップアップ・メニュー・コマンドを表示し、使用不可に設定します。使用して設定した項目はグレー表示されます。

HIDDEN	OLEポップアップ・メニュー・コマンドはOLEポップアップ・メニューに表示されない。表示されないコマンドは使用可能になりません。

•	プログラムによって値を設定できるのみでなく、各OLEポップアップ・メニュー・コマンドの次に示す値を取得することもできる。

DISPLAYED	OLEポップアップ・メニュー・コマンドが表示され使用可能のときに値が戻る。

使用可能	OLEポップアップ・メニュー・コマンドが表示され使用不可のときに値が戻る。使用して設定した項目はグレー表示されます。

HIDDEN	OLEポップアップ・メニュー・コマンドがOLEポップアップ・メニューに表示されないときに値が戻ります。表示されないコマンドは使用可能になりません。

サポートなし	OLEポップアップ・メニューがサポートされていないときに値が戻ります。Microsoft Windows以外のプラットフォームでは、常にこの値が戻ります。


「OLEポップアップ・メニュー項目」プロパティの制限事項

Microsoft Windowsにおいてのみ有効です。


「OLEサイズ変更スタイル」プロパティ;

 制限事項	  全プロパティ

説明

OLEコンテナ内にOLEオブジェクトをどのようなサイズで表示するかを指定します。このプロパティに設定できる値は次のとおりです。

クリップ	デフォルトのOLEサイズ変更スタイル。OLEコンテナのサイズに合わせてOLEオブジェクトが切り取られます。

スケール	OLEコンテナのサイズに合わせてOLEオブジェクトのサイズが変更されます。

初期	作成時にOLEオブジェクトのサイズに合わせてOLEコンテナのサイズが変更されます。

ダイナミック	OLEオブジェクトのサイズを変更すると、自動的にOLEオブジェクトに合わせてOLEコンテナのサイズが変更されます。

適用先　OLE Container

設定方法  Form Builder

必須/オプション  必須

デフォルト

クリップ


「OLEサイズ変更スタイル」プロパティの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


「OLEテナント形態」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

OLEコンテナ内にOLEオブジェクトをどのように表示するかを指定します。

適用先　OLE Container

設定方法  Form Builder

デフォルト

コンテント

使用上の注意

このプロパティに設定できる値は次のとおりです。

コンテント	このプロパティのデフォルト値。OLEコンテナにOLEオブジェクトの内容を表示します。OLEオブジェクトの内容は、「OLEサイズ変更スタイル」プロパティの値により、クリップされたりサイズ変更されたり、また内容全体が表示されたりします。

アイコン	OLEコンテナにOLEオブジェクトのアイコンを表示します。デフォルトでは、OLEオブジェクトを作成したOLEサーバー・アプリケーションを表すアイコンが表示されます。「オブジェクトの挿入」ダイアログを使用すれば、使用するアイコンを選択できます。

縮小プレビュー	OLEコンテナにOLEオブジェクトを縮小して表示します。

•	OLEオブジェクト・タイプはデータベースのLONG RAW列に保存されます。データベースからOLEオブジェクトに対して問合せを実行する場合は、そのオブジェクトの「OLEテナント形態」プロパティがデータベースに保存されているOLEオブジェクトと同じ値に設定されていることを確認してください。データベースに保存されているOLEオブジェクトの「OLEテナント形態」プロパティの値が問合せ対象のOLEオブジェクトの値と異なる場合は、そのオブジェクトを含むレコードが自動的にロックされます。


「OLEテナント形態」プロパティの制限事項

Microsoft Windowsにおいてのみ有効です。


「OLE テナント・タイプ」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

OLEコンテナのテナントにできるOLEオブジェクトのタイプを指定します。このプロパティに設定できる値は次のとおりです。

任意	このプロパティのデフォルト値。すべてのタイプのOLEオブジェクトをOLEコンテナのテナントにできます。

なし	OLEコンテナにオブジェクトを挿入できません。

スタティック	静的OLEオブジェクトのみをOLEコンテナのテナントにできます。静的OLEオブジェクトは、ソースとのリンクが切断されたリンクOLEオブジェクトのスナップショット・イメージです。したがって、静的OLEオブジェクトは変更できません。

埋込み	埋込みOLEオブジェクトのみをOLEコンテナのテナントにできます。

リンク	リンクOLEオブジェクトのみをOLEコンテナのテナントにできます。

適用先　OLE Container

設定方法  Form Builder

デフォルト

任意


「OLEテナント・タイプ」の制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


「Operating_System」プロパティ

  関連項目	  全プロパティ

説明

現在のオペレーティング・システムの名前（Microsoft WINDOWS、WIN32COMMON、UNIX、Sun OS、MACINTOSH、VMS、HP-UXなど）を表します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

使用上の注意

このプロパティの戻り値はプラットフォームごとに異なります。したがって、前述以外のプラットフォームを使用している方は、使用しているオペレーティング・システムのForm Builderマニュアルを参照してください。


「Optimizer_Hint」プロパティ

  全プロパティ

説明

問合せ組立て時にRDBMSオプティマイザに渡すヒント文字列を指定します。オプティマイザを使用すると、データベースのトランザクション処理のパフォーマンスが向上します。

適用されるオブジェクト　ブロック

設定方法　Designer、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

制限事項:

このプロパティはOracle7またはOracle8 Serverを使用するアプリケーションのみに有効です。

使用上の注意

DEPT表に基づくDeptBlockという名前のブロックを含むフォームを考えてみましょう。エンドユーザーが基準の「> 25」をDEPTNO列に入力して問合せを実行すると、Form Builderが生成してデータベースから適切な行を問い合わせるデフォルトSELECT文は、次のようになります。

SELECT DEPTNO,DNAME,LOC,ROWID
FROM DEPT
WHERE (DEPTNO > 25)

応答時間が最も短くなるようにSQL文を最適化するようOracle7 ServerまたはOracle8 Serverに要求するには、次のようにSET_BLOCK_PROPERTYビルトインを使用して「Optimizer_Hint」プロパティを設定します。

Set_Block_Property('DeptBlock',OPTIMIZER_HINT,'FIRST_ROWS');
SELECT /*+ FIRST_ROWS */ DEPTNO,DNAME,LOC,ROWID
FROM DEPT
WHERE (DEPTNO > 25)

この機能の使用方法の詳細は、次のマニュアルを参照してください。

•	『Oracle7 Serverアプリケーション開発者ガイド』の第5章「SQL文のチューニング」

•	『Oracle7 Server概要』の第1章「オプティマイザ」


「Order By」プロパティ

説明

「WHERE句」プロパティ/「ORDER BY句」プロパティを参照してください。


「その他のレポート・パラメータ」プロパティ

  全プロパティ

説明

レポートの実行時に取り込むパラメータの<keyword>=<value>リストです。有効なパラメータのリストは、Report Builderオンライン・ヘルプのキーワード一覧を参照してください。

適用されるオブジェクト　Report Builderレポート

設定方法  Form Builder

デフォルト

ブランク

必須/オプション　オプション

使用上の注意:

WHERE句で複数語パラメータを渡すときは、WHERE句全体を一重引用符で囲む必要があります。このような複数語パラメータに名前が表示される場合は、その名前の開始と終了に一重引用符を2つずつ使用します。たとえば、「ename = 'MILLER'」というパラメータ値を渡すときには、次のようにコード化する必要があります。

'where ename = ''MILLER'''


Output_Date/Datetime_Formatプロパティ

  関連項目	  全プロパティ

説明

環境変数FORMSnn_OUTPUT_DATE_FORMATまたはFORMSnn_OUTPUT_DATETIME_FORMATで設定された現在の出力日付またはdatetime書式マスクを保持します。Formsではこの書式マスクをランタイム出力処理時にデフォルトとして使用します。

次の2種類のプロパティがあります。Output_Date_FormatおよびOutput_Datetime_Format

適用されるオブジェクト　アプリケーション

設定　Form Builder内では設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY


「パラメータ・データ型」プロパティ

  関連項目	  全プロパティ

説明

Form Builderで許可する入力値の種類と、その値をどのように表示するかを指定します。

適用されるオブジェクト　チェックボックス、図表項目、リスト項目、ラジオ・グループ、テキスト項目、カスタム項目、フォーム・パラメータ

注意: 項目タイプごとに適用されるデータ型が異なります。

設定方法  Form Builder

使用上の注意

•	標準データ型CHAR、DATE、LONG、NUMBERのみを使用することをお薦めします。これらのデータ型はOracle本来のデータ型に基づいているため、パフォーマンスとアプリケーションの移植性に優れています。その他のデータ型を使用できるのはテキスト項目のみです。これらのデータ型は旧バージョンとの互換性を確保する目的で用意されています。標準データ型に適切な書式マスクを適用すれば、これらのデータ型と同じ書式を生成できます。

•	実表項目のデータ型は、対応するデータベースの列のデータ型と互換性があることが必要です。Oracle VARCHAR2データベースの列に対応する項目には、CHARデータ型を使用してください。

•	データベースのCHAR列に対応する項目が問合せで使用される場合、あるいはマスター/ディテール・リレーションを作成する結合条件として使用される場合は、その項目を作成しないでください。このような場合は、VARCHAR2データベースの列を使用してください。

•	必要があれば、Form Builderによって項目上で次のアクションが実行される。

•	後続するスペースがあれば削除します。

•	中身がすべてブランクの項目はNULLに変更します。

•	データ型がNUMBER、INTEGER、MONEY、RINTEGER、RMONEYまたはRNUMBERの場合、（項目の書式マスクが先行ゼロを許可しないかぎり）先行ゼロを削除します。

•	フォーム・パラメータの「パラメータ・データ型」プロパティでサポートされるデータ型は、CHAR、DATE、NUMBER。

ALPHA

文字のあらゆる組合わせ（大文字と小文字、大文字のみ、小文字のみ）。

デフォルト	ブランク
例	「Employee」、「SMITH」
CHAR

VARCHAR2では最大2000文字まで使用できます。次の文字のあらゆる組合わせです。

•	文字（大文字と小文字、大文字のみ、小文字のみ）

•	数値

•	ブランク

•	特殊文字 ($, #, @, _)

デフォルト	ブランク
例	「100 Main Street」、「CHAR_EXAMPLE_2」
DATE

有効な日付です。項目の書式マスクを変更して、その他の有効な書式のDATE項目を表示できます。

デフォルト	YY-MM-DD
制限事項	DATE項目はデータベースのDATE列を参照し、文字列ではなく、実際の日付として処理されます。
DATEデータ型では、ゼロ時コンポーネントも使用できます。
例	01-JAN-92
DATETIME

有効な日時です。

デフォルト	DD-MON-YY HH24:MI[:SS]
制限事項	DATE項目はデータベースのDATE列を参照し、文字列ではなく、実際の日付として処理されます。
	DATETIMEデータ型の年データは4桁です。DATETIMEデータ型に年データを2桁のみ入力すると、00YYと解釈されます。
例	31-DEC-88 23:59:59
EDATE

有効な欧州の日付です。

デフォルト	DD/MM/YY
制限事項	V3データ型。
	データベースのNUMBER列を参照する必要があります。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	DATEデータ型を使用します。
	書式マスクを適用して、欧州日付書式を生成します。
	データベースのNUMBER列でなくDATE列を参照します。
例	23/10/92 (October 23, 1992)
	01/06/93 (June 1, 1993)
INT

すべての整数（符号付きまたは符号なし）

デフォルト	0
例	1, 100, -1000
JDATE

有効なユリウス暦です。

デフォルト	MM/DD/YY
制限事項	V3データ型。
	データベースのNUMBER列を参照する必要があります。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	DATEデータ型を使用します。
	書式マスクを適用して、ユリウス暦書式を作成します。
	データベースのNUMBER列でなくDATE列を参照します。
例	10/23/92 (October 23, 1992)
	06/01/93 (June 1, 1993)
LONG

文字のあらゆる組み合わせ。最大65,534文字。Oracleデータベースには可変長文字列として格納されます。

デフォルト	ブランク
制限事項	SELECT文のWHERE句やORDER BY句内での参照には一切使用できません。
	「問合せ入力」モードでLONG項目に対して問合せを実行することはできません。
MONEY

金額を表す符号付きまたは符号なし数値。

制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、数値に書式マスクを適用して金額データを生成してください。
例	10.95, 0.99, -15.47
NUMBER

1.0x10-129 ～ 9.99x10124 の固定または浮動小数点数。このデータ型の特徴は次のとおりです。

•	符号付き

•	符号なし

•	小数点を含む

•	正規表記法で表される

•	科学表記法で表される

•	精度最大38桁

NUMBER項目はデータベースのNUMBER列を参照し、Form Builderによって文字列ではなく実際の数値として処理されます。

デフォルト	0
制限事項	数値項目には99,999のようなカンマは入力できません。カンマを使用する場合は、書式マスクを使用してください。
例	-1, 1, 1.01, 10.001, 1.85E3
RINT

整数値を右揃えで表示します。

制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	NUMBERデータ型を使用します。
	999などの書式マスクを適用して、右揃え数値を生成します。
RMONEY

MONEYの値を右揃えで表示します。

制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	NUMBERデータ型を使用します。
	$999.99などの書式マスクを適用して、右揃え数値を生成します。
RNUMBER

NUMBERの値を右揃えで表示します。

制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	NUMBERデータ型を使用します。
	999.999などの書式マスクを適用して、右揃え数値を生成します。
TIME

時刻を表す数値とコロン。このデータ型はデータベースのNUMBER列を参照します。

デフォルト	HH24:MI[:SS]
制限事項	V3データ型。
	このデータ型は旧バージョンとの互換性を確保するためのものです。その他の目的で使用する場合は、次の推奨事項に従ってください。
	DATETIMEデータ型を使用します。
	書式マスクを適用して時間のみを生成します。
	このデータ型はデータベースのDATE列への参照では一切使用できない。
例	:10:23:05
	21:07:13


「パラメータの初期値」（フォーム・パラメータ）プロパティ

  関連項目	  全プロパティ

説明

フォーム起動時にパラメータに割り当てる値を指定します。

適用されるオブジェクト　フォーム・パラメータ

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション

使用上の注意

このプロパティには、有効なすべての定数を指定できます。


「メニュー・パラメータ初期値」（メニュー置換パラメータ）プロパティ

  関連項目	  全プロパティ

説明

フォーム起動時にパラメータに割り当てる値を指定します。

設定方法  Form Builder

必須/オプション  必須


「Password」プロパティ

  関連項目 [image]  全プロパティ

説明

現行のエンドユーザーのパスワードを表します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

使用上の注意

「Password」プロパティにはパスワードのみが戻ります。接続文字列も知りたい場合は、「接続文字列」プロパティの値を調べてください。


「PLSQL_Date_Format」プロパティ

  関連項目	  全プロパティ

説明

このプロパティは、次に挙げる場合にFormsで（トリガーまたは呼出し先のファンクションやプロシージャに対して）PL/SQLを実行するときに日付値の変換に使用される書式マスクを決定します。

•	明示的な書式マスクを伴わないTO_DATE（char_value）またはTO_DATE（date_value）を評価します

•	CHAR値を日付変数に割り当てる、またはその逆の割り当てを行います

適用されるオブジェクト　Formsアプリケーション全体（グローバル値）

設定方法  プログラム

参照するビルトイン

•	GET_APPLICATION_PROPERTY built-in

•	SET_APPLICATION_PROPERTY built-in

必須/オプション  オプション。ただし、新規アプリケーションに関しては、完全な世紀情報および時間情報を含む書式マスクをこのプロパティに設定しておくことを強くお薦めします。また、この書式マスクは、「Builtin_Date_Format」プロパティで指定されているものと同一にすることをお薦めします。

デフォルト

すでに述べたように、新規アプリケーションに対してはこの値を明示的に設定することを強くお薦めします。設定しない場合、デフォルトの値はDD-MON-YYになります（これは、リリース4.5およびそれ以前との互換性を考慮した値です）。

他のOracle製品との互換性

Form Builder以外のOracle製品において、PL/SQLバージョン2は必ずしも、DD-MON-YYのデフォルトの書式マスクを使用するとは限りません。その代わりに、現在のNLS環境から継承された書式マスクが使用されるのが一般的です。何らかの理由により、Formsアプリケーションにおいて書式マスクを現在のNLS環境から継承させる場合、「USER_NLS_DATE_FORMAT」アプリケーション・プロパティを使用して現在のNLS日付書式マスクを取得し、それをアプリケーションの「PLSQL_DATE_FORMAT」プロパティに割り当てることができます。


「PL/SQLライブラリの位置」プロパティ

  関連項目	  全プロパティ

説明

連結されるPL/SQLライブラリの場所を示します。

このプロパティは、FormsモジュールにPL/SQLライブラリを連結するときに設定されます。ユーザーがディレクトリ・パスを保持するよう求めた場合、このプロパティの値はライブラリの完全パス名になります。ディレクトリ・パスの削除を求めた場合には、このプロパティの値は単なるライブラリ名になります。

このプロパティは、情報としてのみ表示されます。これはプロパティ・パレットを使用した設定や変更ができません。

適用されるオブジェクト　PL/SQLライブラリ

設定方法  Form Builder

必須/オプション　表示のみ

デフォルト　なし


「PL/SQLライブラリのソース」プロパティ

  関連項目	  全プロパティ

説明

このプロパティは、FormsモジュールにPL/SQLライブラリを連結するときに設定されます。これによりPL/SQLライブラリのソースが「ファイル」または「データベース」のどちらであるかが示されます。

このプロパティは、情報としてのみ表示されます。これはプロパティ・パレットを使用した設定や変更ができません。

適用されるオブジェクト　PL/SQLライブラリ

設定方法  Form Builder

必須/オプション　表示のみ

デフォルト　ファイル


「ポップアップ・メニュー」プロパティ

 制限事項	  全プロパティ

説明

キャンバスや項目に表示されるポップアップ・メニューを表します。

適用されるオブジェクト　キャンバスおよび項目

設定　設定できません。

必須/オプション　オプション

デフォルト

NULL

参照するビルトイン

•	GET_MENU_ITEM_PROPERTY

•	SET__MENU_ITEM_PROPERTY

注意: ポップアップ・メニューの場合、有効なプロパティの値は「ENABLED」、「DISABLED」および「LABEL」です。


「ポップアップ・メニュー」プロパティの制限事項

•	ポップアップ・メニューは現行のフォーム・モジュール内に定義されている必要があります。

•	個々のラジオ・ボタンにはポップアップ・メニューを追加できませんが、ラジオ・グループにはポップアップ・メニューを割り当てられます。


「サマリーの予備計算」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

データ・ブロックの「サマリー結果項目」すべての値を、ブロックの標準問合せが発行される前に計算するかどうかを指定します。Form Builderによって、サマリー項目の（データベース内の）すべてのレコードを選択して、すべてのレコード上でサマリー操作（総和、カウントなど）を実行する、特殊な問合せが発行されます。

適用されるオブジェクト　ブロック

設定方法  Form Builder

必須/オプション  必須になるのは、ブロックにサマリー項目があり、ブロックの「全レコードの問合せ」プロパティを「いいえ」に設定している場合です。

デフォルト

いいえ

使用上の注意

「サマリーの予備計算」を「はい」に設定しているブロックでエンド・ユーザーが問合せを実行する際に、Form Builderは、特殊な問合せの実行前に事前問合わせトリガー(定義があれば)を1回起動します。事前選択トリガーは、（定義があれば）2回、つまり、特殊な問合せの実行前に1回、標準問合せの実行前に1回起動されます。


「サマリーの予備計算」プロパティの制限事項

•	次のいずれかが真の場合には、「サマリーの予備計算」を「はい」に設定することはできません。(1)ブロックにサマリー制御項目がある。(2)最小または最大操作がブロック内のサマリー項目で実行される。(3)ブロックの「問合せデータ・ソース・タイプ」が「プロシージャ」または「トランザクション・トリガー」(表または副問合せであることが必要です)。(4)ブロックに、チェックボックス項目、リスト項目または「Other Values」プロパティが空のラジオ・グループがある。

•	読取り一貫性が保証されるのは次の2点が満たされている場合のみです。(1) そのフォームで使用しているデータベースがOracle7.3である。(2) フォーム・レベルの「アイソレーション・モード」プロパティが「直列可能」に設定されている。


「マスターなし操作防止」プロパティ

  関連項目	  全プロパティ

説明

エンドユーザーにマスター/ディテール・リレーションのディテール・ブロックであるブロックへの問合せやレコードの挿入を許可するかどうかを指定します。「はい」に設定すると、マスター・ブロックにマスター・レコードがないときにディテール・ブロックにレコードを挿入したり、データベースから取り出されたマスター・ブロックがないときにディテール・ブロック内のレコードに対して問合せを実行したりすることができなくなります。

「マスターなし操作防止」が「はい」に設定されている場合は、エンドユーザーがレコードを挿入したりレコードに対して問合せを実行しようとすると、Form Builderによって次のようなメッセージが表示されます。

FRM-41105：:FRM-41105: 親レコードがなければ、レコードの作成はできません。
FRM-41106：:FRM-41105: 保存済み親レコードがなければ、レコードの問合せはできません。

適用されるオブジェクト　リレーション

設定　Form Builder、プログラム

参照するビルトイン

•	GET_RELATION_PROPERTY

•	SET_RELATION_PROPERTY

デフォルト

いいえ


「前のナビゲーション・データ・ブロック」プロパティ

  関連項目	  全プロパティ

説明

このブロックについて「前のナビゲーション・データ・ブロック」と定義されているブロック名を指定します。デフォルトでは、前のナビゲーション・ブロックは、オブジェクト・ナビゲータのブロック・リストに表示される順序番号がそのフォームで次に小さいブロックです。ただし、このプロパティを設定して、ナビゲーションのためにブロックの「前」のブロックを再定義できます。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

そのフォームで順序番号が次に小さいブロックの名前

必須/オプション　オプション

使用上の注意

このプロパティの値を変更しても、「Previous Block」プロパティの値は変わりません。


「前ナビゲーション項目」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

現項目で「前のナビゲーション項目」と定義されている項目名を指定します。デフォルトでは、前のナビゲーション項目は、オブジェクト・ナビゲータの項目リストに表示される順序番号がそのフォームで次に小さい項目です。ただし、このプロパティを設定して、ナビゲーションのために「前項目」を再定義できます。

適用されるオブジェクト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

「NULL」。そのフォームで順序番号が次に小さい項目です。

必須/オプション　オプション


「前ナビゲーション項目」プロパティの制限事項

「前ナビゲーション項目」プロパティに指定する項目は、現行の項目と同じブロックにする必要があります。


「PreviousBlock」プロパティ

  関連項目	  全プロパティ

説明

オブジェクト・ナビゲータのブロック・リストに表示される順序番号がそのフォームで次に小さいブロックの名前を表します。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY

必須/オプション　オプション

使用上の注意

•	このプロパティを「First_Block」フォーム・プロパティや「Last_Block」フォーム・プロパティとともに使用すれば、ブロック・リスト全体を参照できます。

•	現行のブロックより順序番号が小さいブロックがない場合は、「Previous Block」プロパティの値はNULLになります。

•	「前ナビゲーション・データ・ブロック」プロパティの値を変更しても「Previous Block」プロパティの値は変わりません。


「PreviousItem」プロパティ;

  関連項目	  全プロパティ

説明

オブジェクト・ナビゲータの項目リストに表示される順序番号がそのブロックで次に小さい項目の名前を表します。

適用されるオブジェクト項目

設定　設定できません。

参照するビルトイン

GET_ITEM_PROPERTY

必須/オプション　オプション


「主キャンバス」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

ウィンドウの主コンテント・ビューとなるキャンバスを指定します。実行時には常に、Form Builderによってウィンドウへの主コンテント・ビューの表示が試みられます。たとえば、SHOW_WINDOWビルトイン・プロシージャを実行してそのセッションで初めてウィンドウを表示すると、Form Builderによって主コンテント・ビューを含むウィンドウが表示されます。

しかし、そのビューの項目にナビゲートしたために、主コンテント・ビューがターゲット・ビューに置き換えられた場合は、Form Builderを使用して主コンテント・ビューとは異なるビューを表示する必要があります。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

NULL

必須/オプション　ウィンドウに割り当てられたキャンバス上の項目へのナビゲーションに対する応答ではなく、プログラムによりウィンドウを表示する場合は必須。


「主キャンバス」プロパティの制限事項

このプロパティに指定できるビューは、コンテント・ビュー（「キャンバス・タイプ」プロパティが「コンテント」に設定されたビュ－）のみであり、指定されたウィンドウ（「ウィンドウ」キャンバス・プロパティで設定）に割り当てられている必要があります。


「主キー」（項目）プロパティ

 制限事項	    関連項目	  全プロパティ

説明

その項目がデータ・ブロックの実表項目であるかどうか、また、実表の主キー列に対応しているかどうかを指定します。Form Builderでは、主キー項目の値は一意にする必要があります。

適用されるオブジェクト  ボタン、チャート項目、イメージ項目を除くその他すべての項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

必須/オプション　オプション


「主キー」（項目）プロパティの制限事項

「主キーの強化」ブロック・プロパティは、項目を所有するブロックについて「はい」に設定している必要があります。


「プログラム・ユニット・テキスト」プロパティ

  全プロパティ

説明

プログラム・ユニットに含まれるPL/SQLコードを指定します。プロパティ・パレットで「詳細_」をクリックすると、プログラム単位エディタが起動されます。

適用されるオブジェクト　プログラム・ユニット

設定方法  Form Builder

必須/オプション  必須


「プロンプト」プロパティ

 全プロパティ [image] プロンプト・プロパティ

説明

その項目に表示するテキスト・ラベルを指定します。

適用されるオブジェクト　項目プロンプト

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

ブランク

必須/オプション　オプション


「プロンプト整列」プロパティ

 全プロパティ  [image] プロンプト・プロパティ

説明

プロンプトが項目の「始点」、「終点」または「中央揃え」枠にそってどのように揃えられるかを指定します。

適用されるオブジェクト　項目プロンプト

設定方法  Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Alignment」のようにスペースをアンダースコアに置換します）。

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

始点

必須/オプション  必須


「プロンプト整列オフセット」プロパティ

 全プロパティ  [image] プロンプト・プロパティ

説明

プロンプトの整列オフセットを指定します。

適用されるオブジェクト　項目プロンプト

設定方法  Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Alignment_Offset」のようにスペースをアンダースコアに置換します）。

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

ブランク

必須/オプション　オプション


「プロンプト連結枠」プロパティ

 全プロパティ  [image] プロンプト・プロパティ

説明

プロンプトを連結する枠、つまり「始点」、「終点」、「上」、「下」のいずれかを指定します。

適用されるオブジェクト　項目プロンプト

設定方法  Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Attachment_Edge」のようにスペースをアンダースコアに置換します）。

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

始点

必須/オプション  必須


「プロンプト連結オフセット」プロパティ

 全プロパティ  [image] プロンプト・プロパティ

説明

項目と項目のプロンプトとの間隔を指定します。

適用されるオブジェクト　項目プロンプト

設定方法  Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Attachment_Offset」のようにスペースをアンダースコアに置換します）。

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

ブランク

必須/オプション　オプション


「プロンプトのバックグラウンド・カラー」プロパティ

  関連項目	  全プロパティ	  プロンプト・プロパティ

説明

オブジェクトまたはバックグラウンド領域のカラーを指定します。

適用先  項目プロンプト、ラジオ・ボタン

設定方法  Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Background_Color」のようにスペースをアンダースコアに置換します）。

デフォルト

指定なし

必須/オプション　オプション

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


「プロンプト表示スタイル」プロパティ

 全プロパティ  [image] プロンプト・プロパティ

説明

プロンプトの表示スタイルを指定します。

最初のレコード	最初のレコードの横にプロンプトが表示される。

•	隠しプロンプトは表示されません。

全レコード	各レコードの横にプロンプトが表示されます。

適用されるオブジェクト　項目プロンプト

設定方法  Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Display_Style」のようにスペースをアンダースコアに置換します）。

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

最初のレコード

必須/オプション  必須


「プロンプトの塗りパターン」プロパティ

  関連項目	  全プロパティ	  プロンプト・プロパティ

説明

オブジェクトの塗り領域に使用されるパターンを指定します。パターンは、「Background_Color」プロパティおよび「Foreground_Color」プロパティで指定された2つのカラーでレンダリングされます。

適用先  項目、項目プロンプト、ラジオ・ボタン

設定方法  Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Fill_Pattern」のようにスペースをアンダースコアに置換します）。

デフォルト

指定なし

必須/オプション　オプション

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


「プロンプトのフォント名」プロパティ

  関連項目	  全プロパティ	  プロンプト・プロパティ

説明

オブジェクト内のテキストに使用されるフォント・ファミリ、または書体を指定します。どのようなフォントが使用できるかはシステムによって異なります。

適用先  項目、項目プロンプト、ラジオ・ボタン

設定方法   Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Font_Name」のようにスペースをアンダースコアに置換します）。

デフォルト

指定なし

必須/オプション　オプション

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


「プロンプトのフォント・サイズ」プロパティ

  関連項目	  全プロパティ	  プロンプト・プロパティ

説明

ポイント数で指定されるフォントのサイズ。

適用先  項目、項目プロンプト、ラジオ・ボタン

設定方法   Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Font_Size」のようにスペースをアンダースコアに置換します）。

デフォルト

指定なし

必須/オプション　オプション

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


「プロンプト・フォントの間隔」プロパティ

  関連項目	  全プロパティ	  プロンプト・プロパティ

説明

フォントの幅（文字間のスペースの大きさ、またはカーニング）を指定します。

適用先  項目、項目プロンプト、ラジオ・ボタン

設定方法   Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Font_Spacing」のようにスペースをアンダースコアに置換します）。

デフォルト

指定なし

必須/オプション　オプション

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


「プロンプトのフォント・スタイル」プロパティ

  関連項目	  全プロパティ	  プロンプト・プロパティ

説明

フォントのスタイルを指定します。

適用先  項目、項目プロンプト、ラジオ・ボタン

設定方法   Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Font_Style」のようにスペースをアンダースコアに置換します）。

デフォルト

指定なし

必須/オプション　オプション

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


「プロンプトのフォントの太さ」プロパティ

  関連項目	  全プロパティ	  プロンプト・プロパティ

説明

フォントの幅を指定します。

適用先  項目、項目プロンプト、ラジオ・ボタン

設定方法   Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Font_Weight」のようにスペースをアンダースコアに置換します）。

デフォルト

指定なし

必須/オプション　オプション

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


「プロンプトのフォアグラウンド・カラー」プロパティ

  関連項目	  全プロパティ	  プロンプト・プロパティ

説明

オブジェクトのフォアグラウンド領域のカラーを指定します。項目については、項目内に表示されるテキストのカラーを定義します。

適用先  項目、項目プロンプト、ラジオ・ボタン

設定方法  Form Builder、プログラム（注意: PL/SQLプログラムでこのプロパティを使用する場合、「Prompt_Foreground_Color」のようにスペースをアンダースコアに置換します）。

デフォルト

指定なし

必須/オプション　オプション

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


「プロンプトの文字位置」プロパティ

 全プロパティ  [image] プロンプト・プロパティ

説明

プロンプトの行の位置を「左揃え」、「右揃え」、「中央揃え」、「始点」または「終点」のいずれかに指定します。

適用されるオブジェクト　項目プロンプト

設定方法  Form Builder

デフォルト

始点

必須/オプション  必須


「プロンプトの読込み順」プロパティ

 全プロパティ  [image] プロンプト・プロパティ

説明

プロンプトの読込み順を、「デフォルト」、「左から右」、「右から左」のいずれかに指定します。

適用されるオブジェクト　項目プロンプト

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

デフォルト

必須/オプション  必須


「プロンプトの可視属性グループ」プロパティ

 全プロパティ  [image] プロンプト・プロパティ

説明

実行時にプロンプトに適用する名前付き可視属性を指定します。

適用されるオブジェクト　項目プロンプト

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

デフォルト

必須/オプション  必須


「Prompt_White_On_Black」プロパティ

  関連項目	 全プロパティ [image] プロンプト・プロパティ

説明

オブジェクトをモノクロのビットマップ表示装置上に、白地のテキストと黒地のバックグラウンドで表示するように指定します。

適用されるオブジェクト　項目、ラジオ・ボタン

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY


「プロパティ・クラス」プロパティ

  関連項目	  全プロパティ

説明

そのオブジェクトがプロパティの設定値を継承できるプロパティ・クラスの名前を指定します。

適用されるオブジェクト　すべてのオブジェクト

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「全レコードの問合せ」プロパティ

  関連項目	  全プロパティ

説明

問合せが実行されたときに、問合せ基準に一致したレコードをすべてフェッチしてデータ・ブロックに挿入するかどうかを指定します。

はい - 問合せからのレコードをすべてフェッチします。これはEXECUTE_QUERY (ALL_RECORDS)ビルトインの実行に相当します。

いいえ - 「問合せ配列サイズ・ブロック」プロパティで指定された数のレコードをフェッチします。

適用されるオブジェクト　ブロック

設定方法  Form Builder

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

いいえ

必須/オプション  データ・ブロックにサマリー対象項目が入っており、ブロックの「サマリーの予備計算」プロパティが「いいえ」に設定されている場合は必須。


「問合せ可」（ブロック）プロパティ

  関連項目	  全プロパティ

説明

エンドユーザーまたはアプリケーションに、このブロック内での問合せの実行を許可するかどうかを指定します。「問合せ可」が「いいえ」の場合は、エンドユーザーがこのブロックで問合せを実行しようとすると、次のメッセージが表示されます。

FRM-40360：ここではレコードの問合せはできません。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

はい

制限事項:

「問合せ可」ブロック・プロパティを「はい」に設定する場合は、少なくともそのブロック内のどれか1つの項目の「問合せ可」項目プロパティが「はい」に設定されている必要があります。


「問合せ可」（項目）プロパティ

 制限事項	    関連項目	  全プロパティ

説明

この項目を所有するブロックの実表に対する問合せに組み込めるようにするかどうかを指定します。

適用されるオブジェクト  ボタン、チャート項目、イメージ項目を除くその他すべての項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

「はい」。ただし、その項目がマスター/ディテール・ブロック・リレーションのディテール・ブロックの外部キーの一部である場合は、Form Builderによってこのプロパティが「いいえ」に設定されます。

使用上の注意

「問合せ可」(項目)プロパティをプログラムによって設定する場合は、定数QUERYABLEを使用します。


「問合せ可」(項目)プロパティの制限事項

•	「可視」プロパティも「はい」に設定する必要があります。

•	データ型LONGの項目は直接問い合わせることができません。


「問合せ配列サイズ」プロパティ

 制限事項	  全プロパティ

説明

データベースから一度にフェッチできるレコード数の最大値を指定します。

適用されるオブジェクト　ブロック

設定方法  Form Builder

参照するビルトイン

GET_BLOCK_PROPERTY

デフォルト

そのブロックに表示できるレコード数、つまり「表示レコード数」ブロック・プロパティに設定されている値

必須/オプション  必須

使用上の注意

このプロパティを1に設定すると、Form Builderによって一度にフェッチされ表示されるレコードが1つのみになるため、応答時間が最も短くなります。逆に、10に設定すると、10レコードすべてがフェッチされるまでレコードは1つも表示されなくなりますが、レコードに関するデータベースへのコール回数が減るため全体的な処理時間が短くなります。


「問合せ配列サイズ」プロパティの制限事項

•	このプロパティに設定できる値には上限はありません。


「問合せデータ・ソース引数」プロパティ

  関連項目	  全プロパティ

説明

データに対する問合せを実行するためにプロシージャに渡す引数の名前およびデータ型、値を指定します。「問合せデータ・ソース引数」プロパティは、「問合せデータ・ソース・タイプ」プロパティが「プロシージャ」に設定されている場合のみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「問合せデータ・ソース列」プロパティ

  関連項目	  全プロパティ

説明

ブロックの問合せデータ・ソースに対応する列の名前とデータ型を指定します。「問合せデータ・ソース列」プロパティは、「問合せデータ・ソース・タイプ」プロパティが「表」または「FROM句問合せ」、「プロシージャ」に設定されている場合のみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「問合せデータ・ソース名」プロパティ

 制限事項	   関連項目	  全プロパティ

説明

ブロックの問合せデータ・ソース名を指定します。

「問合せデータ・ソース名」プロパティは、「問合せデータ・ソース・タイプ」プロパティが「表」または「FROM句問合せ」、「プロシージャ」に設定されている場合のみ有効です。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	 GET_BLOCK_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

NULL

必須/オプション　オプション


「問合せデータ・ソース名」プロパティの制限事項

「問合せデータ・ソース名」プロパティを設定する前に、COMMIT_FORMまたはCLEAR_FORMを実行してください。


「問合せデータ・ソース・タイプ」プロパティ

  関連項目	  全プロパティ

説明

このブロックの問合せデータ・ソース・タイプを指定します。問合せデータ・ソース・タイプは「表」または「プロシージャ」、「トランザクション・トリガー」、「FROM句問合せ」のいずれかです。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

GET_BLOCK_PROPERTY

デフォルト

表

必須/オプション  必須


「問合せ長」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

フォームが「問合せ入力」モードのときに、エンドユーザーがテキスト項目に入力できる文字数を指定します。

適用されるオブジェクト　テキスト項目

設定方法  Form Builder

デフォルト

項目の「最大長」プロパティの値

使用上の注意

エンドユーザーが複雑な問合せ条件を入力できるようにする場合は、このプロパティに「最大長」プロパティの値より大きい値を入力します。たとえば、このプロパティを5に設定すると、エンドユーザーは「最大長」が3のテキスト項目に「!=500」という問合せ条件を入力できます。


「問合せ長」プロパティの制限事項

•	このプロパティの最大値は、255文字です。


「問合せ名」プロパティ

  全プロパティ

説明

フォームのブロックを関連付けるレポート内の問合せの名前を指定します。

適用先  レポート統合

設定方法  Form Builder

デフォルト

ブランク

必須/オプション　オプション


「問合せのみ」プロパティ

  関連項目	  全プロパティ

説明

ある項目を、実行時にForm Builderによって発行されるINSERT文やUPDATE文に組み込まれない問合せ専用項目にするかどうかを指定します。

適用先　チェックボックス、ラジオ・グループ、リスト項目、イメージ項目、テキスト項目、カスタム項目（OLE）

設定方法  プログラム

デフォルト

いいえ

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


「Query_Hits」プロパティ

 制限事項	  全プロパティ

説明

COUNT_QUERY操作で識別されたレコード数を示すNUMBER値を表します。問合せからレコードが取り出されている最中に「QUERY_HITS」の値を調べる場合は、この値は取り出されたレコード数を表します。

このプロパティは、Oracle以外のデータ・ソースを使用するアプリケーションのために用意されています。

適用されるオブジェクト　ブロック

設定方法  プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

使用上の注意

このプロパティは次のような場合に使用します。

•	Oracle以外のデータ・ソースを使用するアプリケーションでは、On-Countトリガーの中でSET_BLOCK_PROPERTY(QUERY_HITS)を使用すると、問合せによって戻されるレコード数をForm Builderに知らせることができます。この方法で、Form Builderのデフォルトの問合せ件数のカウント処理と同じ処理がインプリメントできます。

•	問合せ件数のカウント処理中にGET_BLOCK_PROPERTY(QUERY_HITS)を使用すると、問合せで取り出される可能性のあるレコード数をあらかじめ調べることができます。

•	フェッチ処理中にGET_BLOCK_PROPERTY(QUERY_HITS)を使用すると、それまでに問合せによって検索され、ブロックのレコード・リストに入れられたレコード数を調べることができます。


「Query_Hits」プロパティの制限事項

このプロパティに設定できる値は0以上です。


「Query_Options」プロパティ

  全プロパティ

説明

アプリケーションがデフォルト処理を迂回するように設計されていない場合に、Form Builderよってデフォルトで行われる問合せ操作のタイプを表します。このプロパティは、Oracle以外のデータ・ソースを使用するアプリケーションのために用意されています。

このプロパティには、次のいずれかの値が設定されます。

•	VIEW

•	FOR_UPDATE

•	COUNT_QUERY

•	NULL

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY


 「ラジオ・ボタンの値」プロパティ

  関連項目	  全プロパティ

説明

ラジオ・グループのラジオ・ボタン項目に対応付ける値を指定します。

適用先　ラジオ・ボタン

設定方法  Form Builder

デフォルト

ブランク


「エントリでレイズ」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

あるキャンバスが他の1つ以上のキャンバスとともに同じウィンドウに表示される場合に、エンドユーザーまたはアプリケーションがそのキャンバス上の項目にナビゲートしたときに、そのキャンバスをどのように表示するかを指定します。

•	「エントリでレイズ」プロパティを「いいえ」に設定すると、そのビューはウィンドウ内の別のビューの手前に、ターゲット項目が別のビューの後ろにある場合のみ表示されます。

•	「エントリでレイズ」プロパティを「はい」に設定すると、エンドユーザーまたはアプリケーションがそのビュー上の任意の項目にナビゲートした場合、そのビューは常にウィンドウの一番手前に表示されます。

適用されるオブジェクト　キャンバス

設定方法  Form Builder

デフォルト

いいえ


「エントリでレイズ」プロパティの制限事項

このプロパティを適用できるのは、同じウィンドウに複数のキャンバスが割り当てられている場合のみです。


「読み込み順」プロパティ

  関連項目	  全プロパティ

説明

注意: このプロパティは、双方向各国語サポート（NLS: National Language Support）アプリケーション専用です。

1つのテキスト項目内の同じ言語で書かれた文字グループ（セグメント）をどちらから読み取るかを指定します。

「読み込み順」プロパティを使用すると、2か国語テキスト項目つまり「ローマン」と「ローカル」の両方の言語で書かれたセグメントを含むテキスト項目をどのように表示するかを制御できます（「読み込み順」プロパティは1か国語のみで記述されたテキスト項目には影響しません）。

このプロパティに設定できる値は次のとおりです。

Value	説明
デフォルト	そのテキスト項目のキャンバスの「読込み順序」プロパティに指定された読取り順序を継承します。
右から左	項目を右から左に読み取ります。
左から右	項目を左から右に読み取ります。

適用先　表示項目、テキスト項目

設定方法  Form Builder

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

デフォルト

使用上の注意

•	通常、「読み込み順」プロパティを明示的に設定する必要はありません（デフォルト値のままで必要な機能が得られます）。項目のデフォルトの読取り順序を上書きする必要がある場合のみ、「読み込み順」プロパティを設定します。

•	「読み込み順」プロパティの値をプログラムによって取得または設定する場合は、「Language Direction」プロパティを使用します。

•	「ローカル」セグメントは「右から左」モードで、「ローマン」セグメントは「左から右」モードで表示する場合は、このプロパティを「デフォルト」に設定します。

•	テキスト項目の大半が「ローカル」で構成されている場合は、このプロパティを「右から左」に設定します。

•	テキスト項目の大半が「ローマン」で構成されている場合は、このプロパティを「左から右」に設定します。


「実際単位」プロパティ

 制限事項	  全プロパティ

説明

「座標システム」プロパティを「実際単位」に設定した場合は、「実際単位」プロパティにフォームのサイズと位置座標を指定するときの実際単位を指定します。実際単位とは、cm、インチ、ピクセル、ポイント、小数点などを指します  （1ポイントは72分の1インチです）。

そのフォーム内で指定されるサイズと位置座標はすべて、このプロパティに指定した実際単位で解釈されます。したがって、実際単位を変更すると、既存オブジェクトのサイズと位置の値の精度が低下するおそれがあります。

適用されるオブジェクト フォーム・モジュール

設定方法  Form Builder

デフォルト

センチメートル

必須/オプション　オプション


「実際単位」プロパティの制限事項

「座標システム」プロパティが「実際単位」に設定されている場合にのみ有効です。


「レコード・グループ」プロパティ

  関連項目	  全プロパティ

説明

値リストまたは階層ツリーの値を取り出すレコード・グループの名前を指定します。

適用先

値リスト、階層ツリー

設定　Form Builder、プログラム

参照するビルトイン

GET_LOV_PROPERTY (GROUP_NAME)

SET_LOV_PROPERTY (GROUP_NAME)

POPULATE_TREE

POPULATE_GROUP_FROM_TREE

デフォルト

NULL

必須/オプション　値リストに対しては必須。階層ツリーに対してはオプション。

使用上の注意

値リストには、基礎を形成するレコード・グループに格納されているレコードが表示されます。各値リストは1つのレコード・グループに基づいている必要があります。レコード・グループは、問合せ（問合せレコード・グループ）または固定値（静的レコード・グループ）を使用して挿入できます。


「レコード・グループフェッチサイズ」プロパティ

  全プロパティ

説明

フェッチされるレコード・グループのサイズを指定します。フェッチサイズを大きくすると、レコード・グループの取得に必要なフェッチの回数が減ります。たとえば、5000レコードのレコードグループの場合、「レコード・グループフェッチサイズ」が「10」に設定されているときは、500トリップのフェッチが必要になりますが、1000に設定されているときは、5トリップのみが必要とされます。

適用先  レコード・グループ汎用ファンクション

設定方法  Form Builder

デフォルト

20

必須/オプション  必須

使用上の注意

このプロパティは、「レコード・グループ・タイプ」プロパティが「問合せ」に設定されているときに限り有効です。


「レコード・グループの問合せ」プロパティ

  全プロパティ

説明

レコード・グループに対応付けられている問合せのSELECT文を指定します。

適用先　レコード・グループ

設定　Form Builder、プログラム

参照するビルトイン

POPULATE_GROUP_WITH_QUERY

必須/オプション　オプション


「レコード・グループ・タイプ」プロパティ

  全プロパティ

説明

レコード・グループのタイプ、つまり「静的」か「問合せ」のどちらかを指定します。

スタティック	列名と列の値を明示的に定義してレコード・グループを作成することを表します。静的レコード・グループの値は設計時に指定し、実行時にこの値を変更することはできません。

問合せ 	レコード・グループがSELECT文に対応付けられていることを表します。問合せレコード・グループは、実行時に動的に挿入できます。このオプションを選択した場合は、表示される複数行フィールドにSELECT文を入力して、「適用」を選択します。

適用先

レコード・グループ

設定方法  Form Builder

デフォルト

問合せ


「レコード方向」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

ブロック内のレコードの方向、つまり「水平」か「垂直」かを指定します。このプロパティの値に従って、ブロック内の項目の表示位置が調整されます。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

垂直レコード

必須/オプション　オプション

使用上の注意

「新規ブロック」ウィンドウでブロックを作成するときに、「レコード方向」オプションを「垂直」または「水平」に設定しても、このオプションが設定されます。


「レコード方向」プロパティの制限事項

このプロパティは、マルチレコード・ブロック（「表示レコード数」プロパティが2以上に設定されたブロック）のみに有効です。


「Records_to_Fetch」プロパティ

 例	  全プロパティ

説明

On-Fetchトリガーで問合せ対象レコードとしてフェッチまたは作成されるレコード数が戻ります。

Oracle以外のデータ・ソースを使用するアプリケーションで、トランザクション・トリガーを使用してForm Builderのデフォルトのトランザクション処理を置換する場合は、プログラミングによってRecords_To_Fetchの値を調べることができます。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY

使用上の注意

Records_To_Fetchを定義できるのは、On-Fetchトリガーが有効な範囲内のみです。

初めてOn-Fetchトリガーが起動されたとき、Records_To_Fetchの値は配列サイズ（「問合せ配列サイズ」ブロック・プロパティの値）か、表示レコード数に1を足した値のどちらか大きい方です。

On-Fetchトリガーによってこの値の数のみ問合せ対象レコードが作成されれば、次にOn-Fetchトリガーが起動されたときのRecords_To_Fetchの値は1回目と同じ数になります。

しかし、On-Fetchトリガーで作成されたレコード数がRecords_To_Fetchの値より少なく、Form_Trigger_Failureがコールされずにこのトリガーが戻された場合は、Form BuilderによってOn-Fetchトリガーがもう一度起動されます。Records_To_Fetchには、前の値から直前に起動されたOn-Fetchトリガーで作成された問合せ対象レコード数を引いた値が設定されます。

この動作は、次のイベントのいずれかが発生するまで繰り返されます。

•	トリガーによって問合せ対象レコードが1つも作成されません（フェッチが正常に終了したというメッセージが表示されました）。

•	問合せ対象レコードが必要な数のみ作成されました。

•	トリガーによってForm_Trigger_Failureがコールされました（エラーによりフェッチが異常終了したためフェッチ処理を中断するというメッセージが表示されました）。


「Records_to_Fetch」プロパティの例

例

/*

** Call a client-side package function to retrieve
** the proper number of rows from a package cursor.
*/
DECLARE
   j NUMBER := Get_Block_Property(blk_name, RECORDS_TO_FETCH);
   emprow emp%ROWTYPE;
BEGIN
   FOR ctr IN 1..j LOOP
      /* Try to get the next row.*/
      EXIT WHEN NOT MyPackage.Get_Next_Row(emprow);
      Create_Queried_Record;
      :Emp.rowid := emprow.ROWID;
      :Emp.empno := emprow.EMPNO;
      :Emp.ename := emprow.ENAME;
         :
         :
   END LOOP;
END;


「リレーション・タイプ」プロパティ

  全プロパティ

説明

マスター・ブロックとディテール・ブロックの間のリンクが、リレーショナル結合またはオブジェクトREFポインタのどちらであるかを示します

適用先  マスター/ディテール・リレーション

設定方法  Form Builder

デフォルト

結合

使用上の注意

有効な値は「結合」（リレーショナル結合を表す）または「REF」（他のブロック内の被参照データを指している、単一ブロック内のREF列を表す）です。

リンクがREF経由のときは、「ディテール参照」プロパティの項を併せて参照してください。

リンクが結合経由のときは、「結合条件」プロパティの項を併せて参照してください。


「開放」プロパティ

  全プロパティ

説明

項目がフォーカスを取得していないときに、その項目をレンダー・オブジェクトとして表示するかどうかを指定します。

適用先　テキスト項目、図表項目

設定方法  Form Builder

デフォルト

はい

使用上の注意

システム・リソースを節約する場合は、「開放」プロパティを「はい」に設定します。レンダー項目では、フォーカスを取得するまでシステム・リソースを使用しません。また、レンダー項目からフォーカスが移動すると、その項目を表示するために使用されていたリソースが解放されます。


「レポートの宛先形式」プロパティ

  全プロパティ

説明

ビットマップ環境では、「レポート宛先タイプ」プロパティの値が「ファイル」のときに使用されるプリンタ・ドライバを指定します。キャラクタ・モード環境では、「レポート宛先名」プロパティで命名されたプリンタの特性を指定します。

取りうる値は、長さが1Kを超えない有効な宛先書式です。このキーワードの有効値の例としては、hpl、hplwide、dec、decwide、decland、dec180、dflt、wideなどがあります。有効な宛先書式については、システム管理者に問い合わせてください。また、Report Builderでサポートされている宛先書式は次のとおりです。

PDF	レポート出力は、PDFビューアで読取り可能なファイルに送られます。PDF出力は、システムのその時点でのプリンタ構成を基にして行われます。出力の生成には、現在選択されているプリンタのドライバが使用されます。レポートを実行しているマシンに対して、プリンタをあらかじめ構成しておく必要があります。
HTML	レポート出力は、HTML 3.0準拠のブラウザ（Netscape 2.2など）で読取り可能なファイルに送られます。
HTMLCSS	ファイルに送られるレポート出力にスタイル・シート拡張が含まれていることを表します。このスタイル・シート拡張は、カスケード・スタイル・シートをサポートした、HTML 3.0準拠のブラウザで読み取ることができます。
HTMLCSSIE	ファイルに送られるレポート出力にスタイル・シート拡張が含まれていることを表します。このスタイル・シート拡張は、Microsoft Internet Explorer 3.xで読み取ることができます。
RTF	レポート出力は、標準的なワード･プロセッサ（Microsoft Wordなど）で読み取ることが可能なファイルに送られます。ファイルをMicrosoft Wordで開くときは、「表示」 [image] 「ページ レイアウト」を選択して、レポートに含まれるすべてのグラフィックおよびオブジェクトが表示されるようにする必要があります。
DELIMITED	レポート出力は、Microsoft Excelなど標準的なスプレッドシート・ユーティリティで読み取ることが可能なファイルに送られます。DELIMITERも必ず指定してください。
このプロパティの詳細は、Report Builderオンライン・ヘルプの索引カテゴリ「コマンドライン引数」にある「DESFORMAT」の項を参照してください。

適用先  Reportレポート

設定方法  Form Builder

デフォルト

ブランク

必須/オプション　オプション


「レポート宛先名」プロパティ

  全プロパティ

説明

レポート出力の送信先となるファイル、プリンタ、InterOfficeディレクトリ、または電子メールのユーザーID（または配布リスト）の名前です。有効な値は次のとおりで、長さは最大1Kまでです。

• ファイル名（「レポート宛先ファイル」プロパティの値が「ファイル」または「ローカル・ファイル」の場合）

• プリンタ名（「レポート宛先タイプ」プロパティの値が「プリンタ」の場合）

•	電子メール名または配布名リスト（「レポート宛先タイプ」プロパティの値が「メール」の場合）

レポートを電子メール経由で送信するには、電子メール・アプリケーション（Oracle InterOfficeなどのWindows用MAPI準拠アプリケーション、またはUNIX上のネイティブのメール・アプリケーション）での指定と同じように、電子メールIDを指定します。複数のユーザー名を指定するには、(name, name, .. .name)のように名前をカッコで囲み、カンマで区切ります。プリンタ名については、オプションでポートを指定できます。次に例を示します。

printer,LPT1:

printer,FILE:

あるいは、「レポート宛先タイプ」プロパティの値が「InterOffice」の場合には、次のように指定できます。

/FOLDERS/directory/reportname

このプロパティの詳細は、Report Builderオンライン・ヘルプの索引カテゴリ「コマンドライン引数」にある「DESNAME」の項を参照してください。

適用先  Reportレポート

設定方法  Form Builder

デフォルト

ブランク

必須/オプション　オプション


「レポート宛先タイプ」プロパティ

  全プロパティ

説明

出力の送信先を表します。有効な値は「スクリーン」、「ファイル」、「プリンタ」、「プレビュー」、「メール」または「InterOffice」です。このプロパティの詳細は、Report Builderオンライン・ヘルプの索引カテゴリ「コマンドライン引数」にある「DESTYPE」の項を参照してください。

スクリーン	出力をPreviewerに送信し、対話形式のビューを表示します。この値は、バッチ・モードではなくランタイム・モードでレポートを実行しているときに限り有効です。フォントのエイリアシングは実行されません。
ファイル	出力は、「レポート宛先名」プロパティで指定したファイルに保存されます。
プリンタ	出力は、「レポート宛先名」プロパティで指定したプリンタに送信されます。
プレビュー	出力をPreviewerに送信し、対話形式のビューを表示します。ただし、この値を指定した場合、出力はPostScript出力としてフォーマットされます。Previewerでは、「レポート宛先名」プロパティの値によって、出力の表示に使用されるプリンタ・フォントが決定されます。このプロパティ値に対しては、フォントのエイリアシングが実行されます。
メール	「レポート宛先名」プロパティで指定されたメール・ユーザーに出力が送信されます。MAPI準拠の、またはサービス・プロバイダ・ドライバをインストール済みの任意のメール・システムに向けてメールを送信できます。レポートは添付ファイルとして送信されます。
InterOffice	「レポート宛先名」プロパティで指定されたOracle InterOfficeメール・ユーザーに出力が送信されます。この値を指定すると、レポート出力はリポジトリとしてInterOffice内に格納されます。
適用先  Reportレポート

設定方法  Form Builder

デフォルト

ファイル

必須/オプション  必須


「Report Server」プロパティ

  全プロパティ

説明

Reportの実行対象にできるReport Serverを指定します。

適用先  Reportレポート

設定方法  Form Builder

必須/オプション　オプション

デフォルト

ブランク


「必須」(項目)プロパティ

  関連項目	  全プロパティ

説明

新規レコードの挿入時に、値がNULLの項目を無効にするかどうかを指定します。

適用先　リスト項目、テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_INSTANCE_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_ITEM_INSTANCE_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

使用上の注意

項目のプロパティを「はい」に設定されており、項目レベルの妥当性チェックが有効な場合、有効な値が入力されるまではその項目の外にナビゲートできなくなります（デフォルト）。エンドユーザーが自由にレコード内の項目間を移動できるようにする場合は、「Defer Required Enforcement」プロパティを「はい」に設定します。このようにすると、「必須」属性の施行時期を項目の妥当性チェック時からレコードの妥当性チェック時まで延期できます。

プロパティが「はい」に設定されていても、項目の値がNULLとなる場合があります。Form Builderでは、妥当性チェック・プロセスの中で必須項目がチェックされます。新規レコードの各項目は妥当性チェックの対象になりますが、問合せ対象データは有効であると仮定されるため、変更されない限り項目の妥当性はチェックされません。たとえば、データベースから既存レコードに対する問合せを実行すると、プロパティが「はい」に設定された項目にNULL値が挿入される可能性があります。

ポップリストまたはTリストの「必須」プロパティの設定によって、リストに表示される値が変化することがあります。ポップリスト・インスタンスの現在の値がNULLである場合、あるいはインスタンスの「必須」プロパティが有効でかつ「いいえ」に設定されている場合にそのインスタンスが選択されると、不必要なNULL値が表示されます。Tリスト・インスタンスの現在の値を選択したとき、その「必須」プロパティが有効でかつ「いいえ」に設定されていると、選択は解除されます（Tリストは値が選択されていない状態でそのまま残ります）。ただし、有効な「必須」プロパティが「はい」の場合は、Tリストのインスタンスの現行の値を選択しても影響はありません。値は選択されたままの状態になります。


「必須」（メニュー・パラメータ）プロパティ

  関連項目	  全プロパティ

説明

エンドユーザーに必ずメニュー置換パラメータの値を入力させるかどうかを指定します。

適用先　メニューパラメータ

設定方法  Form Builder

デフォルト

いいえ


「サイズ変更可能」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

ウィンドウのサイズを固定し、実行時に変更できないように指定します。このプロパティはGUIヒントです。したがって、プラットフォームによってはサポートされない場合があります。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

いいえ

使用上の注意

「サイズ変更可能」プロパティを「はい」に設定すると、エンドユーザーはウィンドウのサイズを変更できなくなりますが、アプリケーション内のRESIZE_WINDOWやSET_WINDOW_PROPERTYによるウィンドウのサイズ変更には影響しません。


「サイズ変更可能」プロパティの制限事項

•	「サイズ変更可能」プロパティは、「最大化可能」プロパティが「いいえ」に設定されている場合にのみ有効です。


「戻り項目」(値リスト)プロパティ

  全プロパティ

説明

「列マッピング・プロパティ」プロパティを参照。


「回転角度」プロパティ

  全プロパティ

説明

図形オブジェクトの回転角を指定します。オブジェクトが最初に作成されたときの角度が0とみなされます。このプロパティは、オブジェクトがその時点で初期角度から時計周りに何度ずれているかを表します。このプロパティを設定することにより、オブジェクトを絶対角度にまで回転できます。

適用先  物理図形

設定方法  Form Builder

デフォルト  0

必須/オプション  必須


「ランタイム互換性モード」プロパティ

  全プロパティ

説明

現在のフォームのランタイム動作と互換性のあるForm Builderのバージョンを指定します（4.5または5.0から6.0まで）。デフォルトでは、Form Builder 5.0から6.0で作成される新しいフォームは、5.0互換に設定されます。バージョン4.5からアップグレードされた既存のフォームは4.5互換です。バージョン5.0から6.0の新しいランタイム動作を使用するようにこれらのフォームを設定するには、このプロパティを5.0に設定します。このプロパティの影響を受けるランタイム動作は主に、妥当性チェックと初期化です。バージョン5.0から6.0のランタイム動作については、オンラインForm Builderリファレンスの「デフォルト・プロセス」の章の、初期化および妥当性チェックのセクションを参照してください。バージョン4.5のランタイム動作の詳細は、オンラインForm Builderリファレンスの「前バージョンとの互換性」の章の、「Form Builder 4.5のランタイム動作」のセクションを参照してください。

適用先  フォームの互換性

設定方法  Form Builder

デフォルト

新規フォームについては5.0。Form Builder 4.5を使用して作成されたフォームについては4.5。

必須/オプション  必須


「Savepoint Mode」プロパティ

 制限事項	  全プロパティ

説明

セッション中にセーブポイントを発行するかどうかを指定します。このプロパティは、Oracle以外のデータ・ソースを使用するアプリケーションのために用意されています。Oralceデータベースを使用するアプリケーションでは、デフォルト値を使用します。

このプロパティの設定値とその効果は次のとおりです。

設定	説明
はい（デフォルト）	フォーム起動時および各転記およびコミット処理の最初に、セーブポイントが発行されます。
いいえ	セーブポイントは発行されず、セーブポイントへのロールバックも一切実行されません。

適用されるオブジェクトフォーム・モジュール

設定　Form Builder、プログラム

参照するビルトイン

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY

デフォルト

はい

必須/オプション　オプション


「Savepoint Mode」プロパティの制限事項

「Savepoint Mode」プロパティを「いいえ」に設定すると、変更をコミットしていないフォームではCALL_FORMプロシージャを使用して別のフォームを起動できなくなります。


「Savepoint_Name」プロパティ

  全プロパティ

説明

Form Builderによって設定またはロールバックされるセーブポイントの名前を表します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

使用上の注意

このプロパティの値は、次のようにOn-SavepointまたはOn-Rollbackトリガーの中のみで確認してください。

•	ISSUE_SAVEPOINTのコールによって設定されるセーブポイントを調べる場合は、On-Savepointトリガー内でSavepoint_Nameを使用します。

•	ISSUE_ROLLBACKのコールによってFormBuilderがロールバックするセーブポイントを調べる場合は、On-Rollbackトリガー内で Savepoint_Nameを使用します。NULLのセーブポイント名は完全なロールバックが要求されていることを表します。


「スクロール・バー整列」プロパティ

  全プロパティ

説明

スクロール・バーを枠の始点あるいは終点のどちらに表示するのかを指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

End

必須/オプション　オプション


「スクロール・バー高さ」プロパティ

  全プロパティ

説明

スクロール・バーの高さを指定します。

適用先　スクロール・バー

設定方法  Form Builder

必須/オプション　オプション


「スクロール・バー幅」プロパティ

  全プロパティ

説明

スクロール・バーの幅を指定します。

適用先　スクロール・バー

設定方法  Form Builder

必須/オプション　オプション


「Secure」（メニュー・パラメータ）プロパティ

  関連項目	  全プロパティ

説明

エンドユーザーが入力するパラメータの文字を隠すかどうかを指定します。

適用先　メニューパラメータ

設定方法  Form Builder

デフォルト

いいえ

必須/オプション　オプション


「ライブラリをフォームと共有」プロパティ

  関連項目	  全プロパティ

説明

同一のライブラリが連結されたフォームは、ライブラリ・パッケージ・データを共有できます（詳細は、「関連項目」のCALL_FORM、OPEN_FORMおよびNEW_FORMの各ビルトインのdata_modeパラメータを参照）。「フォームとライブラリを共有」プロパティを設定することにより、フォームに関連付けられたメニュー間で、フォームと同様にライブラリ・パッケージ・データを共有することが可能になります。

適用先  メニュー

設定方法  Form Builder

デフォルト

はい

使用上の注意

1	1つのオブジェクトを共有している2つのフォームが設計時に共に開かれていて、フォームAでオブジェクトに変更が加えられた場合、変更がフォームAによって保存され、次にフォームBがいったん閉じられて再び開かれるまでの間、その変更はフォームBには影響しません。

2	OPEN_FORMビルトインを使用して異なるデータベース・セッション内のフォームを開く場合、そのフォーム、またはそのフォームに関連付けられたメニューとライブラリ・データを共有することはできません。このプロパティを「はい」に設定してライブラリ・データを共有しようとしても無視されます。


「早送りボタン表示」プロパティ

  関連項目	  全プロパティ

説明

サウンド項目のコントロールによって、 [image] を（レイアウト・エディタ内で、かつ実行時に）表示するかどうかを判断します。

適用先　サウンド項目のコントロール

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

必須/オプション　必須


「水平スクロール・バー表示」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

キャンバス、2次ウィンドウ、イメージ項目にスクロール・バーを表示するかどうかを指定します。

適用先　キャンバス、ウィンドウ、エディタ、イメージ項目

設定方法  Form Builder

デフォルト

いいえ

必須/オプション　オプション


「水平スクロール・バー表示」プロパティの制限事項

•	ウィンドウでは、「モード」プロパティが「いいえ」に設定されている場合にのみ有効。

•	水平スクロール・バーをサポートするウィンドウ・マネージャ上でのみ有効。


「線を表示」プロパティ

  全プロパティ

説明

階層ツリーで、それぞれのノードに至る線を表示するかどうかを指定します。

適用先  階層ツリー

設定方法  Form Builder

デフォルト

True

必須/オプション  必須


「OLEポップアップ・メニュー表示」プロパティ

  関連項目	  全プロパティ

説明

マウスの右ボタンが押されたときに、OLEオブジェクトを操作するためのコマンドのポップアップ・メニューを表示するかどうかを指定します。このプロパティに設定できる値は次のとおりです。

YES	デフォルトのOLEポップアップ・メニューの選択。マウス・カーソルをOLEオブジェクトに合わせてマウスの右ボタンを押すと、OLEポップアップ・メニューが表示されます。

NO	マウス・カーソルをOLEオブジェクトに合わせてマウスの右ボタンを押しても、OLEポップアップ・メニューは表示されません。

適用先　OLE Container

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

必須/オプション  必須

使用上の注意

•	Form Builderによって、あるいはプログラムでもSHOW_POPUPMENUプロパティを使用してOLEポップアップ・メニューの値を設定および取得できます。SET_ITEM_PROPERTYビルトインでSHOW_POPUPMENUプロパティをPROPERTY_TRUEに設定すると、OLEポップアップ・メニューが表示されます。SHOW_POPUPMENUプロパティをPROPERTY_FALSEに設定すると、OLEポップアップ・メニューは表示されません。また、GET_ITEM_PROPERTYビルトインで SHOW_POPUPMENUプロパティを使用すると、現在のOLEポップアップ・メニューの設定値を取得できます。OLEポップアップ・メニューが表示される場合は、GET_ITEM_PROPERTYビルトインによってTRUEが戻り、OLEポップアップ・メニューが表示されない場合はFALSEが戻ります。

• Microsoft WindowsおよびMacintosh上でのみ有効。


「OLEテナント・タイプ表示」プロパティ

 制限項目	    関連項目	  全プロパティ

説明

OLEオブジェクト・タイプを規定している枠で、OLEコンテナを囲むかどうかを指定します。枠のタイプはOLEオブジェクトのタイプによって異なります。

適用先　OLE Container

設定方法  Form Builder

デフォルト

はい


「OLEテナント・タイプ表示」プロパティの制限事項

Microsoft WindowsおよびMacintosh上でのみ有効。


「パレット表示」プロパティ

  関連項目	  全プロパティ

説明

実行時に対応するイメージ項目の近くにイメージ操作パレットを表示するかどうかを指定します。パレットには、エンドユーザーが表示されたイメージ項目を操作するためのツールが3つ表示されます。

•	ズーム  このツールをクリックしてからイメージを繰り返しクリックすると、イメージ項目の境界内に表示されているソース・イメージの量が一定量減少します。

•	パン  手の形をしたポインタを使用して、ソース・イメージの隠れている部分をパンして表示します（この操作は、ソース・イメージがイメージ項目の少なくとも1本の境界線を超えている場合にのみ可能です）。

•	回転  イメージを繰り返しクリックすると、イメージが90度ずつ時計回りに回転します。

適用先　イメージ項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

必須/オプション　必須


「再生ボタン表示」プロパティ

  関連項目	  全プロパティ

説明

サウンド項目のコントロールにより [image] を（レイアウト・エディタ内で、かつ実行時に）表示するかどうかを決めます。

適用先　サウンド項目のコントロール

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

必須/オプション　必須

使用上の注意

•	「録音ボタン表示」プロパティが既に「いいえ」に設定されている場合に、「再生ボタン表示」プロパティを「いいえ」に設定すると、実行時に [image] がForm Builderによって自動的に表示されます。


「録音ボタン表示」プロパティ

  関連項目	  全プロパティ

説明

サウンド項目のコントロールにより [image] を（レイアウト・エディタ内で、かつ実行時に）表示するかどうかを決めます。

適用先　サウンド項目のコントロール

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

必須/オプション　必須

使用上の注意

•	「再生ボタン表示」プロパティが既に「いいえ」に設定されている場合に、「録音ボタン表示」プロパティを「いいえ」に設定すると、実行時にForm Builderによって [image] が自動的に表示されます。


「巻戻しボタン表示」プロパティ

  関連項目	  全プロパティ

説明

サウンド項目のコントロールにより [image] を（レイアウト・エディタ内で、かつ実行時に）表示するかどうかを決めます。

適用先　サウンド項目のコントロール

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

必須/オプション　必須


「スクロール・バー表示」プロパティ

  関連項目	  全プロパティ

説明

定義しているブロックにブロック・スクロール・バーを作成するかどうかを指定します。「スクロール・バー表示」プロパティを「はい」に設定すると、Form Builderによって「スクロール・バー・キャンバス」プロパティに指定されたキャンバス上にスクロール・バーが作成されます。

ブロック・スクロール・バーを作成すると、スクロール・バー・オブジェクト自体のプロパティ、たとえば「スクロール・バー・キャンバス」、「スクロール・バー・方向」、「スクロール・バー・x位置」、「スクロール・バー・y位置」、「スクロール・バー幅」、「スクロール・バー高さ」、「逆方向」、「可視属性グループ」などが設定できます。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト:

いいえ

必須/オプション　オプション

使用上の注意

「逆方向」プロパティを「はい」に設定した場合、エンドユーザーがスクロール・バーを上にスクロールすると、Form Builderによって次のレコード・セットがフェッチされます。逆に、エンドユーザーが下にスクロールすると、既にフェッチされたレコードが表示されます。

プロパティ	説明
スクロール・バー・キャンバス	ブロックのスクロール・バーを表示するキャンバスを指定します。そのフォーム内にあるキャンバスを指定してください。
スクロール・バー・方向	ブロック・スクロール・バーを水平に表示するか垂直に表示するかを指定します。
スクロール・バー・x位置	ブロック・スクロール・バーのX座標を指定します。この値はスクロール・バーの左上角で計測されます。デフォルト値は0です。
スクロール・バー・y位置	ブロック・スクロール・バーのY座標を指定します。この値はスクロール・バーの左上角で計測されます。デフォルト値は0です。
スクロール・バー幅	ブロック・スクロール・バーの幅を指定します。デフォルト値は2です。
スクロール・バー高さ	ブロック・スクロール・バーの高さを指定します。デフォルト値は10です。
逆方向	スクロール・バーを逆方向にスクロールするかどうかを指定します。デフォルト値は「いいえ」です。
可視属性グループ	スクロール・バーに使用するとフォントおよびカラー、パターンの属性を指定します。詳細は、「可視属性グループ」プロパティを参照してください。デフォルトの設定は、プラットフォームおよびリソース・ファイルの定義により異なります。


「スライダー表示」プロパティ

  関連項目	  全プロパティ

説明

サウンド項目のコントロールにより [image] を（レイアウト・エディタ内で、かつ実行時に）表示するかどうかを決めます。

適用先　サウンド項目のコントロール

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

必須/オプション　必須


「記号を表示」プロパティ

  全プロパティ

説明

階層ツリーにおいて、各ブランチ・ノードの先頭に「+」または「-」の記号を表示するかどうかを示します。「+」記号は、子を持ったノードが拡張表示されていないことを示します。「-」記号はノードが拡張済みであることを示します。

適用先  階層ツリー

設定方法  Form Builder

デフォルト

True

必須/オプション  必須


「時間標識表示」プロパティ

  関連項目	  全プロパティ

説明

サウンド項目のコントロールにより [image] を（レイアウト・エディタ内で、かつ実行時に）表示するかどうかを決めます。

適用先　サウンド項目のコントロール

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

必須/オプション　必須


「垂直スクロール・バー表示」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

垂直スクロール・バーをキャンバスまたはウィンドウの横に表示するかどうかを指定します。

適用先　キャンバス、ウィンドウ、イメージ項目、エディタ、項目

設定方法  Form Builder

デフォルト

いいえ

必須/オプション　オプション


「垂直スクロール・バー表示」プロパティの制限事項

•	垂直スクロール・バーをサポートするウィンドウ・マネージャ上でのみ有効です。

•	ルート・ウィンドウでは設定できません。ルート・ウィンドウにスクロール・バーを表示することはできません。

•	垂直スクロール・バーをサポートするウィンドウ・マネージャ上でのみ有効です。

•	テキスト項目では、「複数行」プロパティが「はい」に設定されている必要があります。


「音量ボタン表示」プロパティ

  関連項目	  全プロパティ

説明

サウンド項目のコントロールにより [image] を（レイアウト・エディタ内で、かつ実行時に）表示するかどうかを決めます。

適用先　サウンド項目のコントロール

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

必須/オプション　必須


「シュリンクラップ」プロパティ

  全プロパティ

説明

枠内のスペースを自動的に削除するかどうかを指定します。「シュリンクラップ」プロパティが「はい」に設定されていると、Form Builderは、枠内の項目の周りの枠を自動的に縮小します。

注意: 「シュリンクラップ」プロパティが「はい」に設定されているときに枠のサイズを変更しても、枠のサイズは変わりません。たとえば、枠のサイズを大きくしても、Form Builderによって枠の大きさが縮小サイズに自動的に戻されます。枠のサイズを変えたい場合は、「シュリンクラップ」プロパティを「いいえ」に設定してください。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

はい

必須/オプション　オプション


「単一オブジェクト整列」プロパティ

  全プロパティ

説明

「枠整列」プロパティが「塗り」に設定されている場合にシングルライン・オブジェクトの位置を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

始点

必須/オプション　必須


「単一レコード」プロパティ

  関連項目	  全プロパティ

説明

この制御ブロックにレコードが必ず1つ含まれているように指定します。なお、このプロパティは、ブロック内に表示されるレコードの数を指定するものではありません。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

いいえ

使用上の注意

•	集計計算済みの項目を含む制御ブロック、VBXコントロール（16ビットのMicrosoft Windows 3.x）、またはActiveXコントロール（32ビットWindows）では、「単一レコード」プロパティを「はい」に設定します。一方、集計計算中であるが計算済み項目に表示されている値を持つブロックでは、「単一レコード」プロパティを「いいえ」に設定します。

•	データ・ブロックでは、「単一レコード」プロパティを「はい」に設定することはできません。


「サイズ」プロパティ

 制限事項	  全プロパティ

説明

「座標システム」フォーム・プロパティに指定された現在のフォームの座標単位で、キャンバスの幅と高さを指定します。

適用されるオブジェクト　キャンバス

設定　Form Builder、プログラム

参照するビルトイン

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

「サイズ」（項目）

「座標システム」フォーム・プロパティに指定された現在のフォームの座標単位で、項目の幅と高さを指定します。

適用されるオブジェクト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

「サイズ」（エディタ）

「座標システム」フォーム・プロパティに指定された現在のフォームの座標単位で、エディタの幅と高さを指定します。

適用されるオブジェクト  エディタ

設定　Form Builder、プログラム

参照するビルトイン

•	EDIT_TEXTITEM

•	SHOW_EDITOR

使用上の注意

•	テキスト項目や図表項目では、項目内に格納できる文字数は「最大長」プロパティによって決まり、「サイズ」プロパティの値には影響されません。

•	キャラクタ・モードのプラットフォームで稼動するアプリケーションでは、テキスト・ラベルを表示する項目の高さは2文字セル以上にする必要があります。これより小さい値を指定すると、テキストが正しく表示されません。

「サイズ」（値リスト）

「座標システム」フォーム・プロパティに指定された現在のフォームの座標単位で、値リストの幅と高さを指定します。

「座標システム」フォーム・プロパティに指定された現在のフォームの座標単位で、値リストの幅と高さを指定します。

適用先　値リスト

設定　Form Builder、プログラム

参照するビルトイン

•	GET_LOV_PROPERTY

•	SET_LOV_PROPERTY

制限事項

値リストの幅は、Form Builderによって、値リストの下部にボタンをすべて表示するのに十分なサイズに設定されます（値リストのサイズが変更できるプラットフォームでは、値リストのサイズを変更して、ボタンの一部が表示されなくなるまで小さくすることができます）。

「サイズ」（ウィンドウ）

「座標システム」フォーム・プロパティに指定された現在のフォームの座標単位で、ウィンドウの幅と高さを指定します。

適用されるオブジェクト　ウィンドウ

設定　Form Builder、プログラム

デフォルト

80文字 X 24文字

参照するビルトイン

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「サイズ」プロパティの制限事項

エディタの幅は、Form Builderによって、エディタの下部にボタンをすべて表示するのに十分なサイズに設定されます（エディタのサイズを変更できるプラットフォームでは、エディタのサイズを変更して、ボタンの一部が表示されなくなるまで小さくすることができます）。


「サイズ調整形式」プロパティ

  全プロパティ

説明

イメージのサイズがイメージ項目のサイズと一致しない場合のイメージの表示形式を指定します。

このプロパティに設定できる値は次のとおりです。

切り取り	イメージを表示四角形に入る部分のみ表示します。

調整	イメージのサイズを表示四角形に入る大きさに変更して、イメージ全体を表示します。

適用先　イメージ項目

設定方法  Form Builder

デフォルト

切り取り


「サウンド形式」プロパティ

  全プロパティ

説明

サウンド項目をデータベースに格納するフォーマットであるAU、AIFF、AIFF_C、WAVEのいずれかを指定します。

ビルトイン・サブプログラムのREAD_SOUND_FILEまたはWRITE_SOUND_FILEを使用して、ファイルシステムから読み取るか、またはファイルシステムへ書き込むサウンド・データを処理するときは、file_typeパラメータを使用して、読取りまたは書込み対象のサウンド・データのサウンド・フォーマットを指定します。

適用先　サウンド項目

設定方法  Form Builder

参照するビルトイン

•	READ_SOUND_FILE

•	WRITE_SOUND_FILE

デフォルト

WAVE

必須/オプション  必須


「サウンド品質」プロパティ

  全プロパティ

説明

サウンド項目をデータベースに格納するときの品質、つまり、「自動」、「最高」、「高」、「標準」、「低」、「最低」のいずれかを指定します。

WRITE_SOUND_FILEビルトイン・サブプログラムを使用してサウンド・データをファイルシステムに書き込む場合は、書き込むサウンド・データのサウンド・フォーマットをsound_qualityパラメータで制御します。

適用先　サウンド項目

設定方法  Form Builder

参照するビルトイン

•	WRITE_SOUND_FILE

デフォルト

自動

必須/オプション  必須


「開始角」プロパティ

  全プロパティ

説明

円弧の開始角を指定します。起点には水平軸が使用されます。

適用先  図形（円弧）

設定方法  Form Builder

デフォルト

90

必須/オプション  必須


「開始プロンプト整列」プロパティ

 表示する	  全プロパティ

説明

プロンプトを項目の水平方向の枠のどの位置(開始点、中央または終了点)に置くかを指定します。このプロパティは、「レイアウト・スタイル」プロパティが「フォーム」の場合にのみ有効です。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

始点

必須/オプション  必須


「開始プロンプト整列」プロパティ


「開始プロンプトのオフセット」プロパティ

 表示する	  全プロパティ

説明

「開始プロンプト整列」プロパティが「始点」に設定されているときに、プロンプトと項目間の間隔を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

0(文字セル)

必須/オプション  必須


「開始プロンプトのオフセット」プロパティ


「起動コード」プロパティ

関連項目	  全プロパティ

説明

フォーム起動時にメニュー・モジュールがメモリー内にあるときに、Form Builderで実行するオプションPL/SQLコードを指定します。起動コードは、メニュー・モジュールのロード時に起動される一種のトリガーと考えてください。

適用されるオブジェクト  メニュー・モジュール

設定方法  Form Builder

必須/オプション　オプション

使用上の注意

Form Builderがコール先フォームから戻るときは起動コードは実行されません。


「Status」(ブロック)プロパティ

  全プロパティ

説明

そのブロックの現在のステータスを表します。ブロックのステータスは新規作成、変更済み、問合せのいずれかです。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY

使用上の注意

フォームの現在のブロックのステータスは、SYSTEM.BLOCK_STATUSシステム変数の値を調べることで判断することができます。また、フォームのステータスは、SYSTEM.FORM_STATUSシステム変数の値で調べます。


「Status」(レコード)プロパティ

  全プロパティ

説明

そのレコードの現在のステータスを表します。レコードのステータスは新規作成、変更済み、問合せ、挿入のいずれかです。

適用先　レコード

設定方法  プログラム

参照するビルトイン

•	GET_RECORD_PROPERTY

•	SET_RECORD_PROPERTY

使用上の注意

「Status」プロパティを使用すると、すべてのレコードのステータスを調べることができます。また、SYSTEM.RECORD_STATUSシステム変数の値を調べると、フォームの現在のレコードのステータスがわかります。

一般に、割当て値が前値と同一であっても、データベース項目に割当てを行うと、レコードのステータスがQUERYからCHANGEDまたはNEWからINSERTに変更されます。割当て時には、項目がOUTパラメータかIN OUTパラメータカウントとしてプロシージャに渡されます。


「サブクラス情報」プロパティ

  全プロパティ

説明

参照オブジェクトのソース・オブジェクトおよびソース・モジュールに関する次の情報を指定します。

モジュール	ソース・モジュールの名前。

記憶域	ソース・モジュール・タイプ（フォームまたはメニュー）と位置（ファイル・システムまたはデータベース）。

名前	ソース・モジュール内のソース・オブジェクトの名前（参照オブジェクトの名前はソース・オブジェクトの名前と同一である必要はありません）。

適用先　任意の参照オブジェクト

設定方法  Form Builder

必須/オプション　オプション


「サブメニュー名」プロパティ

  全プロパティ

説明

メイン・メニューに関連付けられたサブメニュー名を指定します。「サブメニュー」プロパティを起動するには、「コマンド・タイプ」プロパティが「メニュー」に設定されている必要があります。

適用先  メニュー項目

設定方法  Form Builder

必須/オプション  必須

デフォルト

NULL


「サマリー済みブロック」プロパティ

  関連項目	  全プロパティ

説明

サマリー計算した項目に値を割り当てるため、その項目で集計されたすべての行（合計、平均など）に対してForm Builderブロックを指定します。

適用されるオブジェクト　ブロック

設定方法  Form Builder

必須/オプション  対応する項目の「計算モード」プロパティが「サマリー」に設定されている場合は、必須


「サマリー結果項目」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

サマリー計算した項目に値を割り当てるため、集計した値（合計、平均など）であるForm Builder項目を指定します。

適用されるオブジェクト項目

設定方法  Form Builder

必須/オプション  対応する項目の「計算モード」プロパティが「サマリー」に設定されている場合は、必須


「サマリー結果項目」プロパティの制限事項

•	サマリー結果項目をサマリー項目にすることはできません。

•	サマリー結果項目がサマリー項目と同じブロック内にない場合、サマリー項目の「単一レコード」プロパティが「はい」に設定された制御ブロック内にある必要があります。


「サマリー･ファンクション」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

Form Builderがサマリー結果項目上で実行する計算関数のタイプを指定します。

平均	ブロック内の全レコードのサマリー結果項目の平均値（算術平均）。

カウント	ブロック内の全レコードのサマリー結果項目のNULL以外のすべてのインスタンスの件数。

最大	ブロック内の全レコードのサマリー結果項目の最大値。

最小	ブロック内の全レコードのサマリー結果項目の最小値。

標準偏差	ブロック内の全レコードのサマリー結果項目の値の標準偏差

合計	ブロック内の全レコードのサマリー結果項目のすべての値の合計。

平方偏差	ブロック内の全レコードのサマリー結果項目の値の標準偏差（平方偏差は標準偏差の2乗として定義されています）。

注意: 算術演算の詳細は、『Oracle8 Server SQLリファレンス』を参照してください。

適用されるオブジェクト項目

設定方法  Form Builder

必須/オプション  対応する項目の「計算モード」プロパティが「サマリー」に設定されている場合は、必須

デフォルト

なし


「サマリー･ファンクション」プロパティの制限事項

項目の「サマリー・タイプ」が「Max」または「Min」でない限り、「パラメータのデータ型」プロパティはNumberに設定する必要があります。この場合、データ型は対応するサマリー結果項目のデータ型をミラー化してください。たとえば、HIRE_DATE列に最も新しい（つまり最大の）日付を表示する計算項目にはDateのデータ型が必要です。


「項目と同期」プロパティ

 制限事項	  全プロパティ

説明

現在の項目の値を取り出す項目の名前を指定します。このプロパティを設定すると、2つの項目の値が同期化され、効果的にミラー化されます。エンドユーザーまたはアプリケーションによってどちらかの項目の値が変更されると、もう一方の値も変更されます。

適用先　OLEコンテナを除くすべての項目

設定方法  Form Builder

必須/オプション　オプション

デフォルト

NULL

使用上の注意

•	このプロパティは、前のリリースでの「ミラー項目」プロパティに相当するプロパティです。

•	実表や制御ブロックに対して、「項目と同期」プロパティを設定できます。「項目と同期」プロパティを指定すると、現在の項目の「実表項目」プロパティは無視され、項目はその値をデータベース内の列からではなく、指定されたミラー項目から導出します。

•	GET_ITEM_PROPERTYビルトインを使用して「実表項目」プロパティを取得する場合、指定されたミラー項目から値が取得されます。

•	ミラー項目を使用すると、ブロック内に同じデータベース列の値を表示する複数の項目を作成できます。


「項目と同期」プロパティの制限事項

•	同じミラー項目を指し示すフォーム内の項目数の最大値は100です。


「タブ連結枠」プロパティ

 制限事項	  全プロパティ

説明

タブ・キャンバスに連結するタブの位置を指定します。

適用されるオブジェクトタブ・キャンバス

設定方法  Form Builder

デフォルト

上揃え

必須/オプション  必須


「タブ連結枠」プロパティの制限事項

このプロパティは、設定できるのはタブ・キャンバスのみです。


「タブ・ページ」プロパティ

  関連項目	  全プロパティ

説明

この項目を配置するタブ・ページの名前を指定します。

適用されるオブジェクト項目

設定方法  Form Builder

デフォルト

なし

参照するビルトイン

•	GET_ITEM_PROPERTY（プログラムのプロパティ名は「Item_Tab_Page」です）

必須/オプション  項目がタブ・キャンバスに配置されている場合は必須


「Tab Page X Offset」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

タブ・キャンバスの左側の枠とタブ・ページの左側の枠との間隔を表します。返される値は、フォーム座標系の単位がピクセル、センチメートル、インチ、またはポイントのどれであるかによって異なります。

適用されるオブジェクトタブ・キャンバス

参照するビルトイン

•	GET_CANVAS_PROPERTY


「Tab Page X Offset」プロパティの制限事項

•	このプロパティは取得のみできます。設定はできません。

•	このプロパティを設定できるのは、タブ・キャンバスのみです。タブ・キャンバス以外のキャンバスでは、0が戻されます。


「Tab Page Y Offset」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

タブ・キャンバスの上の枠とタブ・ページの上の枠との間隔を表します。戻す値は、ｾピクセル、センチメートル、インチまたはポイントを使用するフォーム座標システムによって決まります。

適用されるオブジェクトタブ・キャンバス

参照するビルトイン

•	GET_CANVAS_PROPERTY


「Tab Page Y Offset」プロパティの制限事項

•	このプロパティは取得のみできます。設定はできません。

•	このプロパティを設定できるのは、タブ・キャンバスのみです。タブ・キャンバス以外のキャンバスでは、0が戻されます。


「タブ・スタイル」プロパティ

  全プロパティ

説明

タブ・キャンバス上のラベル付きタブの形を指定します。

適用されるオブジェクトタブ・キャンバス

設定方法  Form Builder

デフォルト

面取り

必須/オプション  必須


「切離しメニュー」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

メニューを切離しメニューとして定義するかどうかを指定します。

適用されるオブジェクト メニュー

設定方法  Form Builder

デフォルト

いいえ


「切離しメニュー」の制限事項

切離しメニューをサポートするのは、ウィンドウ・マネージャ上のプルダウン・メニュー・スタイルのみです。


「Timer_Name」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

最後にタイムアウトとなったタイマーの名前を表します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

必須/オプション　オプション


「Timer_Name」プロパティの制限事項

When-Timer-Expiredトリガー内で調べる場合のみ有効です。


「タイトル」プロパティ

  全プロパティ

説明

そのオブジェクトに表示するタイトルを指定します。

適用されるオブジェクト 警告、フォーム・モジュール、値リスト、ウィンドウ

設定方法  Form Builder

必須/オプション　オプション

タイトル（LOV）

デフォルト

NULL

必須/オプション　オプション

タイトル（ウィンドウ）

参照するビルトイン

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY

必須/オプション　オプション

使用上の注意

•	ウィンドウ・タイトルの長さの上限は、使用されているディスプレイ・ドライバによって異なります（たとえば、SVGA 1280x1024で、Windows NTで動作している場合、上限は78文字です）。

•	ルート・ウィンドウ以外のウインドウにタイトルを指定しないと、Form Builderはウィンドウの「名前」プロパティに示されるそのウィンドウのオブジェクト名を使用します。

•	ルート・ウィンドウにタイトルを指定せず、現行のメニューが「デフォルト」メニューの場合は、フォーム・モジュールの「名前」プロパティに指定されたフォーム・モジュール名がルート・ウィンドウ・タイトルに使用されます。また、現在のメニューが「プルダウン」または「バー」表示形式で実行されるカスタム・メニューの場合、Form Builderでは、ルート・ウィンドウ上のモジュールにある、メイン・メニュー名がタイトルに使用されます。このメイン･メニュー名は、メニュー・モジュールの「メイン・メニュー」プロパティで指定されているものです。


「ツールチップ」プロパティ

  関連項目	  全プロパティ

説明

マウス・カーソルが項目に入ったとき、項目の下にある小ボックスへ表示するヘルプ・テキストを指定します。

適用されるオブジェクト項目

設定方法 Form Builder、プログラム

参照するビルトイン

• GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

ブランク

必須/オプション　オプション


「ツールチップのバックグラウンド・カラー」プロパティ

  関連項目	  全プロパティ

説明

オブジェクトのバックグラウンド領域のカラーを指定します。

適用されるオブジェクト項目

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

• SET_ITEM_PROPERTY


「ツールチップの塗りパターン」プロパティ

  関連項目	  全プロパティ

説明

オブジェクトの塗り領域に使用されるパターンを指定します。パターンは、「Background_Color」プロパティおよび「Foreground_Color」プロパティで指定された2つのカラーでレンダリングされます。

適用されるオブジェクト項目

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

• SET_ITEM_PROPERTY


「ツールチップのフォント名」プロパティ

  関連項目	  全プロパティ

説明

オブジェクト内のテキストに使用されるフォント・ファミリ、または書体を指定します。どのようなフォントが使用できるかはシステムによって異なります。

適用されるオブジェクト項目

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


「ツールチップのフォント・サイズ」プロパティ

  関連項目	  全プロパティ

説明

フォントのサイズをポイント単位で指定します。

適用されるオブジェクト項目

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


「ツールチップのフォント間隔」プロパティ

  関連項目	  全プロパティ

説明

フォントの幅（文字間のスペースの大きさ、またはカーニング）を指定します。

適用されるオブジェクト項目

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


「ツールチップのフォント・スタイル」プロパティ

  関連項目	  全プロパティ

説明

フォントのスタイルを指定します。

適用されるオブジェクト項目

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


「ツールチップのフォントの太さ」プロパティ

  関連項目	  全プロパティ

説明

フォントの幅を指定します。

適用されるオブジェクト項目

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


「ツールチップのフォアグラウンド・カラー」プロパティ

  関連項目	  全プロパティ

説明

オブジェクトのフォアグラウンド領域のカラーを指定します。項目については、項目内に表示されるテキストのカラーを定義します。

適用されるオブジェクト項目

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


「ツールチップ可視属性グループ」プロパティ

  全プロパティ

説明

実行時にツールのヒントに適用する名前付き可視属性を指定します。

適用されるオブジェクト 項目のツールチップ

設定方法  Form Builder

デフォルト

デフォルト

必須/オプション  必須


「ツールチップの黒地に白」プロパティ

  関連項目	  全プロパティ

説明

オブジェクトをモノクロのビットマップ表示装置上に、白地のテキストと黒地のバックグラウンドで表示するように指定します。

適用されるオブジェクト項目

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY


「開始プロンプト整列」プロパティ

 ヒント	  全プロパティ

説明

プロンプトを項目の上枠のどの位置（始点、終点、または中央揃え）に揃えるかを指定します。このプロパティは「レイアウト・スタイル」プロパティが「表」の場合にのみ有効です。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

始点

必須/オプション  必須


「開始プロンプト整列」プロパティ


「開始プロンプトのオフセット」プロパティ

 ヒント	  全プロパティ

説明

「開始プロンプト整列」プロパティが「始点」に設定されている場合に、プロンプトとその項目間の間隔を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

0(文字セル)

必須/オプション  必須


「開始プロンプトのオフセット」プロパティ


「Top_Record」プロパティ

  全プロパティ

説明

このブロックで参照できる1番上のレコードのレコード番号を表します。（レコードには、ブロック内部のレコード・リスト上での順番に番号が付けられます。

適用されるオブジェクト　ブロック

設定　設定できません。

参照するビルトイン

GET_BLOCK_PROPERTY

使用上の注意

TOP_RECORDプロパティとRECORDS_DISPLAYEDプロパティの値を両方とも調べれば、参照できる1番下のレコードを調べることができます。1番下のレコードとは、そのブロックに現在表示されているレコード内で最も番号が大きいレコードの番号をさします。


「Top Title」プロパティ

  全プロパティ

説明

エディタ・ウィンドウの上部に表示するタイトル（最大72文字）を指定します。

適用されるオブジェクト  エディタ

設定方法  Form Builder

必須/オプション　オプション


「Topmost_Tab_Page」プロパティ

  制限事項      [image]  全プロパティ

説明

タブ・キャンバスの1番上のタブ・ページを指定します。

適用されるオブジェクトタブ・キャンバス

設定　Form Builder、プログラム

参照するビルトイン

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

デフォルト

「タブ・ページ」ノードの下に表示される最初のタブ・ページ


「Topmost_Tab_Page」プロパティの制限事項

このプロパティは、設定できるのはタブ・キャンバスのみです。


「Transactional Triggers」プロパティ

  全プロパティ

説明

このブロックをトランザクション制御ブロック、つまり、トランザクション・ブロックとして管理される非データベース・ブロックにするかどうかを指定します。このプロパティは、Oracle以外のデータ・ソースを使用し、トランザクション・トリガーを含むアプリケーションのために用意されています。Oracleデータベースを使用するアプリケーションでは、このプロパティを「いいえ」に設定してください。

Oracle以外のデータ・ソースを使用するアプリケーションを作成する場合は、トランザクション制御ブロックを作成してデータ・ブロックの機能をシミュレートする必要があります。設計時に実表が指定されていない（「Base Table」ブロック・プロパティが「NULL」の）ブロックは制御ブロックです。

詳細については、『Form Builder Advanced Techniques』の第4章「Connecting to Non-ORACLE Data Sources」を参照してください。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

いいえ

使用上の注意

•	トランザクション・トリガーは「Base Table」プロパティが「NULL」のときのみ適用されます。

•	「Transactional Triggers」を「はい」に設定すると、「主キーの強化」プロパティと「列セキュリティの強化」プロパティが使用可能になります。


「トリガー・スタイル」プロパティ

  全プロパティ

説明

トリガーのスタイル、つまり「PL/SQL」か「V2-スタイル」のいずれかを指定します。オラクル社では、PL/SQLトリガーのみコーディングすることをお薦めします。V2-スタイル・トリガーは、前バージョンとの互換性を保つために用意しています。

適用されるオブジェクト  トリガー

設定方法  Form Builder

デフォルト

PL/SQL

使用上の注意

「V2-スタイル」トリガーを選択すると、「トリガー・ステップ」プロパティ・シートを開く「ズーム」ボタンが使用可能になります。


「トリガー・テキスト」プロパティ

  全プロパティ

説明

トリガーの起動時に、Form Builderで実行するPL/SQLコードを指定します。

適用されるオブジェクト  トリガー

設定方法  Form Builder

必須/オプション  必須


「トリガー・タイプ」プロパティ

  関連項目	  全プロパティ

説明

ユーザー命名トリガーは、特別な場合にのみ使用します。このタイプのトリガーは、通常、アプリケーションでは使用しません。

適用先

トリガー

設定方法  Form Builder

デフォルト

PL/SQL

必須/オプション  必須

使用上の注意

このプロパティに指定できるトリガー・タイプは次のどれかです。

ビルトイン	Form Builderによって提供されるトリガーで、特定の事前定義済み実行時イベントに対応している。

User-Named	Form Builderから提供されないトリガー。ユーザー命名トリガーを実行できるのは、EXECUTE_TRIGGERビルトイン・プロシージャ・コールのみです。


「更新可」（ブロック）プロパティ

 制限事項	    関連項目	  全プロパティ

説明

「更新可」項目プロパティで「はい」と設定されているブロック内の項目値を、エンド・ユーザーが変更できるようにするかどうかを指定します。（ブロックの「更新可」プロパティを「いいえ」に設定すると、そのブロック内のすべての項目の「更新可」が「いいえ」で上書きされます。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト

はい


「更新可」(ブロック)プロパティの制限事項

「更新可」ブロック・プロパティを「はい」に設定しても、1つとして「更新可」項目プロパティを「はい」に設定した項目が同じブロック内になければ、そのブロックは更新できません。


「更新可」(項目)プロパティ

 制限事項	    関連項目	  全プロパティ

説明

問合せ対象レコード内の実表項目の値を、エンド・ユーザーが変更してもよいかどうか指定します。「更新可」プロパティを「いいえ」に設定すれば、エンド・ユーザーが問合せ対象レコード内の該当項目にナビゲートすることは可能です。しかし、値を変更しようとすると、Form Builderからエラー・メッセージ「FRM-40200：フィールドは、UPDATEに対してプロテクトしています。」が表示されます。

「更新可」プロパティを「はい」に設定すると、エンド・ユーザーが「新規(挿入）」レコードに値を入力できるようになります。

適用されるオブジェクト  ボタン、チャート項目、イメージ項目を除くその他すべての項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_INSTANCE_PROPERTY

•	GET_ITEM_PROPERTY

•	SET_ITEM_INSTANCE_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

使用上の注意

•	定数UPDATE_ALLOWEDまたはUPDATEABLEを使用して、「更新可」（項目）プロパティをプログラムで設定できます。前のリリースとの互換性を考慮する場合は、定数UPDATEABLEを使用します。

•	実行時に「使用可能」がPROPERTY_FALSEに設定されていると、項目や項目インスタンスの「更新可」プロパティもPROPERTY_FALSEに設定されます。

•	「更新可」プロパティが複数のレベル（項目インスタンス、項目およびブロック）で指定されている場合、それらの値はAND結合されます。すなわち、項目のインスタンスの「更新可」プロパティを「はい」に（実行時にはPROPERTY_TRUEに）設定しても、ブロック・レベル項目レベルで一貫してその設定がなされていない限り、インスタンス・レベルでの設定は無効です。たとえば、「更新可」プロパティがインスタンス・レベルでは「はい」であり、項目レベルおよびブロック・レベルで「いいえ」の場合、ユーザーは項目インスタンスを更新できません。


「更新可」(項目)プロパティの制限事項

•	SET_ITEM_PROPERTYビルトインを使用して「UPDATE_ALLOWED」プロパティを「True」に設定する場合、項目プロパティを次のように設定する必要があります。

• 「使用可能」を「はい」に（実行時にはPROPERTY_TRUEに）

• 「可視」を「はい」に（実行時にはPROPERTY_TRUEに）

• 「実表項目」を「はい」に（実行時にはPROPERTY_TRUEに）

• 「NULLのみ更新」を「いいえ」に（実行時にはPROPERTY_FALSEに）


「変更列のみ更新」プロパティ

  全プロパティ

説明

問合せ対象レコードに更新マークが付いている場合、値が実際に変更された列のみについて、コミット中にデータベースに送信するSQL UPDATE文に組み込むかどうかを指定します。デフォルトでは、「更新列のみ更新」プロパティは「いいえ」に設定され、すべての列がUPDATE文に組み込まれます。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

デフォルト:

いいえ

必須/オプション　オプション

使用上の注意

• 「DML配列サイズ」プロパティを1より大きい値に設定すると、この「変更列のみを更新」プロパティは実行時には無視されます。すなわち、DML配列サイズが1より大きいときには、「変更列のみ更新」が「はい」に設定されていてもすべての列が更新されます。

• 「更新列のみ更新」を「いいえ」に設定すると、更新のたびにSQL文を再解析することなく、複数の更新で同じSQLを再利用できます。「更新列のみ更新」を「はい」に設定すると、更新のたびにUPDATE文が解析されるため、パフォーマンスが低下することがあります。通常は、LONGのようにネットワーク転送に時間のかかる列値で、オペレータもめったに更新しないのが明らかな場合のみ、「更新列のみ更新」を「はい」に設定します。

• 次のような場合に、「更新列のみ更新」プロパティを「はい」に設定します。

ネットワークの通信量を抑えたくて、オペレータが主に更新するレコードが1、2列のみの場合。

イメージやLONGなど、更新されない大きな項目が何度も送信されないようにする場合。

変更された列のみでデータベース・トリガーを起動する場合。たとえばセキュリティ・スキームをインプリメントする場合。列が更新されたときに起動し、表を更新しているユーザーのユーザーIDを書き込むデータベース・トリガーを使用します。


「Update_Column」プロパティ

  関連項目	  全プロパティ

説明

このプロパティを「はい」と設定すると、この項目は更新されたものとして扱われます。

「更新列のみ更新」ブロック・プロパティが「はい」に設定されている場合に、「Update Column」プロパティを「Property_True」に設定すると、その項目は更新されているものとみなされ、対応する列はデータベースに送信されるUPDATE文に組み込まれるべき項目として扱われます。

「更新列のみ更新」ブロック・プロパティを「はい」と設定し、「Update Column」を「Property_False」に設定すると、データベースに送るUPDATE文には、項目の列が含まれません。

「更新列のみ更新」ブロック・プロパティが「いいえ」に設定されている場合は、「Update Column」プロパティの値は無視され、実表の列が、すべてUPDATE文に組み込まれます。

適用されるオブジェクト項目

設定方法  プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

必須/オプション　オプション

使用上の注意

このプロパティは、主に「更新列のみ更新」プロパティと組み合わせて使用します。しかし、「更新列のみ更新」が「はい」と設定されているかどうかにかかわらず、このプロパティを使用すれば任意の列が更新されたかどうかをチェックできます。

注意: 「Update Column」プロパティの値は「レコード・ステータス」の値に影響しますが、すべての列の「Update Column」プロパティを「Property_Off」に設定しても、「レコード・ステータス」の値は「問合せ」に戻りません。「レコード･ステータス」の値を「問合せ」に戻す場合は、SET_RECORD_PROPERTYビルトインを使って明示的に設定する必要があります。


「Update Commit」プロパティ

  全プロパティ

説明

チャート項目を更新して、ソース・ブロックにコミットして変更してある新レコードや更新レコードを反映させるかどうかを指定します。

適用されるオブジェクト  チャート項目

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「Update Layout」プロパティ

  全プロパティ

説明

フレームのレイアウトを更新したときに指定します。

自動実行時	レイアウトは、枠が移動またはサイズ変更されたとき、および枠のレイアウト・プロパティが変更されたときに、更新されます。

手動実行時	レイアウトは、レイアウト・ウィザードを使用して枠が変更されたとき、およびユーザーが「Update Layout」ボタンまたはメニュー・オプションをクリックしたときに更新されます。

ロック時	レイアウトはロックされ、更新できません。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「NULLのみ更新」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

項目の現行の値がNULLのときのみ、オペレータで項目の値を変更可能にするかどうかを指定します。

適用されるオブジェクト  イメージ項目、リスト項目、サウンド項目、テキスト項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

いいえ

必須/オプション　オプション

使用上の注意

プログラムで「NULLのみ更新」プロパティを設定するのみなら、定数UPDATE_NULLを使用します。


「NULLのみ更新」プロパティの制限事項

項目プロパティが次のように設定されていなければなりません。

• 「使用可能」を「はい」に設定

• 「可視」を「はい」に設定

• 「更新可」を「いいえ」に設定


「Update_Permission」プロパティ

  関連項目	  全プロパティ

説明

「Update_Permission」を「いいえ」と設定すると、次の3つのアクションが許可されます。

• 「Update_If_Null」プロパティを「いいえ」に設定します。

• 「更新可」プロパティを「いいえ」に設定します。

• UPDATE文のSET句からこの列を削除して、Form Builderによって発行されるどのUPDATE文にも組み込まれないようにします。

適用されるオブジェクト  ボタンおよびチャート項目を除くすべての項目

設定方法  プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

デフォルト

はい

必須/オプション　オプション

使用上の注意

フォームの開発者は「Update_Permission」を使用して、所有するセキュリティ・メカニズムをインプリメントし、Form Builderのデフォルトの「列セキュリティの強化」プロパティを上書きすることができます。このプロパティは、Oracle以外のデータ・ソースを使用するアプリケーションのために用意されています。たとえば、On-Column-Securityトリガーを使用してカスタム・セキュリティ・スキームをインプリメントする場合など、任意のUPDATE文から特定の列の除外する必要がある場合に「Update_Permission」プロパティを使用します。


「更新プロシージャの引数」プロパティ

  関連項目	  全プロパティ

説明

データを更新するプロシージャに渡す引数の、名前、データ型および値を指定します。「更新プロシージャの引数」プロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「更新プロシージャ名」プロパティ

  関連項目	  全プロパティ

説明

データを更新するのに使用するプロシージャの名前を指定します。「更新プロシージャ名」プロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「更新プロシージャの結果セット列」プロパティ

  関連項目	  全プロパティ

説明

データを更新するプロシージャに対応付けられた、結果セット列の名前とデータ型を指定します。「更新プロシージャの結果セット列」プロパティは、「DMLデータ宛先タイプ」プロパティが「プロシージャ」に設定されている場合にのみ有効です。

適用されるオブジェクト　ブロック

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「問合せ時に更新」プロパティ

  全プロパティ

説明

ソース･ブロック内でレコードを問合せ、変更を反映させるために、チャート項目を更新するかどうかを指定します。

適用されるオブジェクト  チャート項目

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「セキュリティ使用」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

「モジュール・ロール」プロパティを使用してメニュー・モジュールに定義されたセキュリティ・スキームを施行するかどうかを指定します。

適用されるオブジェクト  メニュー・モジュール

設定方法  Form Builder

デフォルト

いいえ

使用上の注意

このプロパティを「いいえ」に設定すれば、開発者は、データベ－ス・ロールのメンバーにならなくてもメニュー・モジュールをテストできます。テスト完了後の本稼働では「セキュリティ使用」を「はい」に戻せば、ロールを再び有効にできます。


「セキュリティ使用」プロパティの制限事項

なし


「3Dコントロール使用」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

Microsoft Windows上で、項目を3次元つまり凹凸を付けて表示するかどうかを指定します。

「3Dコントロール使用」を「はい」と設定すると、「可視属性グループ」プロパティが「デフォルト」に設定されたキャンバスのバックグラウンド・カラーは自動的にグレーになります。

また、「3Dコントロール使用」を「はい」と設定すると、たとえば項目レベルの「凹凸」プロパティが「凸」に設定されていても、すべての項目が自動的に凹で表示されます。

適用されるオブジェクト　フォーム

設定方法  Form Builder

デフォルト

新規フォームの場合は「はい」。Form Builderの前バージョンからアップグレードしたフォームの場合は「いいえ」。


「3Dコントロール使用」プロパティの制限事項

Microsoft Windowsにおいてのみ有効です。


「ユーザー名」プロパティ

  全プロパティ

説明

現行のオペレータのユーザー名を表します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

使用上の注意

このプロパティは、On-Logonトリガー内のLOGONビルトインまたはOracle以外のデータ・ソースに接続する場合に使用します。

「ユーザー名」プロパティにはユーザー名のみが戻されます。接続文字列も知りたい場合は、「接続文字列」プロパティの値を調べてください。


User_Date/Datetime_Formatプロパティ

  関連項目	  全プロパティ

説明

環境変数FORMSnn_USER_DATE_FORMATまたはFORMSnn_USER_DATETIME_FORMATで設定された現在日付またはdatetime書式マスクを保持します。

User_Date_FormatとUser_Datetime_Formatの2種類のプロパティがあります。

適用されるオブジェクト　アプリケーション

設定　Form Builder内では設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY


「User_Interface」プロパティ

  全プロパティ

説明

現在使用されているユーザー・インタフェースの名前を表します。

適用されるオブジェクト　アプリケーション

設定　設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

使用上の注意

このプロパティには次のいずれかの値が戻されます。

•	BLOCKMODE

•	CHARMODE

•	MACINTOSH

•	MOTIF

•	MSWINDOWS

•	MSWINDOWS32

•	PM

•	WIN32COMMON

•	WEB

•	X


「User_NLS_Date_Format」プロパティ

  関連項目	  全プロパティ

説明

現在のNLS日付書式マスクを取得します。

適用されるオブジェクト　アプリケーション

設定　Form Builder内では設定できません。

参照するビルトイン

GET_APPLICATION_PROPERTY

このプロパティは読取り専用です。このためSET_APPLICATION_PROPERTYでは指定できません。

たとえば、「PLSQL_DATE_FORMAT」プロパティを現在のNLS日付書式マスクの値に設定する場合、アプリケーションのWHEN-NEW-FORM-INSTANCEトリガー内で、次のようにコーディングできます。

SET_APPLICATION_PROPERTY(PLSQL_DATE_FORMAT,
              GET_APPLICATION_PROPERTY(USER_NLS_DATE_FORMAT));

デフォルト

なし


「User_NLS_Lang」プロパティ

  全プロパティ

説明

各国語サポートの、現行のランフォーム・セッション用に定義されている、NLS_LANG環境変数の完全な値を指定します。「USER_NLS_LANG」プロパティは、次のプロパティを連結したものと等価です。

• USER_NLS_LANGUAGE（言語のみ）

• USER_NLS_TERRITORY（地域のみ）

• USER_NLS_CHARACTER_SET（キャラクタ・セットのみ）

適用されるオブジェクト　アプリケーション

設定　Form Builder内では設定できません。オペレーティング・システム・レベルで設定してください。

参照するビルトイン

GET_APPLICATION_PROPERTY

デフォルト

デフォルトは通常「America_American.WE8ISO8859P1」ですが、すべてのデフォルトはポート固有のものとすることができます。


「リストで妥当性チェック」プロパティ

  関連項目	  全プロパティ

説明

テキスト項目の値の妥当性を、値リストに付加されたリスト内の値に照らしてForm Builderでチェックするかどうかを指定します。

適用されるオブジェクト　テキスト項目

設定方法  Form Builder

デフォルト

いいえ

必須/オプション　オプション

制限事項:

「値リスト」プロパティは必ず指定してください。

使用上の注意

「リストで妥当性チェック」プロパティが「はい」の場合は、「妥当性検査」イベントが発生するたびに、テキスト項目の現行の値と、値リストの最初の列表示の値を、Form Builderで比較します。

•	テキスト項目内の値が、値リストの最初の列値のどれかと一致すると、値リストは表示されずに妥当性検査が成功して、処理が正常に継続されます。

•	テキスト項目内の値が値リストの最初の列値のどれかと一致しないと、Form Builderで値リストが表示されます。その後、テキスト項目の値を検索基準として使用して、リストを自動的に縮小します。

たとえば、オペレータが6桁の製品コードのうち最初の3桁のみを入力して次の項目に移ろうとした場合を考えます。次の項目はナビゲートされるので、自動的に最初の3桁が一致するコードのみに絞られたリストをForm Builderで表示します。

•	オペレータが値リストから任意の値を選択すると、Form Builderで値リストを画面から消去し、選択した値が対応する戻り項目に割り当てられます。

妥当性チェックに値リストを使用する場合、オペレータが値リストから任意の値を選択すれば、テキスト項目は一般に有効とみなされます。したがって、設計者は次の点に留意する必要があります。

•	値リストが付加されるテキスト項目を、値リストに表示される最初の列の戻り項目として定義すること。

•	値リストの値を有効にすること。

ただし、項目上でWhen-Validate-Itemトリガーは引き続き有効であり、このトリガーで実行される妥当性チェックも引き続き有効です。

また、値リストに表示される先頭列は、値リストの基礎となるレコード・グループの先頭列でないことがあるのでご注意ください。これは、一部のレコード・グループの列が値リスト構造体に入っていなかったか、非表示列である場合です。


「Validation」プロパティ

  全プロパティ

説明

任意のフォームで、Form Builderでデフォルトの、妥当性チェック処理を使用可能にするかどうかを指定します。

適用されるオブジェクトフォーム・モジュール

設定方法  プログラム

参照するビルトイン

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY

デフォルト

はい

使用上の注意

「Validation」プロパティを「いいえ」に設定すると、すべての内部フォームの妥当性チェックがバイパスされてしまい、WHEN-VALIDATEトリガーがまったく起動しなくなります。よってこのプロパティを設定するときは十分注意してください。

特別にForm Builderのデフォルトの妥当性チェック動作をすべて回避する場合は、プログラムによって短時間だけ「Validation」を「いいえ」に設定してください。再び「Validation」を「はい」に戻すと、まだ妥当性チェックをしていないテキスト項目の妥当性を、通常の処理規則に従ってチェックします。

「Validation」を「いいえ」に設定すると、Post-Changeトリガーは問合せ処理中のみ起動され、それ以外の場合はまったく起動しなくなります。


「有効単位」プロパティ

  全プロパティ

説明

実行時のフォーム妥当性チェックの範囲を指定します。このプロパティにより、オペレータがフォームに入力可能なデータの最大値が決まり、Form Builderはその最大量以下のデータに対して妥当性チェックを実行します。通常、アプリケーションでは、「有効単位」を「項目」（ほとんどのプラットフォーム上でのデフォルト値）に設定します。よって、オペレータがある項目から次の項目にナビゲートしようとすると即座に、Form Builderによって項目内のデータの妥当性がチェックされます。

適用されるオブジェクトフォーム・モジュール

設定　Form Builder、プログラム

参照するビルトイン

•	GET_FORM_PROPERTY

•	SET_FORM_PROPERTY

デフォルト

デフォルト

使用上の注意

このプロパティに設定できる値は次のとおりです。

•	Default

•	Form

•	Block

•	Record

•	Item


「チェック時の値」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

チェック・ボックスに「チェック状態」として表示する値を指定します。たとえば、Y、1、MANAGER,または1992など。「チェック状態」の値と一致する値がフェッチされるかまたはチェック・ボックスに割り当てられると、チェック・ボックスは「チェック状態」の状態に表示されます。同様に、オペレータがチェック・ボックスを「チェック状態」の状態にトグルすると、チェック・ボックスの値が「チェック状態」の値になります。

適用されるオブジェクト　チェック・ボックス

設定方法  Form Builder

デフォルト

NULL

必須/オプション　オプション


「チェック時の値」プロパティの制限事項

「パラメータのデータ型」プロパティに指定したデータ型と互換性のある値を指定してください。


「未チェック時の値」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

チェックボックスを「チェックなし」の状態で表示するときの値を指定します。たとえば、Y、1、MANAGER,または1992など。「チェックなし」の値と一致する値がフェッチされるかまたはチェックボックスに割り当てられると、チェックボックスは「チェックなし」の状態に表示されます。同様に、オペレータがチェックボックスを「チェックなし」の状態にトグルすると、チェックボックスの値が「チェックなし」の値になります。

適用されるオブジェクト　チェックボックス

設定方法  Form Builder

デフォルト

NULL

必須/オプション  オプション。このプロパティをブランクにしておくと、「チェックなし」の値は「NULL」になります。


「未チェック時の値」プロパティの制限事項

「パラメータのデータ型」プロパティに指定したデータ型と互換性のある値を指定してください。


「VBX Control File」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

VBXファイルを指定します。

適用されるオブジェクト　VBXコントロール

設定方法  Form Builder

デフォルト

なし

必須/オプション  必須

使用上の注意

どのVBXファイルを指定するかで、どのVBXコントロールが使用可能になるかが決まります。選択できるVBXファイルの数とタイプは、ご使用のシステム上にインストールされているサードパーティのVBXコントロールによって異なります。

パスがハードコードされたフォーム・モジュールを別のコンピュータ・システムに移すと、VBXファイルと位置が無効になるため、「VBXControl File」プロパティには絶対パスを指定しないでください。

絶対パスに対応付けられていないVBXコントロール・ファイルの検索基準は、システムのデフォルトの検索パスです。デフォルトの検索パスでは、指定したVBXコントロール・ファイルが見つからなければ、ORACLE.INIファイルのFORMS60_PATHパラメータを、VBXコントロール・ファイルの検索基準として使用します。さらに、FORMS60_PATHパラメータの検索パスでもVBXコントロール・ファイルが見つからない場合は、VBXコントロールが見つからないというランタイム・エラー・メッセージが表示されます。


「VBX Control File」プロパティの制限事項

Microsoft Windowsにおいてのみ有効です。


「VBX Control Name」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

VBXファイル内のVBXコントロールを指定します。VBXファイルの中には複数のVBXコントロールが入っているものがあります。VBXファイルにVBXコントロールが1つしか含まれていない場合でも、使用するVBXコントロールを指定する必要があります。

適用されるオブジェクト　VBXコントロール

設定方法  Form Builder

デフォルト

なし


「VBX Control Name」プロパティの制限事項

Microsoft Windowsにおいてのみ有効です。


「VBX Control Value」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

VBXコントロールの値プロパティを指定します。このプロパティには、Form Builder内のVBXカスタム項目の値を指定します。

適用されるオブジェクト　VBXコントロール

設定方法  Form Builder

参照するビルトイン

•	VBX.GET_VALUE_PROPERTY

•	VBX.SET_VALUE_PROPERTY

デフォルト

通常、VBXコントロールにはデフォルト値プロパティがあります。デフォルト値プロパティがある場合は、その値がForm Builderの「VBX ControlValue」プロパティのデフォルト値になります。VBXコントロールにデフォルト値プロパティがない場合は、Form Builderの「VBX Control Value」プロパティは「value」という名前のVBXプロパティです。VBXプロパティ「value」がないと、デフォルト値プロパティはForm Builderの「VBX Control Value」プロパティに割り当てられません。

必須/オプション  必須

使用上の注意

「VBX CONTROL VALUE」プロパティはVBXプロパティと自動的に同期化します。したがって、VBXプロパティを変更すると、その内容が「VBX CONTROL VALUE」プロパティにも反映されます。


「VBX Control Value」プロパティの制限事項

Microsoft Windowsにおいてのみ有効です。


「垂直方向の埋込み」プロパティ

  全プロパティ

説明

「レイアウト・スタイル」プロパティが「フォーム」に設定されている場合に、レイアウト・ウィザードで、オブジェクトの周囲の空き領域を使用するかどうか指定します。

はい	レイアウト・ウィザードは使用可能な領域全体を使用して枠オブジェクトを配置します。したがって、「1行あたりの最大オブジェクト数」プロパティは無視されます。

いいえ	レイアウト・ウィザードは枠オブジェクトを配置するときに空き領域を使用しない。オブジェクトをラップするときは、次の枠行の最初に配置します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「垂直文字位置」プロパティ

  全プロパティ

説明

テキスト・オブジェクトの垂直方向の文字位置を「上揃え」、「中央揃え」または「下揃え 」のいずれかに指定します。

適用されるオブジェクト　図形テキスト

設定方法  Form Builder

デフォルト

上揃え

必須/オプション  必須


「垂直方向のマージン」プロパティ

 ヒント	  全プロパティ

説明

枠の上下の境界線の間の距離と枠内のオブジェクトを指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

1文字セル（または、そのフォームの座標システムでこれと等価の値）

必須/オプション  必須


「垂直方向のマージン」プロパティ


「垂直方向のオブジェクト・オフセット」プロパティ

 ヒント	  全プロパティ

説明

枠内のオブジェクト同士の垂直方向の間隔を指定します。

適用されるオブジェクト　枠

設定方法  Form Builder

デフォルト

0

必須/オプション  必須


「垂直方向のオブジェクト・オフセット」プロパティ


「垂直原点」プロパティ

  全プロパティ

説明

テキスト・オブジェクトの相対位置を、オブジェクトの原点を基準にして「上揃え」、「中央揃え」または「下揃え」のいずれかに指定します。

適用されるオブジェクト　図形テキスト

設定方法  Form Builder

デフォルト

上揃え

必須/オプション  必須


「垂直ツールバー・キャンバス」プロパティ

  関連項目	  全プロパティ

説明

ウィンドウ上に垂直ツールバーとして表示するキャンバスを指定します。ただし、指定するキャンバスは、現行のウィンドウに割り当てられた（「ウィンドウ」プロパティで設定）垂直ツールバー・キャンバス（「キャンバス・タイプ」プロパティが「垂直ツール・バー」に設定されているキャンバス）にする必要があります。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

NULL

必須/オプション　垂直ツールバーを作成する場合は必須

使用上の注意

•	「プロパティ」ウィンドウでは、「キャンバス・タイプ」プロパティが「垂直ツール・バー」に設定されたキャンバスのみが、このプロパティのポップリストに表示されます。

•	実行時に、Form Builderはウィンドウに指定された垂直ツールバーを表示しようとします。しかし、同じウィンドウに同じタイプのツールバーが複数割り当てられている（キャンバスの「ウィンドウ」プロパティが指定されたウィンドウを指し示すように設定されている）場合は、ナビゲーション・イベントやプログラムによる制御に応答して別のツールバーが表示される可能性があります。

•	Microsoft Windows上では、「Form Vertical Toolbar Canvas」フォーム・プロパティを使用して垂直ツールバー・キャンバスがMDIアプリケーション・ウィンドウ上に表示されるように設定した場合、指定した垂直ツールバー・キャンバスはウィンドウ上に表示されません。


「高さ」プロパティと「幅」プロパティ

 制限事項	  全プロパティ

説明

スタック・キャンバス用のビューの幅と高さを指定します。ビューのサイズと位置は、キャンバスの中の、実行時にウィンドウに実際に表示される部分を定義します。

注意: コンテント・キャンバスまたはツールバー・キャンバスでは、ビューがキャンバスを割り当てているウィンドウで表され、「高さ」プロパティと「幅」プロパティは適用されません。

適用されるオブジェクト　キャンバス

設定　Form Builder、プログラム

参照するビルトイン

SET_VIEW_PROPERTY

デフォルト

0,0

必須/オプション　オプション


「高さ」プロパティと「幅」プロパティの制限事項

このプロパティは、スタック・ビュー（「キャンバス・タイプ」プロパティが「スタック」に設定されている）のみで有効です。コンテント・ビューのビューポート・サイズは、コンテント・ビューが表示されるウィンドウの実行時のサイズによって決まります。


「ビューポートのX位置」プロパティ、「ビューポートのY位置」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

スタック・キャンバス左上隅のX座標とY座標を、ウインドウの現行内容にあるビューの、上左隅からみた相対位置で指定します。

適用されるオブジェクト　キャンバス

設定　Form Builder、プログラム

参照するビルトイン

•	GET_VIEW_PROPERTY

•	SET_VIEW_PROPERTY

デフォルト

0,0

必須/オプション　オプション


「ビューポートのX位置」プロパティと「ビューポートのY位置」プロパティの制限事項

このプロパティは、コンテントキャンバスビュー、つまり、「キャンバス・タイプ」プロパティが「コンテント」に設定されたキャンバスビューでは無効です。


「キャンバス上のビューポートのX位置」プロパティと「キャンバス上のビューポートのY位置」プロパティ

  関連項目	  全プロパティ

説明

ビューの左上隅の位置を、キャンバスの左上隅からの相対位置で指定します。ビューポートのサイズと位置によりビュー、つまり、キャンバスの中で、割り当てられているウィンドウに実際に表示する部分を定義します。

適用されるオブジェクト　キャンバス

設定　Form Builder、プログラム

参照するビルトイン

•	GET_VIEW_PROPERTY

•	SET_VIEW_PROPERTY

デフォルト

0,0


「可視」プロパティ

  関連項目	  全プロパティ

説明

オブジェクトを、現行では表示するのか、また、参照できる状態にするかどうかを指定します。「可視」プロパティを「はい」または「いいえ」に設定すると、キャンバスやウィンドウを表示したり隠したりできます。

適用されるオブジェクト　キャンバス、ウィンドウ

設定方法  プログラム

参照するビルトイン

•	GET_VIEW_PROPERTY

•	GET_WINDOW_PROPERTY

•	SET_VIEW_PROPERTY

•	SET_WINDOW_PROPERTY

デフォルト

TRUE

使用上の注意

•	現行の項目を含むキャンバスを隠すことはできません。

•	現行の項目を含むウィンドウは隠すことができます。

注意: オペレーティング・システムの中には、フォーム内のウィンドウしか隠せないものがあります。

•	GET_WINDOW_PROPERTYビルトインを使用してウィンドウの可視状態を判別する場合、Form Builderでは次のルールが適用されます。

•	ウィンドウ全体が別のウィンドウの後ろに隠れていても、ウィンドウが表示されていれば、そのウィンドウは参照できるとみなされます。

•	アイコン化（最小化）されているウィンドウはオペレータが参照できるとみなされます。これは、最小化されていても、ウィンドウが画面にマッピングされているためです。

•	GET_VIEW_PROPERTYビルトインを使用してキャンバスの可視性を判別する場合、Form Builderでは次のルールが適用されます。

•	ビューは次の場合に参照できるとみなされます。a) そのウィンドウで1番手前に表示されている場合。b) 他のビューに一部分しか隠れていない場合。

•	ビューは次の場合に参照できないとみなされます。a)ウィンドウでコンテント・ビューの後ろに隠れたスタック・ビューの場合。b)ビューが他のスタック・ビューの1つによって完全に隠されている場合。ただし、複数のスタック・ビューによってビュー全体が隠されている場合は、参照できるとみなされます。

•	ウィンドウの表示状態は、キャンバスの「可視」プロパティの値には影響しません。つまり、キャンバスが表示されているウィンドウが現在画面にマッピングされていなくても、そのキャンバスが参照できるとみなされることがあります。


「可視」（キャンバス）プロパティ

 制限事項	    関連項目	  全プロパティ

説明

スタック・キャンバスが割り当てられているウィンドウにおけるこのキャンバスの初期状態、つまり、表示された状態または隠れた状態のいずれかを指定します。

適用先

スタック・キャンバス

設定方法

Form Builder、プログラム

参照するビルトイン

•	GET_VIEW_PROPERTY (VISIBLE)

•	SET_VIEW_PROPERTY (VISIBLE)

デフォルト:

はい


「可視」（キャンバス）プロパティの制限事項

•	ビューは表示された状態でも、同じウィンドウに割り当てられたコンテント・ビューや別のスタック・ビューの後ろに隠れて見えない場合があります。


「可視」（項目）プロパティ

 制限事項	  全プロパティ

説明

キャンバスに割り当てられた項目を実行時に表示するか隠すかを指定します。

適用されるオブジェクト　すべての項目

設定　Form Builder、プログラム

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

デフォルト

はい

使用上の注意

•	定数VISIBLEまたはDISPLAYEDを使用して、「可視」（項目）プロパティをプログラムで設定できます。前のリリースとの互換性を考慮する場合は、定数DISPLAYEDを使用します。


「可視」（項目）プロパティの制限事項

項目がデフォルトのマスター/ディテール・リレーションの外部キーの一部である場合、デフォルト値は「いいえ」です。


「可視」（タブ・ページ）プロパティ

  全プロパティ

説明

実行時にタブ・ページを表示するか隠すかを指定します。

適用先

タブ・ページ

適用先

Form Builder、プログラム

参照するビルトイン

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

デフォルト:

はい


「水平メニュー・ツールバー表示」プロパティ/「垂直メニュー・ツールバー表示」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

メニュー項目をフォームの水平メニュー・ツールバーや垂直メニュー・ツールバーに（アイコンで）表示するかどうかを指定します。

適用されるオブジェクト　メニュー項目

設定方法  Form Builder

デフォルト

いいえ

必須/オプション　オプション


「水平メニュー・ツールバー表示」プロパティの制限事項

開発者は、メニュー・ツールバー上に表示する各メニュー項目に対応付けるアイコンを用意する必要があります。


「メニューに表示」プロパティ

  全プロパティ

説明

実行時にメニュー項目を表示するか隠すかを指定します。

適用先

メニュー項目

設定方法

Form Builder、プログラム

参照するビルトイン

•	GET_MENU_ITEM_PROPERTY

•	SET_MENU_ITEM_PROPERTY

デフォルト:

はい


「可視属性」プロパティ

 制限事項	  全プロパティ

説明

実行時にオブジェクトに適用する名前付き可視属性を指定します。可視属性は、オブジェクトの外観を決定するフォント、カラーおよびパターンの各属性を定義します。

適用されるオブジェクト  キャンバス、タブ・ページ、項目、ラジオ・ボタン

設定方法  プログラム

参照するビルトイン

•	GET_ITEM_INSTANCE_PROPERTY

•	GET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_CANVAS_PROPERTY

•	SET_ITEM_INSTANCE_PROPERTY

•	SET_ITEM_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	SET_TAB_PAGE_PROPERTY

使用上の注意

実行時に適切なGET_ビルトイン・ファンクションを実行してこのプロパティの値を取得すると、次のいずれかの値が戻されます。

•	名前付き可視属性の名前

•	リソース・ファイルに定義された論理属性の名前

•	DEFAULT（項目は、リソース・ファイルに定義されたデフォルトの属性を使用します）


「可視属性」プロパティの制限事項

可視属性は、フォーム・モジュールに定義された名前付き可視属性、または実行時リソース・ファイルに定義された論理属性にする必要があります。


「可視属性グループ」プロパティ

  関連項目	  全プロパティ

説明

オブジェクトの個々の属性設定（フォント名、バックグラウンド・カラー、塗りパターンなど）を導出する方法を指定します。このプロパティに設定できる値は次のとおりです。

デフォルト	オブジェクトはデフォルトのカラーおよびパターン、フォント設定で表示されます。可視属性グループを「デフォルト」に設定すると、個々の属性の設定に現行のシステム・デフォルト値が反映されます。実際は、オブジェクトのタイプ、使用しているリソース・ファイル、プラットフォームなど、さまざまな因子の組み合わせによって設定される値が決まります。
名前付き可視属性	オブジェクトに名前付き可視属性が適用されます。名前付き可視属性は、オブジェクト・ナビゲータで作成した独立したオブジェクトで、ワード処理・プログラムと非常によく似たスタイルを持つインタフェース・オブジェクトに適用されます。「可視属性グループ」に名前付き可視属性を設定すると、各属性に名前付き可視属性オブジェクト用に定義された属性の値が設定されます。現行のフォームに名前付き可視属性が1つも含まれていない場合は、このプロパティのポップアップ・リストに「デフォルト」と表示されます。
適用されるオブジェクト　すべてのインタフェース・オブジェクト

設定方法  Form Builder

デフォルト

デフォルト

使用上の注意

•	「デフォルト」および名前付き可視属性プロパティには、次の属性がプロパティ・パレットと同じ順序で表示されます。

フォント名オブジェクト内のテキストに使用するフォント・ファミリまたは活字書体。どのようなフォントが使用できるかはシステムによって異なります。

フォント・サイズ　フォントのサイズ（単位： ポイント）。

フォント・スタイル　フォントのスタイル。

フォント間隔　フォントの幅、つまり、文字間隔（カーニング）。

フォントの太さ　フォントの太さ。

フォアグラウンド・カラー　 フォアグラウンド領域のオブジェクトの色。項目では、「フォアグラウンド・カラー」属性は項目内に表示されるテキストのカラーを定義します。

バックグラウンド・カラー  オブジェクトのバックグラウント領域のカラー

塗りパターン  オブジェクトの塗り領域として使用します。パターンは、「バックグラウンド・カラー」とフォアグラウンド・カラー」に指定された2つのカラーでレンダリング処理されます。

文字モードの論理属性  Oracle Terminalリソース・ファイルに定義されたキャラクタ・モードの論理属性の名前を指定します。これは、アプリケーションのキャラクタ・モード・バージョンでデバイス属性のベースとして使用するものです。

白黒　オブジェクトをモノクロ・ビットマップ表示装置上にバックグラウンド黒、テキスト白で表示するかどうかを指定します。

オブジェクト・タイプによって有効な属性が異なります。たとえば、ウィンドウ・オブジェクトに対してフォント属性を指定しても、意味がありません。(ウインドウのタイトル・バーに使用するフォントはシステムから導出されます。

•	新規フォームの新規オブジェクトには「デフォルト」の可視属性が割り当てられます。デフォルト値は内部的に定義されています。新規項目のデフォルトのフォントは、オプションのFORMS60_DEFAULTFONT環境変数を設定して上書きしボイラープレートにできます。たとえば、Microsoft Windowsでは、次に示すようにこの変数をレジストリで設定できます。FORMS60_DEFAULTFONT="COURIER.10".指定したデフォルト・フォントは、「新規ブロック」ウィンドウで作成される新規ボイラープレート・テキスト、および「可視属性グループ」が「デフォルト」に設定された項目で使用されます。

•	レイアウト・エディタで項目を作成すると、その項目の可視属性の初期値は、レイアウト・エディタのフォント、カラーおよびパターンに現在設定されている値、つまり「フォント」ダイアログ、「カラー」パレット、「パターン」パレットに指定されている値になります。

•	Microsoft Windows上では、ボタンおよびウィンドウのタイトル・バー、ウィンドウの枠線のカラーは、Windowsのコントロール・パネルの該当要素のカラー設定を使ってコントロールします。ここで設定されたカラーをForm Builderで変更することはできません。

•	Microsoft Windows上で「3Dコントロール使用」フォーム・プロパティを「はい」(デフォルト値)に設定すると、項目は影付きでレンダリングされ、立体的に3次元で表示されます。このプロパティを「はい」に設定すると、結果的に、「可視属性グループ」プロパティが「デフォルト」に設定されたキャンバスのカラーは、Windowsのコントロール・パネルに設定されたカラー（ほとんどのカラー・スキームでグレー）になります。このカラーは、明示的に名前付き可視属性をキャンバスに適用すれば上書きできます。

•	「可視属性グループ」が「デフォルト」に設定された項目、あるいは可視属性の一部が指定されていない項目は、その項目が割り当てられているキャンバスからその可視属性を継承します。同様に、「可視属性グループ」が「デフォルト」に設定されたキャンバス、あるいは可視属性の一部が指定されていないキャンバスは、そのキャンバスが表示されるウィンドウからその可視属性を継承します。たとえば、ウインドウのバックグラウンド・カラーを「CYAN」に設定し、そのウインドウに割り当てられたキャンバスのバックグラウンド・カラーを指定しないままにすると、実行時、そのキャンバスはそのウインドウから「CYAN」のバックグラウンドを継承します。設計時には、ウインドウ-キャンバスやキャンバス-項目の継承から導出された可視属性設定は、レイアウト・エディタが再度オープンされた場合にのみ明らかになります。

•	プロパティ・クラスをオブジェクトに適用して、可視属性の値を指定できます。「可視属性グループ」プロパティ全体をプロパティ・クラスにしたり、あるいは各属性プロパティを1つ以上まとめて1つのプロパティ・クラスを作成したりできます。（「可視属性グループ」プロパティと各属性プロパティが同じプロパティ・クラスに含まれている場合は、「可視属性グループ」プロパティの値が優先されます。

•	可視属性の値を含む名前付き可視属性とプロパティ・クラスを両方とも同じオブジェクトに適用した場合は、名前付き可視属性の値が優先され、プロパティ・クラスの可視属性の値は無視されます。

• リソース・ファイルに定義された論理属性定義は、Form Builderで定義した可視属性、およびローカル環境変数定義、デフォルトのForm Builder属性より優先されます。リソース・ファイルを編集するには、Oracle Terminalユーティリティを使用します。


「可視属性タイプ」プロパティ

  全プロパティ

説明

設計の間の可視属性のタイプを「共通」、「プロンプト」または「タイトル」のいずれかに指定します。

適用されるオブジェクト  可視属性全般

設定方法  Form Builder

デフォルト  共通

必須/オプション  必須


「WHERE句」プロパティ/「ORDER BY句」プロパティ

 例	   制限事項	    関連項目	  全プロパティ

説明

デフォルトの「WHERE句」プロパティとデフォルトの「ORDER BY句」プロパティは、データ・ブロックに対応付けられたデフォルトのSELECT文の標準SQL句です。これらの句は、オペレータまたはアプリケーションによってブロック内で問合せが実行されると、そのたびにForm Builderによって組み立てられ発行されるSELECT文に自動的に付加されます。

適用されるオブジェクト　ブロック

設定　Form Builder、プログラム

参照するビルトイン

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

必須/オプション　オプション

使用上の注意

1	予約語WHEREおよびORDER BYはオプションです。これらの予約語を指定しなければ、Form Builderによって文の前に自動的に追加されます。

2	WHERE句で参照できるオブジェクトは次のとおりです。

•	ブロックのデータ・ブロック表内の列（LONG列を除く）

•	フォーム・パラメータ（:PARAMETER.my_parameter）

3	ORDER BY句で参照できるオブジェクトは次のとおりです。

•	ブロックのデータ・ブロック表内の列（LONG列を除く）

4	WHERE句およびORDER BY句では、埋込みコメントはサポートされていません。


「WHERE句」プロパティ/「ORDER BY句」プロパティの制限事項

•	「WHERE句」プロパティの最大長は32,000バイトです。

• グローバル変数またはフォーム・パラメータは、ORDER BY句では参照できません。


「WHERE句」プロパティ/「ORDER BY句」プロパティの例

例

次の例では、「WHERE句」を使用して、注文追跡システムからshipdate列がNULLのレコードのみを取り出しています。また、ORDER BY句を使用して、選択されたレコードを日付の小さい（新しい）ものから日付の大きい（古い）ものに並べ替えています。

WHERE shipdate IS NULL
ORDER BY orderdate

上のWHERE句およびORDER BY句の文では、基本的な条件を指定してレコードを取り出しています。オペレータは、フォームを「問合せ入力」モードに設定して非定形の問合せ条件を入力すれば、さらに取り出すレコードを絞ることができます。


「白黒」プロパティ

  関連項目	  全プロパティ

説明

オブジェクトをモノクロのビットマップ表示装置上に、白地のテキストと黒地のバックグラウンドで表示するように指定します。

適用されるオブジェクト  項目、タブ・ページ、キャンバス、ウィンドウ、ラジオ・ボタン

設定　プログラム

デフォルト

指定なし

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

•	GET_TAB_PAGE_PROPERTY

•	SET_TAB_PAGE_PROPERTY

•	GET_CANVAS_PROPERTY

•	SET_CANVAS_PROPERTY

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY


「Width」プロパティ/「Height」プロパティ (WD, HT)

  全プロパティ

説明

Sizeを参照。


「ウィンドウ」プロパティ

  関連項目	  全プロパティ

説明

実行時にキャンバスを表示するウィンドウを指定します。

適用されるオブジェクト　キャンバス

設定方法  Form Builder

参照するビルトイン

GET_VIEW_PROPERTY

デフォルト

フォームのルート・ウィンドウの場合はROOT_WINDOW。そうでなければ、オブジェクト・ナビゲータで「ウィンドウ」ノードの下に表示されるウィンドウ・リストの最初のウィンドウ。

必須/オプション 実行時に表示するキャンバスでは必須


「Window_Handle」プロパティ

 制限事項	  全プロパティ

説明

Microsoft Windows上では、ウィンドウ・ハンドルは一意の内部文字定数で、このハンドルを使用してオブジェクトを参照することができます。任意の項目またはウィンドウのウィンドウ・ハンドルを取得できます。

適用されるオブジェクト　フォーム、ブロック、項目

参照するビルトイン

•	GET_ITEM_PROPERTY

•	GET_WINDOW_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

デフォルト

NULL

使用上の注意

•	GET_ITEM_PROPERTYビルトインで項目名と「WINDOW_HANDLE」プロパティを指定すれば、項目を参照するためのウィンドウ・ハンドルを取得できます。

•	GET_WINDOW_PROPERTYビルトインでウィンドウ名と「WINDOW_HANDLE」プロパティを指定すれば、ウィンドウを参照するためのウィンドウ・ハンドルを取得できます。GET_WINDOW_PROPERTYビルトインのウィンドウ名がFORMS_MDI_WINDOWの場合は、MDIクライアント・ウィンドウのハンドルが戻ります。MDIクライアント・ウィンドウのハンドルは、子MDIウィンドウおよびコントロールを作成するときに使用します。

•	GET_RADIO_BUTTON_PROPERTYビルトインでラジオ・グループの項目名または項目ID、およびラジオ・ボタンの名前、WINDOW_HANDLEプロパティを指定すれば、ラジオ・ボタンを参照するためのウィンドウ・ハンドルを取得できます。

•	ラジオ・グループのウィンドウ・ハンドルを取得するには、GET_ITEM_PROPERTYビルトインで項目名にラジオ・グループ名を指定します。フォーカスを取得しているボタンのウィンドウ・ハンドルが戻ります。フォーカスを取得しているボタンがない場合は、選択されているボタンのウィンドウ・ハンドルが戻ります。フォーカスを取得しているボタンも選択されているボタンもない場合は、最初のボタンのウィンドウ・ハンドルが戻ります。


「Window_Handle」プロパティの制限事項

Microsoft Windowsにおいてのみ有効です。（その他のプラットフォームではNULLが戻ります。


「Window_State 」プロパティ

 制限事項	  全プロパティ

説明

ウィンドウの現在の表示状態、つまり、次のいずれかを指定します。

NORMAL	ウィンドウの現在の「Width」および「Height」、「X位置」、「Y位置」プロパティの値に従って、ウィンドウが表示される。

MINIMIZE	ウィンドウが最小化（アイコン化）され、デスクトップのビットマップ・グラフィック上に表示される。

MAXIMIZE	ウィンドウ・マネージャの表示形式に従って、ウィンドウが画面一杯に拡大されます。

適用されるオブジェクト　ウィンドウ

設定　プログラム

参照するビルトイン

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY

デフォルト

NORMAL

使用上の注意

表示の最小化や最大化の状態はウインドウ・マネージャが管理していて、「Width」プロパティや「height」プロパティにより定義されたようには、ウインドウの現在の幅や高さの設定に影響しません。したがって、ウィンドウの表示状態が最小化または最大化のときに、SET_WINDOW_PROPERTYまたはRESIZE_WINDOWコールによって「Width」または「Height」プロパティが変更されれば、そのウィンドウに適用されます。しかし、オペレータは、そのウィンドウが「標準」状態に戻るまで、ウィンドウのサイズが変わったことを確認できません。

同様に、GET_WINDOW_PROPERTYは、ウインドウが、現在、最小化または最大化の表示状態であっても、常に、ウインドウの現在の「Width」プロパティと「Height」プロパティの設定を戻します。


「Window_State」プロパティの制限事項

Motif上では「Window_State」を「MAXIMIZE」に設定できません。


「ウィンドウ・スタイル」プロパティ

  関連項目	  全プロパティ

説明

ウィンドウのスタイル、つまり「文書」か「ダイアログ」のいずれかを指定します。複数ドキュメント・インタフェース（MDI）ウィンドウ管理システムをサポートするウィンドウ・マネージャ上では、文書ウィンドウとダイアログ・ウィンドウの表示形式が異なります。

適用されるオブジェクト　ウィンドウ

設定方法  Form Builder

デフォルト

文書

制限事項:

2次ウィンドウでのみ有効です。（ルート・ウィンドウは常に文書ウィンドウです。）

使用上の注意

MDIアプリケーションは、アプリケーションウィンドウと呼ばれるデフォルト・ウィンドウを表示します。アプリケーション内の他のすべてのウィンドウは、「文書」ウィンドウ、または「ダイアログ」ウィンドウです。

文書ウィンドウは、常に、アプリケーション・ウィンドウの枠内に表示されます。オペレータがアプリケーション・ウィンドウのサイズを文書ウィンドウより小さく変更すると、文書ウィンドウがクリップされます。また、オペレータはアプリケーション・ウィンドウの作業領域と同じ大きさまで文書ウィンドウを最大化できます。

ダイアログ・ウィンドウはどこにでも自由に表示できるウィンドウで、「移動可能」に定義されていれば、オペレータはこのウィンドウをアプリケーション・ウィンドウの外に移動できます。オペレータがアプリケーション・ウィンドウのサイズをダイアログ・ウィンドウより小さく変更しても、ダイアログ・ウィンドウはクリップされません。


「ラップ形式」プロパティ

 制限事項	    関連項目	  全プロパティ

説明

テキストの1行の長さがテキスト項目やエディタ・ウィンドウの幅を越えたときに、テキストをどのように表示するかを指定します。

このプロパティの設定値と効果は次のとおりです。

なし	行を折り返さない。右の枠線を越えたテキストは表示されません。

CHARACTER	その行に表示できる最後の文字で行を折り返し、次の行に残りのテキストを表示します。

単語	その行に表示できる最後の単語で行を折り返し、次の行に残りのテキストを表示します。

適用されるオブジェクト　テキスト項目、エディタ

設定方法  Form Builder

参照するビルトイン

GET_ITEM_PROPERTY

デフォルト

単語


「ラップ形式」プロパティの制限事項

複数行テキスト項目にのみ有効です。


「Wrap Text」プロパティ

  関連項目	  全プロパティ

説明

テキスト・オブジェクト内のテキストを、枠ボックス内に収まるように次の行に折り返すかどうかを指定します。

適用されるオブジェクト　図形テキスト

設定方法  Form Builder

デフォルト

はい

必須/オプション  必須


「X角の半径」プロパティ

  全プロパティ

説明

角の丸い四角形の角の水平方向の丸め半径を（レイアウト単位で）指定します。

適用されるオブジェクト  図形（角の丸い四角形）

設定方法  Form Builder

デフォルト

10

必須/オプション  必須


「X位置」プロパティと「Y位置」プロパティ

 制限事項	  全プロパティ

説明

オブジェクトを画面上のどの位置に表示するかを指定します。項目は、その項目の左隅上の位置をキャンバスの左上隅からの相対位置で指定します。指定した値は、「座標」フォーム・プロパティに指定されたフォームの現行の座標単位（文字セルまたはセンチメートル、インチ、ピクセル、ポイント）で解釈されます。

適用されるオブジェクト　すべての項目、エディタ、値リスト、ウィンドウ、キャンバス

設定　Form Builder、プログラム

使用上の注意

次の各情報は、現在のオブジェクトに固有のものです。

項目

その項目が所有しているキャンバス上のどの位置に表示されるかを指定します。

参照するビルトイン

•	GET_ITEM_PROPERTY

•	SET_ITEM_PROPERTY

•	GET_RADIO_BUTTON_PROPERTY

•	SET_RADIO_BUTTON_PROPERTY

デフォルト

x,y(0,0)

値リスト

値リストを画面上のどの位置に表示するかを指定します。（0,0）は、ルート・ウィンドウが画面のどこに表示されるかにかかわらず、画面の左上角を表します。値リストは、フォームの外を含め、画面上のあらゆる場所に表示できます。

参照するビルトイン

•	GET_LOV_PROPERTY

•	SET_LOV_PROPERTY

デフォルト

x,y(0,0)

WINDOW

ウィンドウを画面上のどの位置に表示するかを指定します。(0,0)は、画面の左上角を表します。

参照するビルトイン

•	GET_WINDOW_PROPERTY

•	SET_WINDOW_PROPERTY

デフォルト

x,y(0,0)


「X位置」プロパティと「Y位置」プロパティの制限事項

•	すべての項目およびエディタ、値リストの値は0または正にする必要があります。

•	指定できる精度は、フォームの現行の座標単位により異なります。場合によって、丸め処理が行われることがあります。


「Y角の半径」プロパティ

  全プロパティ

説明

角の丸い四角形の角の垂直方向の丸め半径を（レイアウト単位で）指定します。

適用されるオブジェクト  図形（角の丸い四角形）

設定方法  Form Builder

デフォルト

10

必須/オプション  必須


ウィンドウとキャンバス

質問

RUNFORMウィンドウのタイトルを変更するには?

答え

When-New-Form-Instanceトリガーで次のコードを使用します。

Set_Window_Property(FORMS_MDI_WINDOW, TITLE, 'Your Title');


項目、レコードおよびブロック

質問

表示項目と通常のテキスト項目の違いは?

答え

表示項目は、本質的に、入力不可能なテキスト項目です。表示項目は、ユーザー入力を受け付けるための項目です。さまざまなテキストを表示するために使用するか、またはオペレータによる対話が必要でない画面上の値（たとえば、日時など）に使用します。

表示項目は、テキスト項目が提供する特徴の一部しか保有しないので、定義に要するメモリーが少なくて済みます。

質問

起動時になぜドロップダウン・リストにNULL項目が表示されるのか?

答え

次のような値が表示されたドロップダウン・リストを想定します。

ラベル     値

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

One

Two

Three

レコードが初期化されるブロック内にドロップダウン・リストがある場合は、ドロップダウン・リスト項目にNULL値が割り当てられます。これを視覚的に反映するため、ドロップダウン・リストにブランク・ラベルを表示します。フォーム上にブランク・ラベルを表示するには、NULL値をリストの1番下へ追加し、コントロールの値をNULLに設定します。

さらに、項目が必要でない場合は、選択項目のセットに空のリスト要素を自動的に追加すると、ユーザーが値の1つとしてNULLを選択できます。

起動時に項目内にある値を表示させたい場合、その項目がデフォルト値を取るように、項目ブロック内で値を設定するか、またはレコードを初期化する必要があります。

質問

ユーザーが新規レコードを入力するのを動的に防ぐ方法は?

答え

When-New-Record-Instanceトリガーを使用して次のことを行います。

IF ((dynamic-condition-is-true) AND

:System.Record_Status = 'NEW')

THEN

RAISE Form_Trigger_Failure;

END IF;

質問

実行時にブロック全体を動的に問合せ専用にする方法は?

答え

次のコードを発行します。

Set_Block_Property('blockname', INSERT_ALLOWED, PROPERTY_OFF);

Set_Block_Property('blockname', UPDATE_ALLOWED, PROPERTY_OFF);

質問

実行時に項目のカラーとフォントを動的に変更する方法は?

答え

Set_Item_Propertyビルトインを次のように使用します。

Set_Item_Property( 'Blockname.Itemname', VISUAL_ATTRIBUTE, 'VisualAttributeName' );

ここで「VisualAttributeName」は、フォーム（フォアグラウンド、バックグラウンド、フォント等を持ちます）で設定したビジュアル属性の名前またはリソース・ファイルからの論理可視属性の名前のどちらかです。

質問

項目を使用不可項目のように扱うが、グレー表示しないようにするには ?

答え

この問題は、INSERT_ALLOWED属性とUPDATE_ALLOWED属性で解決できます。これらの属性がOFFに設定されている項目は、使用不可項目のようには表示されませんが、新規または参照されたレコード内の値をユーザーが変更できなくします。

質問

ブロック・コンテキストにおいて、「件数」と「問合せオプション」とは、何を意味するのですか？

答え

Set_Block_Property(.., QUERY_HITS)を使用すると、ON-COUNTトランザクション・トリガーからForm Builderへ、問合せ（現在操作している問合せ）によって戻されるレコードの数を通知できるので、次のようなメッセージが出力されることがあります。

「FRM-xxxxx: 問合せは、nnnレコードを検索します。」

このプロパティをGet_Block_Property(.., QUERY_HITS)を介して取得すると、単に、問合せによって取り出されたレコードの数が戻されます。

Get_Block_Property(.., QUERY_OPTIONS)は、トランザクションのトリガーに、標準問合せ、COUNT(*)タイプ問合せ、またはロック・レコード問合せを行っているかどうかを通知します。


レコード・グループ、グローバル変数およびパラメータ

質問

レコード・グループは何に使用すればよいか?

答え

レコード・グループは、行と列で構成され、NUMBERおよびCHAR、DATEのデータ型の列を持つので、のあるメモリー内のOracle表と同様です。

レコード・グループには、現在Form Builder 6.0内では、データベース・ブロック・オブジェクトによって提供されるのと同様のレコード・バッファリング機構がないので、レコード・グループを問合せから挿入するときには注意が必要です。10,000個のレコードが戻される問合せを使用すると、問合せから戻されるすべての行をフェッチし保存するためのメモリーが割り当てられます。

特に、レコード・グループは、アプリケーションの実行中にデータベースの表の代用として使用されるために設計されているわけではありません。レコード・グループが適しているのは、比較的小さい検索値のリスト、またはクライアント側のアプリケーションによるレコード保持のための中位のサイズのデータ構造体です。

新規アプリケーションに対しては、PL/SQL V2.3が提供する「レコード表」構造を考慮する必要があります。「レコード表」は、メモリーの使用がより効率的で、一般にアクセスはより速くなります。

また、レコード・グループは実行時に動的に組み立てることができるのに対し、レコード表は設計時に決定されます。アプリケーションで構造体に柔軟性が必要な場合は、レコード表ではなく、レコード・グループを使用します。

質問

グローバル変数またはパラメータ、パッケージ変数はいつ使用すればよいか?

答え

ひとつの答えはありませんが、参考となるガイドラインを次にいくつか紹介します。

データ型: グローバルは、常にCHAR型のデータです。パラメータはNUMBER型、CHAR型またはDATE型のいずれかです。パッケージ変数はいずれかのPL/SQLデータ型です。

作成:  グローバルは、初回割当て時に作成されます。

パラメータは、設計時に名前とタイプを指定するか、またはAdd_Parameter()ビルトインを使用して実行時にパラメータ・リストに追加します。

パッケージ変数は、パッケージの一部として明示的に宣言します。

デフォルト値: グローバルにはプログラムで割り当てられる値が必要です。

パラメータには、設計時に適切なデータ型のデフォルト値を割り当てることができます。

パッケージ変数には、設計時に適切なデータ型のデフォルト値を割り当てることができます。また、パッケージ変数は、パッケージの初期化ブロック内で任意のPL/SQLコードを使用して初期化できます。

割当て: グローバルは、バインド変数表記法（:GLOBAL.GLOBAL_NAME ）でPL/SQLで直接割り当てるか、Copy()ビルトインで間接的に割り当てます。

デフォルト・パラメータ・リスト内のパラメータ（設計時に作成されたパラメータ）は、バインド変数表記法（:PARAMETER.PARAM_NAME）を使用してPL/SQLで直接割り当てることも、Copy()ビルトインを使用して間接的に割り当てることもできます。パラメータ・リスト部分がデフォルトのパラメータ・リストでない場合は、Set_Parameter_Attr()ビルトインが使用されます。さらに、設計時に宣言されるパラメータは、コマンド・ライン上で「PARAMNAME=Value」構文を使用して設定することが可能です。

パッケージ変数は、PL/SQLを介して直接割り当てます。

有効範囲: グローバル名は、ランフォーム・セッション全体で共通です。したがって、用途は異なるのに同じ名前を使用してしまった2つのフォームを結合する場合、必ず、フォームを変更して統合します。

パラメータ値は、特定のフォームに対してローカルです。パラメータをあるフォームから別のフォームへ明示的に渡さない限り、相互作用はありません。フォームを統合するときには、それらが正しいパラメータ名を共有しているかどうかを必ず確認してください。

パッケージ変数は、パッケージの名前で修飾されます。2つのパッケージで同じ変数名を宣言しても、それらの間に相互作用はありません。共有グローバル・データに関してパッケージ変数に依存しているフォームを統合する方法は、同じ名前のオブジェクト間に隠された微妙な相互作用がないので、他の2つの方法よりも直接的です。

永続性: グローバルは明示的に消去されない限り、ランフォーム・セッション中の値が維持されます。グローバル変数は、そのセッションの間にコールされたすべてのフォームから参照できます。コール先フォームでグローバル変数に対して行われた変更は、コール側フォームとそのセッション内のすべての後続のフォームから参照できます。

パラメータは、パラメータがパラメータ・リストの一部として渡されない限り、パラメータが宣言されたフォームでしか参照できません。パラメータ・リストの一部として渡された場合は、パラメータによって、コール先フォームに宣言されたフォール・レベルのパラメータに値が渡されます。

したがって、コール側フォーム内のパラメータの値は、この方法ではコール先フォームから参照できます。コール先フォームでパラメータに対して行われた変更は、コール側フォームでは参照できません。コール先フォームは、Call_Form()の瞬間に存在したパラメータ値のスナップショットを与えられて、値の固有なコピーを使用して動作します。

パッケージ変数では、ランフォーム・セッションの間は値が保持されます。パッケージ変数は、CALL_FORMの引数data_modeがSHARE_LIBRARY_DATAに設定されている場合は、セッションの間に呼び出されたすべてのフォームから参照できます。コール先フォームでパッケージ変数に対して行われた変更は、コール側フォームとそのセッション内のすべての後続のフォームから参照できます。

ドキュメンテーション: グローバルは、任意のトリガー内の任意の位置に作成できます。開発者が熟練者であり、きちんとした方法論を用いない場合、グローバル変数の検索およびドキュメント化がとても困難になることがあります。グローバル変数に割り当てる時にタイプミスのエラーが起きると、単純に誤った名前で新しいグローバル変数が作成されるので、エラーは簡単に発生しますが、検索は難しくなります。

パラメータは、フォーム・レベルで名前付きオブジェクトとして存在し、有意なデフォルト値を持つことができ、他のフォーム・オブジェクトのようにオブジェクト・コメントを使用してドキュメント化できます。

パッケージ変数は、パッケージ内に明示的に宣言され、明示的に初期化できます。パッケージ変数は、PL/SQLコードで簡単にドキュメント化できます。

サマリー: コマンド・ラインからフォームに値を渡すには、パラメータを使用します。

変数を動的に作成する必要のある場合は、グローバル変数を使用します。しかし、レコード表は、動的に作成された多くの値を保存するのに効果的なメカニズムではありません。

他のすべての用途では、パッケージ変数を使用します。

質問

Form BuilderからReports DeveloperまたはGraphics Builderへレコード・グループを渡すには?

答え

レコード・グループは、DATAパラメータとしてReports DeveloperまたはGraphics Builderへ渡されます。このDATAパラメータは特殊な方法で各種ツールに渡されます。その結果、問合せ名で指定された問合せの結果が指定された名前を持つレコード・グループの内容と入れ換わります。単純な例:

(1) Reports Developerでは、次のような問合せを使用してレポートを作成します。

問合せ名:FOOBAR_QUERY

問合せ:SELECT DEPTNO, DNAME FROM DEPT

(2) Form Builderでは、好きな方法でレコード・グループを作成します（たとえば、NUMBERとCHARの2つの列を持たせるなど）。次にやはり、フォーム側から、そのレコード・グループを挿入します。レコード・グループがPETEという名前で、2つの列AとBを持っているとします。

DECLARE

f RecordGroup;

g GroupColumn;

BEGIN

f := CREATE_GROUP('Pete');

g := ADD_GROUP_COLUMN( f , 'A', NUMBER_COLUMN);

g := ADD_GROUP_COLUMN( f , 'B', CHAR_COLUMN, 20);

/*

** Then populate the group in your favorite way

*/

END;

(3) フォームから他のツールに渡すパラメータ・リストを設定するとき、'FOOBAR_QUERY'という名前のパラメータを作成して、それに'PETE'という値を与えます。それはデータ・パラメータなので、'FOOBAR_QUERY'の 'PETE'に対するこの組合せは、インテグレーション・コードに対して、他のツールを起動したとき何をしたらいいのかを指示します。Reports Developer内の'FOOBAR_QUERY'を定義するSELECT文を起動する代わりに、'PETE'レコード・グループからの値は、それらがあたかも結果"であるかのように"置き換えられます。

質問

ユーザー・イグジット内でレコード・グループの内容にアクセスできるか?

答え

ユーザー・イグジット内でレコード・グループの内容にアクセスするには、まずデータベース・ブロック内に値を配置する必要があります。現時点では、ユーザー・イグジットには、Form Builderレコード・グループのデータ構造体に対する認識がありません。

ORA_FFIを使用すると、PL/SQLから直接Microsoft WindowsのSDKとSLLファンクションをコールするときに、ユーザー・イグジットの必要性が低くなることがあります。したがって、レコード・グループ値へはアクセスできます。


プログラム単位とライブラリ

質問

プロシージャを作成する場合は、ライブラリまたはデータベース・ストアド・プロシージャ、ローカル・フォーム・プロシージャのいずれを使用すればよいか?

答え

これらの異なるプロシージャのフォームからは、実行しようとしている内容に応じて、異なるパフォーマンス結果が得られます。データベース・プロシージャは、サーバー側で起動され、そこですべての処理を実行します。これは、ネットワーク通信量の低減につながりますが、多数のクライアントがこれを行っていると、サーバーのオーバーロードが発生することがあります。

ローカル・フォームとライブラリ・プロシージャは、両方ともサーバーに渡されるSQL文を使用してクライアントで保存、実行されるという点で、非常に似ています。

ローカル・プロシージャは、実際に.FMXファイルの一部なので、一般的に実行速度がより速くなっていますが、メモリー使用量がより多いことや、.FMXファイルが最初に起動される時の起動時間がより長いことがあります。

ライブラリ・プロシージャは、必要な時に4Kチャンク単位でメモリーにロードされるので、メモリーに関しては総合的により効果的です。ライブラリ・プロシージャは、1度ロードすると、メモリーから読み込まれます。ライブラリ・プロシージャには、他の利点もあります。それは、ライブラリを多数のフォームに一度に接続できるという点です。

ライブラリ・プロシージャ内のコードを変更しても、フォームを再生成する必要はありません。

ライブラリにパッケージ・グローバル変数が含まれている場合は、それらの変数をランフォーム・セッション内のフォーム間で共有できます。

質問

ライブラリの使用によって.FMXファイルのサイズに及ぼされる影響は?

答え

ライブラリ・コードが.FRMに組み込まれていれば、いつもの方法でそれらを再実行する必要はありません。新しいスキーマの優れた点は、ライブラリ・モジュールが別々のままでコンパイルされる（.PLLまたは.PLXファイルに）ことにより、ランフォームによってプログラム単位が、実行時に各.FMXファイルのサイズに追加されずにメモリーに移される点です。

これはDLLのように考えることができます。ライブラリを連結するフォームに追加される唯一のオーバーヘッドは、それが依存しているライブラリの名前を記憶するのに必要な無視できる程度の大きさです。

質問

ライブラリ・プログラム単位内のブロックを参照するには?

答え

コンパイル時に、Form Builderでは、オブジェクトに対するすべての参照の解決が試行されます。次のようなコードを指定したとします。

:BLOCK1.ITEM1 := 'Value';

または

IF

:BLOCK1.ITEM1 = 'Y'

THEN

....

Form Builderは、BLOCK1.ITEM1への参照を解決しようとします。ライブラリは、*任意の*フォームに連結する可能性があるので、ライブラリ・コードを書いているときは、これらの参照を解決する方法はありません。

代わりに、ライブラリ内のForm Builderオブジェクトを参照するときには、Copy()とName_In()ビルトインを使用する必要があります。これらのビルトインでは、コンパイル時に参照の解決が試行されません。したがって、前述のコードは次のようになります。

Copy ('Value','BLOCK1.ITEM1');

または

IF

Name_In ('BLOCK1.ITEM1') = 'Y'

THEN

 ...


PL/SQL統合

質問

PL/SQL内のSQLはForm Builderによってどのように扱われるか?

答え

フォーム内のPL/SQLブロックには、Form Builderのビルトインが含まれていることがあるので、ブロック全体をデータベースへ送ることはできません。

Form Builderでは、Form Builder内でのPL/SQL内のDML操作に必要だとPL/SQLによって通知されるカーソルが処理されます。

それは、PL/SQL内部のSQLが、5.0に実現されたネットワーク・トラフィックを減少させる技術を活用しているということを意味します。これらの変更により、前のバージョンを使用したときに見られるトラフィック・レベルを、大幅に減少することができます。

PL/SQLのブロック全体をデータベースへ送るには、次のようにします。

(1) 次のようにForms_DDL()ビルトインを使用して、サーバーで実行するコードのブロックを構成する長い文字列を送ります。

Forms_DDL('BEGIN ...END;');

(2) 内部にまとまったDMLを持つストアド・プロシージャ/ファンクション/パッケージをコールし、Form Builderからこれらのストアド・プログラム単位をコールします。

質問

INSERT_ALLOWEDやPROPERTY_ONのような定数はPL/SQLによってどのように扱われるのか?

答え

ビルトインに渡すこれらのトークンはすべて数値定数です。オブジェクトのプロパティを設定する一般プロシージャを作成する場合は、データ型の対立が起きないように、渡すパラメータをNUMBERとして入力する必要があります。


タイマー

質問

実行の長い問合せの間にタイマーが切れた場合は、タイマーはいつ処理されるのか?

答え

タイマーは、現在の操作が完了するまで、処理を待機しています。つまり、問合せが完了してから、タイマーが処理されます。

質問

REPEATタイマーが長い問合せの間に切れた場合は、問合せが終わった時点でWHEN-TIMER-EXPIREDトリガーによって処理される前に繰り返されるのか、または繰り返される前に処理を待機するのか?

答え

繰返しタイマーは、適切なWHEN-TIMER-EXPIREDの起動によって処理されるまで、再起動されることはありません。その事実から導かれる単純な結論は、「サービスされるタイマー」スタック内に、2度存在できるタイマーは、1つもないということです。


トリガー

質問

次のトリガーの違いは?

- Post-FetchとPost_Query

- Post-Forms-CommitとPost-Database-Commit

- Pre-QueryとPre-Select

答え

これらのトリガーの比較を次に示します。

Post-FetchとPost_Query

POST-FETCHは、データベースからレコードをフェッチしようとするたびに起動されます。質問にあるブロックに対する「配列サイズ」の値と、我々の要求に応じてデータベースから実際どのくらいの数のレコードが分配されるかに依存して、このトリガーは数回起動します。

それとは対照的にPOST-QUERYは、（データベースからまとめてフェッチされて、レコードが最初に得ようとする）待機領域から持ち込まれる"各"レコードに対して1度のみ起動します。

Post-Forms-CommitとPost-Database-Commit

POST-FORMS-COMMITは、コミット時間処理中に現行のトランザクションの一部である最後のトリガーとして起動されます。これが、アプリケーションが実際の「COMMIT」が発行される前に任意の処理を行う、またはトランザクションをロールバックする最後となります。

POST-DATABASE-COMMITトリガーは、現行のトランザクションをクローズするために、フォームによって「COMMIT」文が発行された直後に起動します。この時点では、もうトランザクションのロールバックは行えません。

Pre-Query とPre-Select

PRE-QUERYは、例レコードに入力された問合せ基準に対する応答として、データベースから適切なレコードを問い合わせるために必要なSQL文の準備がFormsによって始められる直前に、起動されます。

設計者は、これ以降、あたかもオペレータによってサンプル・レコードの中に入れられるかのように、ブロック内の項目に問い合わせ基準を「置く」ことはできなくなります。

PRE-SELECTは、PRE-QUERYトリガーが起動された後で、実際の物理的なSELECT文の構成が始まる直前に起動されます。これは、一般的に、デザイナが、SELECT文の実行の組立てと準備（多くの場合、外部のデータソースに対して行う）のために、SELECT文の標準の構成を独自のユーザー・イグジットに取って代えるON-SELECTトリガーと共に使用されます。


ロック制御

質問

レコードのロックをコミット時まで延期できるか?

答え

はい、「即時」または 「遅延」のどちらかに設定可能な「ロックモード」と呼ばれるブロック・プロパティがあります。それを「遅延」に設定した場合、ブロック内のレコードは、コミット時まで、つまり特に変更が確定されるまでロックされます。

その時点で、現行のフォームの値は、更新文が発行される前に、データベース値と比較されます。レコードがフェッチされたために更新された場合は、エラーが出されます。

「ロックモード｣は、Set_Block_Propertyビルトインによって、トリガー内で実行時に変更可能です。


イメージ

質問

データベースに保存するイメージをファイルから取得するには?

答え

イメージをデータベースに保存するには、次のようなサポートされている標準ファイル・フォーマットで、ファイル・システムからフォーム内の項目に読み込む必要があります。

'PCX'

BMP'                      '

READ_IMAGE_FILE('file_name',	'TIFF', 'block.image_item');

'JFIF'

'PICT'

続けて、次のようにイメージをデータベースにコミットします。

COMMIT_FORM;

'block.image_item'がデータベース･ブロック内のデータベース項目であること、さらにそのブロック・データソースとなる基本表内の'image_item'列が、LONG RAWとして宣言されていることを確認します。


一般的UIの発行

質問

Call_Form (.., NO_HIDE)を発行しても、最初のフォームが隠されたままであることがある。なぜですか？

答え

アプリケーションでは、いかなるときでも1つのROOT_WINDOWしかアクティブにできません。フォーカスがROOT_WINDOWにあるときに、2番目のフォームをコールしてみます。この場合は、2番目のフォームのROOT_WINDOWが、最初のフォームのROOT_WINDOWの上に重なり、最初のフォームが隠された状態となります。

これを防ぐには、常にROOT_WINDOW以外からCall_Formビルトインを発行するようにします。

ROOT_WINDOWは主に、Forms4.0で初めて作成された比較的古いフォームで使用されています。新しいフォームでは、ROOT_WINDOWと呼ばれるウィンドウを作成しないでください。

質問

実行時に使用しているユーザー・インタフェースを判別するには?

答え

Get_Application_Property (USER_INTERFACE)ビルトインを発行します。


メニュー

質問

メニュー項目がGUIの適切な位置へ配置されるようにメニュー項目を指定するには?

答え

これには、マジック・メニュー項目と呼ばれる機能を使用します。たとえば、御自分のメニュー項目を「ヘルプ」に対するマジック項目とすることによって、どの様なGUIを起動していようと、その「ヘルプ」メニューの標準の位置にその項目が表示されます。

質問

次のメッセージの原因は?

FRM-10249：アプリケーション<アプリケーション名>を実行する権限がありません。

答え

次のことを行ったことを確認してください。

•	データベース・ロールの作成

•	そのロールへのユーザーの割当て

•	メニュー・アプリケーション内の最低1つの最上位レベルのメニュー項目へのロールの割当て

これらのステップに従ってもまだFRM-10249エラーが出され、データベースにメニューを保存していない場合は、「フォーム・モジュール」プロパティ・シートの「Use File」オプションがチェックされていることを確認してください。

また、メニュー基礎表のデータ型がCHAR型ではなくVARCHAR2型に設定されていることを確認してください。


前のリリースからのアップグレード

質問

ライブラリ・フォームFORMAからオブジェクトを参照していたアプリケーションFORMBをアップグレードするには?

答え

次のステップを実行します。

1	(1) まだﾌｫｰﾑAに対するINPファイルがない場合は、INPファイルを作成します。作成には、「IAC30 FORMA UN/PW」を使用します。

2	FORMA.INP を FORMA.FMB にアップグレードします。

3	Form Builder 5.0からFORMA.FMBをオープンし、データベースに「ファイル」 [image] 「名前を付けて保存」コマンドを選択します（データベースに保存するには、作業環境画面の参照が必要な場合もあります）。

4	FORMB.FMBをアップグレードします。アップグレード時には、まだ*Forms 3.0の表*から参照情報が読み込まれます。

5	続いてForm Builder 6.0からFORMB.FMBをオープンまたは生成すると、Form Builderでは、*ここで*FormBuilder 6.0のデータベース表の参照情報の検索が求められます。

6.0では、データベースと同様にファイル・システムから参照できることに注意してください。

質問

書式マスクがDD/MM/YYのときに、スラッシュを使用せずに日付を入力すると、Forms 3.0で正しく表示されたように、正しい日付が表示されないのはなぜか?

答え

Forms 4.5以降では、Oracle8で採用したものと同じ日付書式アプローチを採用しました。

次にこの問題の例を示します。

12121994

これが書式マスクを通過すると、実際は日付書式ルーチンによって次のように扱われます。

12 1 21 9 94

   ~    ~

前述でチルドのついた'1'と '9'は、セパレータ文字として翻訳されます。

したがって、この入力は次のようになります。

12 / 21 / 94

4桁の年を期待しているフィールド内では、ここで説明した効果が同じように作用して、94を0094にマップします。

「FX」書式マスク・エレメントを使用して、ご使用のマスクに正確に合致する入力をユーザーに強制することが可能です。

これは、日付ルーチン入力処理を簡潔にするために意図的に行うものです。日付パッケージは非常に不可解な入力を受け取ることが多くあるので、日付処理全体の向上のために、このかなり特有なフォームの動作をブレークする決定が行われました。

質問

FORMS60_DEFAULTFONTパラメータを使用して制御するものは?

答え

FORMS60_DEFAULTFONTでは、次のものを制御します。

フォントが「クーリエ」の場合、デフォルト・ブロック・ディスプレイ・テキストに使用されるフォント。「クーリエ」でない場合、デフォルト設定に最も近いクーリエフォントが使用されます。

V3/V2.3のフォームからアップグレードするディスプレイ・テキストの作成に使用するフォント。

デフォルトの可視属性を持つ項目を表示するために使用するフォント。

文字セル座標システムを利用し、「デフォルト・フォント・スケール」オプションがオンに設定されているフォームを実行するときの、サイズ設定された文字セルの「幅」と「高さ」（ピクセル単位）。

文字セル・コーディネート・システムでデザインされるフォームが「デフォルト・フォント・スケール」を使用するとき、実行時におけるデフォルト・フォントのサイズ（しかし、使用している動作環境上で設定されています）が、文字格子表示セルのサイズを支配します（大きいフォントには、大きいグリッド・セル）。

各オブジェクトの位置とサイズの(x,y)座標は、フォームが文字セル単位なので、整数セル単位で表します。したがって、長さが5セルのオブジェクトを持つ格子がより大きいと、より小さいデフォルト・フォントを使用して実行したときよりオブジェクトが（絶対比較で）長くなります。

項目でデフォルトの可視属性が使用されていない限り、フィールド内のフォントのサイズには影響がありません。

質問

SQL*Forms 2.3からForm Builder 6.0へアップグレードすると、V2スタイルのトリガーはどうなるか?

答え

2.3から6.0へのアップグレードは、フォーム 6.0 ジェネレータを介して行われます。4.5から6.0へアップグレードするには、6.0 Form Builderでフォームをオープンするのみです。

V2スタイルのトリガーは、このプロセスでは変更されません。

6.0では、V2スタイルのトリガーを修正することはできません。ただし、実行は続けられます。

Form Builder 6.0は、V2スタイルのトリガーをサポートする最後のリリースとなる予定なので、そのようなトリガーは、アップグレードする予定のフォームで変換または置換しておく必要があります。


Microsoft Windows特有の事項

質問

FormsのもとでのHost()コマンドはWindowsでは同期か非同期か?

答え

Host()は、コールされたユーティリティによって初期ウィンドウが作成される場合には同期で、それ以外の場合には非同期です。

たとえば、Windowsアプリケーション 'winzip.exe'は、イニシャル・ウィンドウを作成しません。従って:

Host('winzip.exe');   -- は、非同期

また、

Host('notepad.exe');  -- は、同期

現在同期していないコマンドを同期式にする場合、アプリケーション・コードのWinMain内にウィンドウ（使用するつもりがない場合には、非表示）を作成する必要があります。

質問

Windowsのもとでフォームを実行すると、メモリーに何がロードされるか?

答え

ランフォームは、1つの小さいF60RUN32.EXE実行可能ファイルとRUNFORM.DLLで構成されています。

Form Builder実行可能プログラムは、Windowsでは動的リンク・ライブラリを使用するプログラムのように扱われます。..FMX、.MMX、.PLL / .PLXファイルがご使用のPCのメモリー内にすべてロードされます。そしてプログラム単位は、要求があればロードされます。

質問

なぜ、ウィンドウの下のボタンの色を変更することはできますか?

答え

Windows Toolkitでは、現在、ボタンのカラーを個々に変更する方法がありません。Windowsを介して、Oracle製品以外のボタンを含めたすべてのボタンのカラーを変更できます。さらに、アイコンのカラーが異なるアイコン・ボタンを使用することもできます。

質問

Forms Builder 6.0は、Microsoft Windows上のDLLをコールすることが可能ですか?

答え

ORA_FFIパッケージを使用すると、ユーザー・イグジットを使用せずに、Windows SDKファンクションまたはDLLファンクションを直接PL/SQLから起動できます。ORA_FFIの詳細は、『Advanced Techniques』マニュアルを参照してください。


Motif特有の事項

質問

Motif設定を使用してパフォーマンスを改善できるか?

答え

Tk2Motifファイル内で、次に示す設定が存在することを確認します。

Tk2Motif*dragReceiverProtocolStyle:DRAG_NONE

Tk2Motif*dragInitiatorProtocolStyle:DRAG_NONE

質問

ネットワーク通信量を減らすために明滅カーソルを使用不可にするには?

答え

TextEditとテキスト項目（フィールド）内でブリンクするI-beamカーソルの描画と非描画に伴うネットワーク・パケットの交換を減少させるために、次に示すブリンク・レート・プロパティを0（ミリセカンド）に設定することが可能です。両方のデフォルト設定では、blinkRateが500msに設定されています。

Tk2Motif*field.blinkRate: 0

Tk2Motif*tedit.blinkRate: 0

質問

Motif環境でのプッシュ・ボタンの外観と操作性を変更するには?

答え

Tk2Motifファイルで次の設定を使用すると、Motif環境でのプッシュ・ボタンの外観が極めてよくなります。

Tk2Motif*pushb.defaultButtonShadowThickness: 0

Tk2Motif*pushb.shadowThickness: 2

Tk2Motif*pushb.highlightThickness: 1

質問

トリガー・テキスト・ウィンドウ内のフォントはどうやって変更できますか?

答え

次に示すリソース設定を使用します。

Tk2Motif*tedit.fontList :my-favourite-font


複数の表の結合

Formsは、Formsバージョン6i以前では単一の表に基づくタイプ「表」の問合せデータ・ソースをサポートしました。現在、Formsは複数の表の結合に基づく表問合せデータ・ソースをサポートしています。複数の表の結合はDMLデータ・ターゲットに適していないため、データ・ターゲットは今まで通り単一の表に基づく必要があります。

タスク概要に記した手順に従って、複数の表の結合に基づく問合せデータ・ソースと単一の表に基づくDMLデータ・ターゲットでブロックを作成します。例を参照して、EMP表とDEPT表の結合に基づく問合わせデータ・ソースと、EMP表に基づくDMLデータ・ターゲットでEMPブロックを作成します。

タスク概要

1.	データ・ブロック・ウィザードを使用して、結合の表のいずれかに基づくブロックを作成します。

結合においては多くの場合、表のいずれかは複数の他の外部キー参照表に結合される「駆動表」です。データ・ブロック・ウィザードによって表の列からデータ項目を作成しやすくなるので、ブロックに含まれるほとんどの列を持つ表(通常は、駆動表)を選択することをお薦めします。データ・ブロック・ウィザードを使用するとブロックが作成されます。

2.	ブロックを選択し、「問合せデータ・ソース名」プロパティを結合の表のリストに設定します。

表のリストは、結合SELECT文のFROM句に表示されるので、カンマで区切る必要があります。

3.	WHERE句を設定して、それぞれの結合の表に結合状態を持たせます。

4.	適切な挿入、更新、削除用の表に「DMLデータ・ターゲット名」プロパティを設定します。これは通常、駆動表です。

5.	ブロックに含める結合の他の表の列に新しい項目を手動で作成します。

6.	手順5で作成した各項目を選択し、「データベース項目」プロパティを「はい」に設定します。

7.	手順5で作成した各項目を選択し、表の列名に「列名」プロパティを設定します。

8.	手順5で作成した各項目を選択し、「問合せ専用」プロパティを「はい」に設定します。

これにより、DMLデータ・ターゲット表における挿入や更新に、項目が含まれないようにできます。

9.	列名が結合の2つ以上の表にあるすべての項目については、列名と「列名」プロパティ（たとえば、table.column）の表名とを修飾します。

10.	DMLデータ・ターゲット表の主キーであるすべての項目については、「主キー」プロパティを「はい」に設定します。

EMPとDEPTを使用した例

この例ではEMPとDEPTのサンプル表を使用します。部門番号でなく、従業員の情報と部門名を表示するEMPブロックを作成します。EMP表は部門名を参照するためのDEPT表に結合される駆動表です。

1.	データ・ブロック・ウィザードを使用して、EMP表に基づくブロックを作成します。

2.	プロパティ・パレットを使用して、EMPブロックを選択し、「問合せデータ・ソース名」を「EMP」から「EMP,EPT」に変更します。

3.	「WHERE句」を「EMP.DEPTNO = DEPT.DEPTNO」に設定します。

4.	「DMLデータ・ターゲット名」を「EMP」に設定します。

5.	DEPT表の列に対応する新しい項目を手動で作成します。たとえば、「DNAME」を作成します。

6.	DNAME項目を選択し、「データベース項目」を「はい」に設定します。

7.	「列名」を「DEPT.DNAME」に設定します。

8.	「問合せ専用」を「はい」に設定します。これにより、DNAME項目がEMP表への更新に含まれるのを防止します。

9.	EMP表とDEPT表の列である任意の項目の列名を修飾します。たとえば、「DEPTNO」項目の「列名」を「DEPTNO」から「EMP.DEPTNO」に変更します。これにより、問合せ時の曖昧な列名エラーを防止します。

10.	主キーとして項目の中のいずれかを指定します。たとえば、「Empno」項目上で「主キー」に「はい」を設定します。これは、問合せデータ・ソースとDMLターゲットが異なるために必要です。


レコード・グループについて

関連項目

レコード・グループは、データベース表のような列/行のフレームワークを持つ、Form Builderの内部データ構造です。ただし、レコード・グループはデータベース表と違って、フォーム・モジュールに属するオブジェクトです。レコード・グループには、列の合計サイズが64Kを越えないことを条件に、CHAR、NUMBERまたはDATEの型の列をいくつでも含めることができます。レコード・グループの列の名前は30文字までです。

問合せにより作成されるレコード・グループには、データベース表からのレコードを入れることができます。データベース・ビューによく似ていますが、レコード・グループはデータベースに存在するのではなく、Form Builderに固有なものとして存在するという意味で、ビューにはない利点があります。また、問合せレコード・グループの作成と移入に使用されるSELECT文は、実行時に動的に構築されます。

2次元配列の複数のデータ型によって提供される機能が必要なときはいつでも、プログラムでレコード・グループを使用できます。


レコード・グループ・タイプについて

レコード・グループには、問合せレコード・グループ、問合せなしレコード・グループ、スタティック・レコード・グループという3タイプがあります。

問合せレコード・グループ	問合せレコード・グループは、関連付けられたSELECT文を持つレコード・グループです。問合せレコード・グループの列のデフォルト名、データ型および長さは、SELECT文で参照されるデータベースの列から取得されます。問合せレコード・グループ内のレコードは、そのレコード・グループに関連付けられた問合せによって検索される行です。 問合せレコード・グループは、設計時または実行時に作成または変更できます。
問合せなしレコード・グループ	問合せなしレコード・グループは、関連付けられた問合せを持たないが、その構造と行の値を実行時にプログラムで変更できるグループです。 問合せなしレコード・グループは、実行時にのみ作成または変更できます。
スタティック・レコード・グループ	スタティック・レコード・グループは、間合せに関連付けられていません。その代わり、その構造と行の値はユーザーによって設計時に定義され、実行時に確定されます。 スタティック・レコード・グループは、設計時にのみ作成または変更できます。
レコード・グループの型は明示的に指定しません。型は、いつレコード・グループを作成したか（設計時または実行時）、どのようにグループを定義したかによって暗黙的に定義されます。


レコード・グループ値について

関連項目

レコード・グループの実際の値は、次の3つのソースの1つから得られます。

•	設計時にそのレコード・グループと対応付けたSELECT文の実行（問合せレコード・グループ）

•	レコード・グループを動的に移入するビルトイン・サブプログラムの実行（問合せグループおよび問合せなしグループ）

•	設計時にレコード・グループと関連付けるスタティック値の配列（スタティック・レコード・グループ）


レコード・グループと値リスト(LOV)について

関連項目

値リスト（LOV）は、すべて、特定のレコード・グループに対応付けられます。値リストは、レコード・グループに格納されるデータの基になるレコードをオペレータが表示、スクロール、選択するためのインタフェース・オブジェクトです。設計時に値リストを定義するとき、この値リストの基になるレコード・グループを指定する必要があります。

値リストを作成するときに、「列仕様」ダイアログから基礎を形成するレコード・グループを直接作成することもできます。


レコード・グループのビルトイン・サブプログラムについて

関連項目

レコード・グループのプログラムでの処理には、次のビルトイン・サブプログラムが使用できます。

レコード・グループの型（スタティック、問合せおよび問合せなし）およびグループがいつ作成されたか（設計時または実行時）によって、特定のグループについて有効なビルトイン・サブプログラムが決まります。たとえば、ADD_GROUP_COLUMNファンクションを使用して、設計時に作成されたレコード・グループに列を追加することはできません。同様に、ADD_GROUP_ROWプロシージャを使用して、スタティック・レコード・グループに行を追加することはできません。

グループの作成および削除

•	CREATE_GROUP（ファンクション）

•	CREATE_GROUP_FROM_QUERY（ファンクション）

•	DELETE_GROUP（プロシージャ）

グループ構造体の変更

•	ADD_GROUP_COLUMN（ファンクション）

•	ADD_GROUP_ROW（プロシージャ）

•	DELETE_GROUP_ROW（プロシージャ）

グループの移入

•	POPULATE_GROUP（ファンクション）

•	POPULATE_GROUP_WITH_QUERY（ファンクション）

•	SET_GROUP_CHAR_CELL（プロシージャ）

•	SET_GROUP_DATE_CELL（プロシージャ）

•	SET_GROUP_NUMBER_CELL（プロシージャ）

セル値の取得

•	GET_GROUP_CHAR_CELL（ファンクション）

•	GET_GROUP_DATE_CELL（ファンクション）

•	GET_GROUP_NUMBER_CELL（ファンクション）

行の処理

•	GET_GROUP_ROW_COUNT（ファンクション）

•	GET_GROUP_SELECTION_COUNT（ファンクション）

•	GET_GROUP_SELECTION（ファンクション）

•	RESET_GROUP_SELECTION（プロシージャ）

•	SET_GROUP_SELECTION（プロシージャ）

•	UNSET_GROUP_SELECTION（プロシージャ）

オブジェクトIDファンクション

•	FIND_GROUP（ファンクション）

•	FIND_COLUMN（ファンクション）


設計時の問合せレコード・グループの作成

関連項目

設計時に問合せレコード・グループを作成する方法:

1	オブジェクト・ナビゲータで「レコード・グループ」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	「新規レコード・グループ」ダイアログで、「以下の問合せに基づいた新規レコード・グループ」をクリックして、「問合せテキスト」フィールドにSELECT文を入力します。SELECT文のWHERE句には、グローバル変数とフォーム・パラメータへの参照を含めることができます。

4	「OK」をクリックします。

Form BuilderによりSELECT文の妥当性が検査され、ダイアログを完了します。

注意: 新規レコード・グループにはまだ行がありません。行は、グループに対応付けられた問合せによって実行時に返されます。

•	問合せレコード・グループに対応付けられた問合せをプログラムで実行するには、POPULATE_GROUPビルトイン・サブプログラムをコールします。

•	値リストが問合せレコード・グループを基としている場合、Form Builderは、値リストが表示されるとき、またはForm Builderで「リストで妥当性チェック」プロパティを「はい」に設定しているテキスト項目の妥当性検査が必要なときは常に、そのレコード・グループに対応付けられた問合せを実行します。


レコード・グループの構造の表示

設計時に作成されたレコード・グループの構造を表示する方法:

1	オブジェクト・ナビゲータで、表示する場合はレコード・グループのアイコンをダブルクリックして「プロパティ・パレット」を表示します。

2	2.「機能」ノードの下で、「列仕様」フィールドをダブルクリックします。

「列仕様」ダイアログが表示され、選択した列の名前が「列名」テキスト・リストに表示されます。

「データの型」と「長さ」フィールドに、「列名」テキスト・リストで現在選択している列の属性が表示されます。

ヒント: 別の列の属性を表示するには、リストでその列を選択します。長さの値は、CHAR列の値のみが表示されます。データ型NUMBERおよびDATEの列については、Form BuilderではOracleデフォルトの長さが使用され、「長さ」フィールドが使用不可になります。

注意: 実行時に作成されたレコード・グループは、Form Builderで表示できません。


問合せレコード・グループのSELECT文の変更

関連項目

問合せレコード・グループSELECT文の変更

1	オブジェクト・ナビゲータで、表示する場合はレコード・グループのアイコンをダブルクリックして「プロパティ・パレット」を表示します。

2	「機能」ノードのもとで、「レコード・グループ問合せ」プロパティに設定されたSELECT文を必要に応じて変更します。

ヒント: 既存の値リストの基準となっているレコード・グループのSELECT文を変更する場合、値リスト列定義が新しいレコード・グループ列と一致するよう値リスト定義の更新が必要なこともあります。

注意: これらの指示は設計時に作成された問合せレコード・グループにのみ適用されます。実行時に作成された問合せレコード・グループのSELECT文は、実行時にプログラムによって変更できます。


実行時のレコード・グループの処理について

関連項目

実行時に問合せレコード・グループまたは問合せなしレコード・グループを作成すると、そのグループに対して次の操作を実行できます。

•	列と行を追加して、その構造を変更します

•	グループを移入します

•	問合せグループに対応付けられた問合せを変更します

•	行を追加および削除します

•	列の値を設定し取得します

•	行を「選択済」としてのマークを設定/解除します

注意: スタティック・レコード・グループは、設計時にのみ作成または変更できます。

レコード・グループの行は、内部で番号付けされており（1、2、3、というように）個々の行と列に対する操作では、行番号によってこれらの行を必ず参照します。


実行時における問合せレコード・グループの作成

例	関連項目

問合せレコード・グループをプログラムによって実行時に作成するには、CREATE_GROUP_FROM_QUERY関数を使用できます。この関数をコールするには、レコード・グループに対応付けたいSELECT文を渡します。結果のグループの列は、SELECT文で参照したデータベースの列に対応しています。

CREATE_GROUP_FROM_QUERYの戻り値は、新規グループのオブジェクトIDです。この戻り値を、レコード・グループの型として宣言した変数に割り当ててください。

CREATE_GROUP_FROM_QUERYをコールすると、まだ行を含まないグループが作成されます。グループを移入するには、関数POPULATE_GROUPをコールして、対応付けられた問合せを明示的に実行する必要があります。POPULATE_GROUP関数の戻り値は、問合せが正常に完了すると0で、問合せに失敗するとOracleエラー番号です。


レコード・グループの問合せを置換する

例	関連項目

POPULATE_GROUP_WITH_QUERY関数をコールすると、グループの現在の問合せを新しい問合せに置換できます。

新しい問合せで参照される列の構造は、グループの現在の問合せで参照されている列と同じにする必要があります。つまり、POPULATE_GROUP_WITH_QUERYをコールしてもレコード・グループの列の構造は変更できません。

たとえば、デフォルトのWHERE句やORDER BY句を変更する場合は、グループの問合せを置き換えることができます。

POPULATE_GROUP_WITH_QUERY関数の戻り値は、問合せが正常に完了すると0がで、失敗するとOracleエラー番号です。

新規問合せはレコード・グループに対応付けられたままなので、POPULATE_GROUP関数を続けてコールすれば変更された内容で実行できます。


実行時の問合せグループの移入

関連項目

問合せグループをプログラムで作成し操作するときは必ず、グループの値はデータベースの現行の値が反映されます。問合せグループの行は、POPULATE_GROUPまたはPOPULATE_GROUP_WITH_QUERYを最後にコールしたときのみ現行値であることに注意してください。


実行時における問合せレコード・グループ作成の例

/* The following example creates a four-column record
** group based on two database tables, product and
** inventory.
*/

DECLARE
   group_id	RecordGroup;
   query_ok	NUMBER;
BEGIN
/* create the group prod_group and assign its id to the
** variable group_id  */
   group_id := Create_Group_From_Query ('prod_group',
     'SELECT product.id, product.name,
     inventory.warehouse_id, inventory.amount_in_stock
     FROM product, inventory
     WHERE product.id = warehouse.product_id');
/* now execute the new group's query, using the variable
** group_id to identify the group */
   query_ok := Populate_Group(group_id);

/* if the query failed, abort this trigger by raising a
** predefined exception */
   IF query_ok <> 0 THEN
     RAISE Form_Trigger_Failure;
   END IF;
END;


レコードグループ問合せの置換例

レコード・グループの問合せを置換する例 */

/* The following example demonstrates replacing a
** record group's query at runtime: */ IF (Populate_Group_With_Query
   ('prod_group',
   'SELECT product.id, product.name, inventory.warehouse_id,
     inventory.amount_in_stock
     FROM product, inventory
     WHERE product.id = warehouse.product_id
     AND inventory.amount_in_stock > 10'))
     <> 0 THEN
     RAISE form_trigger_failure;
END IF;


問合せなしレコード・グループの作成および移入

例	関連項目

問合せなしレコード・グループは、実行時にのみ作成できます。

問合せなしレコード・グループを作成するには、CREATE_GROUP関数を使用します。CREATE_GROUP関数を使用すると列も行もないグループが作成されるため、通常はこの後、関数ADD_GROUP_COLUMNおよびADD_GROUP_ROWをコールします。

CREATE_GROUPは、新規グループの内部IDを戻す関数です。ADD_GROUP_COLUMNは新しい列のIDを戻します。レコード・グループおよびグループ列型の変数にこれらのIDを割り当てておけば、この新しいグループと列を参照できます。

POPULATE_GROUP_WITH_QUERYを使用して問合せなしグループを移入することもできます。これによって、指定された問合せがグループに関連付けられるため、問合せなしグループが問合せグループに変換されます。新しい問合せで参照されるデータベース列は、レコード・グループ内の列と対応している必要があります。

たとえば、適切な列を持つ問合せなしレコード・グループを作成し、POPULATE_GROUP_WITH_QUERYをコールして、問合せをそのグループに関連付けることもできます。


問合せなしレコード・グループの作成および移入の例

/* The following example creates a record group called my_group.
** The resulting group is a three-column non-query record group
** that does not yet contain any rows.
*/

DECLARE
   group_id	RecordGroup;
   col1_id	GroupColumn;
   col2_id	GroupColumn;
   col3_id	GroupColumn;

BEGIN
/* Create a non-query group called my_group and assign its id
** to the variable group_id.
*/
   group_id := Create_Group('my_group');

/* Add three columns to the new group, using the variable
** group_id to identify the group.The first two columns
** are of type CHAR_COLUMN and their length must be
** specified.
** The third is of type NUMBER_COLUMN and does not take a
** length parameter
*/
   col1_id := Add_Group_Column(group_id,'col1',CHAR_COLUMN,50);
   col2_id := Add_Group_Column(group_id,'col2',CHAR_COLUMN,50);
   col3_id := Add_Group_Column(group_id,'col3',NUMBER_COLUMN);

END;


既存のレコード・グループの変更

関連項目

次の方法で既存のレコード・グループの構造を変更できます。

•	add rows to the group

•	delete rows from the group

•	add columns to the group

•	delete the group


レコード・グループへの行の追加

例	関連項目

グループに行を追加するには、ADD_GROUP_ROWプロシージャを使用します。ADD_GROUP_ROWをコールするとき、行番号を入力するか、既存の行の最後にその行を置くように指定して、Form Builderが新しい行を挿入する場所を指定します。

特定の位置に新しい行を挿入するには、その行番号を入力します。

Add_Group_Row('my_group',3);

すべての既存の行の最後に行を追加するには、END_OF_GROUP定数を使用して行の位置を指定します。

Add_Group_Row('my_group',END_OF_GROUP);

新たに追加する行の列の値のデフォルト値はNULLです。個々の列の値を設定するには、次のようなセルのデータ型に適したプロシージャを使用します。

•	SET_GROUP_CHAR_CELL

•	SET_GROUP_DATE_CELL

•	SET_GROUP_NUMBER_CELL

注意: プログラムによって行をスタティック・レコード・グループに追加することはできません。


レコード・グループに行を追加する例

/* The following example adds a row at the end of the
** group my_group and then sets the values of each cell
** in the new row:
*/
*/

DECLARE
   group_id	RecordGroup := Find_Group('my_group');
   total_rows	NUMBER;
   new_row	NUMBER;
BEGIN
/* find out how many rows there are in the group now */
   total_rows := Get_Group_Row_Count(group_id);

/* add a row at the end of the group my_group */
   Add_Group_Row(group_id, END_OF_GROUP);

/* increment total_rows to get the row number of the new row */
   new_row := total_rows + 1;

/* set the value of columns 1,2, and 3 in the new row */
   Set_Group_Char_Cell('my_group.col1, new_row, 'xyz company');
   Set_Group_Char_Cell('my_group.col2', new_row, 'district 12');
   Set_Group_Number_Cell('my_group.col3', new_row, 400);
END;


レコード・グループからの行の削除

関連項目

既存のグループから行を削除するにはDELETE_GROUP_ROWプロシージャを使用します。次の例では、prod_groupという名のグループの3番目の行を削除しています。

Delete_Group_Row('prod_group',3);

すべての行を削除するには、定数ALL_ROWSを入力します。

Delete_Group_Row('prod_group',ALL_ROWS);

注意: スタティック・レコード・グループからは行を削除できません。


レコード・グループへの列の追加

例	関連項目

既存のレコード・グループに新しい列を追加するには、ADD_GROUP_COLUMNプロシージャを使用します。列を追加するレコード・グループは、次の基準を満たしている必要があります。

•	グループは、プログラムで作成された問合せグループまたは問合せなしグループであること（設計時に作成されたグループには列を追加できません）

•	グループには現在まったく行が含まれていないこと

問合せレコード・グループに列を追加するときは、グループの現行の問合せを、新しい列の中に値を選択して挿入する新しい問合せに置き換える必要があることに注意してください。


レコード・グループに列を追加する例

/* The following example adds a column to a query record
** group that was created by a call to CREATE_GROUP_FROM_QUERY
** and currently has rows returned by that query.
*/

DECLARE
  query_ok	NUMBER;

BEGIN
/* This is a query group that has rows from a previous call
** to Populate_Group, so first delete all its rows
*/
   Delete_Group_Row('prod_group',ALL_ROWS);

/* Now add a column of type DATE_COLUMN to the group */

Add_Group_Column('prod_group', 'restock_date', DATE_COLUMN);

/* The structure of group's old query is no longer valid, so
** replace that query with a new query and populate the group
*/

query_ok := Populate_Group_With_Query('prod_group',
   'SELECT product.id, product.name, inventory.warehouse_id,
   inventory.amount_in_stock, inventory.restock_date FROM product,
   inventory WHERE product.id = warehouse.product_id');

/* if the query failed, abort this trigger by raising a
** predefined exception */

IF query_ok <> 0 THEN
     RAISE Form_Trigger_Failure;
  END IF;
END;


レコード・グループの削除

関連項目

プログラムで作成されたレコード・グループを削除するには、DELETE_GROUPプロシージャを使用します。

Delete_Group('prod_group');

注意: 設計時に作成されたグループは削除できません。


行の操作

関連項目

いったんレコード・グループを作成し移入すれば、その行に対して次の操作を実行できます。

•	グループ内の行数をカウントします

•	個々のセルの値を設定します

•	個々のセルの現行値を取得します

•	行に「選択済」のマークを設定し、選択済の行をカウントして取り出します。

行操作を実行するときは、行番号で行を指定する必要があります。たとえばセルの値を取得するには、行番号と列名でセルを参照します。


レコード・グループ内の行数のカウント

例	関連項目

GET_GROUP_ROW_COUNTファンクションによって、レコード内の行数がわかります。このファンクションは、任意のグループ内のすべての行をループするのに必要な反復の数を判別するときに便利です。


レコード・グループ内の行数をカウントする例

/* The following example first executes the query
** associated with the query group named my_group,
** then assigns the number of rows returned by the
** query to the variable row_count.
*/

DECLARE
   group_id	RecordGroup;
   query_ok	NUMBER;
   row_count	NUMBER;
BEGIN
   query_ok := Populate_Group('my_group');
   row_count := Get_Group_Row_Count(group_id);
END;

/* The following example demonstrates the use of
** GET_GROUP_ROW_COUNT to determine how many iterations
** are required to loop through all of the rows in a
** given group.
*/

DECLARE
   group_id	RecordGroup := FIND_GROUP('my_group');
   row_count	NUMBER;

BEGIN

/* find out how many rows are in the group */

row_count := Get_Group_Row_Count(group_id);

/* set the group's Status column to 'discontinued' for any
** rows with product id of 471
*/

FOR j IN 1..row_count LOOP
   IF Get_Group_Number_Cell('my_group.prod_id', j) = 471
      THEN Set_Group_Char_Cell (my_group.status, j, 'discontinued');
   END LOOP;
END;


セル値の取得と設定

例	関連項目

特定の行と列の交差部のセルの値を取得し設定できます。

特定の行のある列の現行値を取得するには、次のようなセルのデータ型に適した関数を使用します。

•	GET_GROUP_CHAR_CELL

•	GET_GROUP_DATE_CELL

•	GET_GROUP_NUMBER_CELL

レコード・グループの列を参照するときは、完全なgroup_name.column_name構文を使用します。または、内部オブジェクトIDによっても列を参照できます。特定の列のIDを取得するには、FIND_COLUMN関数を使用します。

特定の行で列の値を設定するには、セルのデータ型に適した次のようなプロシージャを使用します。

•	SET_GROUP_CHAR_CELL

•	SET_GROUP_DATE_CELL

•	SET_GROUP_NUMBER_CELL

注意: スタティック・レコード・グループにはセルの値を設定できません。


セル値を取得および設定する例

/* The following example gets the current value of the
** amount_in_stock column in the third row of the group
** my_group.
*/

DECLARE
   quantity	NUMBER;
   col_id	GroupColumn :=
     Find_Column('my_group.amount_in_stock');
BEGIN
   quantity := Get_Group_Number_Cell(col_id,3);
END;

/* The next example sets the value of the name column to
** Lisa Jean in the first row of the group named my_group.
*/

Set_Group_Char_Cell('my_group.name',1,'lisa jean');


行に選択済みのマークを設定する

例	関連項目

行の操作をする際に、プログラム上で、行に「選択済」としてマークを付けることができます。行を選択すると、行に内部フラグが設定され、その後の行操作で参照できます。

•	行に選択済みのマークを付けるには、プロシージャSET_GROUP_SELECTIONを使用します。

•	グループ内で選択されている行数を知るには、関数GET_GROUP_SELECTION_COUNTを使用します。

•	行の選択済みマークを消すには、UNSET_GROUP_SELECTIONを使用します。

•	グループ内で現在選択されている行をすべて選択解除するには、プロシージャRESET_GROUP_SELECTIONを使用します。

•	選択済みのマークが付いている行の行番号を取得するには、関数GET_GROUP_SELECTIONを使用します。関数GET_GROUP_SELECTIONを使用すると、指定した選択行の行番号が戻ります。たとえば、行番号6および11、18を選択したとき、これらはそれぞれ1、2、3の選択を表します。したがって、グループ内の3つの行を選択すると、次の関数コールでは2番目の選択行の行番号が戻ります。

row_num := Get_Group_Selection('my_group,2);


行に選択済みのマークを設定する例

/* The following trigger loops through all of the rows in
** the group orders.If the date stored in a row's
** date_ordered column is prior to 1980, the row is marked
** as selected.
*/

DECLARE
   group_id	RecordGroup := FIND_GROUP('orders');
   row_count	NUMBER;
   old_orders	NUMBER;

BEGIN

/* determine how many orders there are */

row_count := Get_Group_Row_Count(group_id);

/* if an order is older than 1980, mark it for selection */

FOR j IN 1..row_count LOOP
     IF Get_Group_Date_Cell('orders.date_ordered', j) <
       '01-JAN-80' THEN
       Set_Group_Selection(group_id, j);
     END IF;
   END LOOP;

/* count the total number of old orders */

old_orders := Get_Group_Selection_Count(group_id);

END;

/* The following example is a procedure called kill_rows.
** The procedure takes a CHAR parameter that allows the name
** of a record group to be passed in at runtime.The procedure
** deletes all of the rows in the group that are currently
** selected.
*/

PROCEDURE kill_rows(group_name IN CHAR) IS
   group_id	RecordGroup := Find_Group('group_name');
   counter	NUMBER := 1;
   marked_rows	NUMBER;

BEGIN

/* determine how many rows are marked as selected */

marked_rows := Get_Group_Selection_Count(group_id);

/* delete each row marked as selected */

WHILE counter <= marked_rows LOOP
     Delete_Group_Row(group_id,
     Get_Group_Selection(group_id,counter));
     counter := counter + 1;
   END LOOP;

END;


マスター/ディテール・リレーションとは

関連項目

マスター/ディテール・リレーションは、マスター・ブロックとディテール・ブロックの2つのデータ・ブロックの間の関係です。このリレーションは、次のいずれかを表します。

•	ブロックの作成基盤となっている、表間の主キー/外部キー・リレーション

•	ブロックの作成基盤となっている、表間のREFポインタ・リレーション

世界的なスポーツ用品メーカーの在庫管理アプリケーションを考えてみます。地理的な地域のためのREGION表およびさまざまな地域にある商品倉庫のためWAREHOUSE表があるとします。

アプリケーションには、各表に基づくデータ・ブロックが含まれています。各倉庫は特定の地域にあるため、REGION表とWAREHOUSES表の間には、主キーと外部キーの関係があります。この関係は、ブロック間のマスター/ディテール・リレーションも定義します。すなわち、REGIONブロックはマスター・ブロックで、WAREHOUSEブロックはディテール・ブロックです。

マスター/ディテール・リレーションは自動的に次のことを行います。

•	ディテール・ブロックには、マスター・ブロック内の現行の（マスター）レコードに対応付けられたレコードのみが表示されるようにします。

•	2ブロック間の問合せを調整します。

たとえば、エンド・ユーザーが別の地域レコードをナビゲートしてマスター・ブロック内の現行レコードを変更したとき、Form Builderにより、選択地域内の倉庫のレコードのみが表示されるようにディテール・ブロックが更新されます。同様に、エンド・ユーザーがマスター・ブロック内の特定の地域の問合せをしたとき、Form Builderによって、その地域の全倉庫のレコードを自動的に検索することもできます。


マスター/ディテール・リンクについて

  関連項目

マスター・ブロックとディテール・ブロックは、結合条件または他のブロックのデータを参照するブロックのREF列によって相互にリンクしています。

結合条件

マスター・ブロックは、結合条件によってディテール・ブロックと関連しています。結合条件は、マスター・ブロックの主キー項目とディテール・ブロックの外部キー項目から確立されます。上記のアプリケーション例の結合条件は次のとおりです。

warehouse.region_id = region.id

すなわち、次のようになります。

detail_block.foreign_key_item = master_block.primary_key_item

注意: Formsによる処理の場合、結合条件の作成の際にデータベース内のCHAR型の列を基準にしないようお薦めします。（ただし、VARCHAR2型の列は除きます。)

REFポインタ

表/ブロック内のREF列には、他の表/ブロック内のデータ行へのポインタが含まれます。この参照によって、自然なマスター/ディテール・リレーションが形成されます。ディテール・ブロックは、マスター・ブロックを参照するREF項目を持ちます。REFリンクは、どちらの表の主キーまたは外部キーの値にも依存しないことに注意してください。


ブロック調整について

  関連項目

実行時にマスター/ディテール・リレーションを維持するために、Form Builderによりマスター・ブロックとディテール・ブロックが調整され、ディテール・ブロックに表示されるレコードがマスター・ブロックの現行のレコードに対応付けられるようにします。

マスター・ブロックの現行レコードを変更するイベントは、すべて調整の原因となるイベントです。レコードの削除、または[Up]や[Down]キーを押すことによる別のレコードへの移動は、どちらも調整の原因となるイベントの例です。このようなイベントが起きたとき、マスター・ブロックとディテール・ブロックの調整に必要な処理がForm Builderで自動的に行われます。

ブロック調整には、消去フェーズおよび移入フェーズの2フェーズがあります。消去フェーズの間に、Form Builderによりディテール・ブロックが内部でナビゲートされ、古いディテール・レコードがフラッシュされます。移入フェーズの間には、Form BuilderからSELECT文が発行され、新規マスター・レコードに対応付けられたディテール・レコードがディテール・ブロックに再び移入されます。これらの操作は、トリガーの実行によって達成されます。

例を続けるために、エンド・ユーザーがREGIONブロックの先頭レコードにいて「次のレコードへ」を押した時に何が起こるかを考えます。「次のレコードへ」は調整を発生させるイベントなので、Form Builderはまず内部のWAREHOUSEブロックにナビゲートして、既存の倉庫レコードをフラッシュします（消去フェーズ）。次の地域が、REGIONブロックの現行マスター・レコードになります。選択された地域にある倉庫のレコードがフェッチされます（移入フェーズ）。


「項目から値をコピー」プロパティについて

  関連項目

マスター・ブロックの現行レコードによってディテール・ブロックの移入を調整するためにForm Builderで使用されたのは、ディテール・ブロックの外部キー項目に対する「（項目）のコピー値」プロパティです。「（項目）のコピー値」プロパティには、マスター・ブロック内の主キー項目を指定します。この項目の値は、ディテール・レコードが作成されたり問合せされるときは常に、ディテール・ブロック内の外部キー項目にコピーされます。

マスター・レコードの主キー項目の値は、ディテール・ブロックの外部キー項目にコピーされるため、ディテール・ブロックを移入するためにForm Builderから発行されたSELECT文のWHERE句に自動的に取り込まれます。

次の例では、外部キー項目の値WAREHOUSE.REGION_IDが主キー項目REGION.IDの現行値からコピーされています。したがって、ブロック調整中には現在選択されているマスター地域の倉庫のみが問合せの対象になります。

SELECT id, address, phone, manager_id
  FROM warehouse
  WHERE warehouse.region_id = foreign key value

ブロックが複合結合によって関連するとき、「（項目）のコピー値」プロパティは、ディテール・ブロックの2つ以上の外部キー項目に対して設定されます。


リレーション・オブジェクトについて

  関連項目

マスター・ディテール・リレーションは、フォームの開発処理中にいつでも定義できます。ブロック間のマスター/ディテール・リレーションを定義するには、リレーション・オブジェクト のプロパティを作成および設定します。

リレーションとは、1つのマスター・ブロックおよび対応する1つのディテール・ブロック間の関係を指定する論理オブジェクトです。オブジェクト・ナビゲータでは、リレーション・オブジェクトは、そのリレーションのマスター・ブロックであるブロックの下に表示されます。

リレーションを作成するとき、Form Builderにより、マスター・ブロックとディテール・ブロック間を強制的に調整するために必要なトリガーおよびPL/SQLプロシージャが作成されます。Form Builderで作成される実際のコードは、リレーションのプロパティの設定方法により異なります。


マスター/ディテール・リレーションの作成について

  関連項目

Form Builderでマスター/ディテール・リレーションの作成される方法は、次の2通りです。

•	データ・ブロック・ウィザードのマスター/ディテール・リレーションのページでリレーションを作成します（そのリレーションのディテール・ブロックを作成するとき）。

•	オブジェクト・ナビゲータで、適切なマスター・ブロックに対する「リレーション」ノードの下にリレーション・オブジェクトを挿入します。マスター・ブロックおよびディテール・ブロックは、どちらもすでに存在している必要があります。

制限事項

一般に、マスター・ブロックが表に基づき、ディテール・ブロックがストアド・プロシージャに基づいているマスター/ディテール・リレーションは作成しないでください。問合せと調整は、常にそのようなリレーションで動作するとは限りません。ただし、マスター・ブロックがストアド・プロシージャに基づき、ディテール・ブロックが表に基づいているような逆のケースでは、そのような制限はありません。

リレーション・プロパティの変更

2ブロック間のリレーションをいったん作成すれば、そのプロパティをいつでも変更できます。リレーションの「レコード削除時の動作」または「調整」プロパティを変更するとき、Form Builderにより、必要に応じてトリガーを追加または削除、編集できます。


データ・ブロック・ウィザードによるマスター/ディテール・リレーションの作成

  関連項目

データ・ブロック・ウィザードで新しいブロックを作成すると、ウィザードのマスター/ディテール・ページを使用して、マスター/ディテール・リレーションを作成できます。データ・ブロック・ウィザードのマスター/ディテール・ページを参照してください。


オブジェクト・ナビゲータでのマスター/ディテール・リレーションの作成方法

  関連項目

オブジェクト・ナビゲータでマスター/ディテール・リレーションを作成する方法:

1	オブジェクト・ナビゲータにおいて、リレーションのマスター・ブロックにする場合はブロックを決め、（必要な場合は）「+」をクリックして、マスター・ブロックに関連する「トリガー」、「項目」および「リレーション」ノードを表示します。

2	マスター・ブロックで「リレーション」ノードを選択し、「ナビゲータ」 [image] 「作成」を選択します。

Form Builderは、「新規リレーション」ダイアログを表示します。「マスター・ブロック」フィールドには、選択したマスター・ブロックの名前が表示されています。

3	「ディテール・ブロック」フィールドに、ディテール・ブロックの名前を入力するか、「選択...」 をクリックして値リストからブロックを選択します。

4	「マスター削除」と「データ整合」動作、「結合条件」の設定を入力してから、「OK」をクリックします。


マスター/ディテール・リレーションの結合条件の指定

  関連項目

次の項目により結合条件を指定できます。

•	マスター・ブロックとディテール・ブロックの両方に存在する項目名（項目名をコロンで始めないでください）。

•	2つの項目名の等価条件。ただし、一方の項目はマスター・ブロックに存在し、他方はディテール・ブロックに存在します。

•	項目名と等価条件の組合せ。

有効な結合条件は次のとおりです。

•	両方のブロックに存在する項目名。

ordid

•	等価条件。

warehouse.region_id = region.id

•	複合結合は次のフォーマットで入力できます。

block1.item1 = block2.item1 AND block1.item2 = block2.item2

注意: データベースの各表の間の主/外部キーの関係は、純粋にデータベース上で定義された論理的な関係です。関連する表と列の中の明示的な主キーまたは外部キーの列の制約は必要ありません。


調整に影響するリレーション・プロパティの設定

  関連項目

マスター/ディテール・リレーションを作成するとき、Form Builderにマスター/ディテール・ブロック間の調整を管理させる方法を決める必要があります。

特に、次のことを決定する必要があります。

•	対応付けられたディテール・レコードが存在する場合、エンド・ユーザーにマスター・レコードを削除させる必要がありますか。

•	エンド・ユーザーにマスター・レコードを削除させる場合、Form Builderでは、対応付けられたディテール・レコードも削除する必要がありますか。

•	エンド・ユーザーがマスター・ブロックの現行レコードに新規レコードを作成する場合、Form Builderでは、関連付けられたディテール・レコードをただちにフェッチするのか、エンド・ユーザーがディテール・ブロックをナビゲートするまで待ちますか。

これらの質問への答えは、アプリケーションの固有の要件によって異なります。リレーション・オブジェクトのプロパティを設定すると、アプリケーションにとって最も適切なマスター/ディテール機能をインプリメントできます。

リレーションの機能に影響するプロパティには、「（項目）のコピー値」および、「調整」、「マスターなし操作防止」があります。

「レコード削除動作」プロパティ 「レコード削除動作」プロパティ（以前は「マスター削除」プロパティと呼ばれていた）を使用すると、マスター・ブロックのレコードの削除がディテール・ブロックのレコードにどのように影響するか指定できます。「カスケード」または「孤立」、「非孤立」を指定できます。

カスケード
マスター・レコードは、削除できます。対応付けられたディテール・レコードもそのときデータベースから自動的に削除されます。リレーションが複数レベルにネストされている場合、即時ディテール・ブロック内のレコードのみが削除されます。すなわち、削除はリレーション連鎖の複数レベルを自動的にカスケードしません。

孤立
マスター・レコードは削除できますが、対応付けられたディテール・レコードはデータベースから削除されません。

非孤立	デフォルト設定です。対応付けられたディテール・レコードがデータベースに存在する場合、マスター・レコードは削除できません。

注意: データベースがOracle 7 Serverのカスケード削除機能を使用している場合、Form Builderのカスケード削除機能は使用しないでください。

「調整」プロパティ  調整プロパティ遅延および自動問合せの値により、ブロックの移入フェーズがいつ調整されるかを指定します。

即時	（遅延 = いいえ）  デフォルト設定調整の原因となるイベントが発生すると、Form Builderにより、ディテール・レコードが即時にフェッチされます。

遅延	調整の原因となるイベントが起きたとき、Form Builderではディテール・レコードが自動的にフェッチされません。ディテール・レコードをフェッチするには、エンド・ユーザーが、ディテール・ブロックをナビゲートして明示的に問合せを実行する必要があります。

自動問合せ	調整の原因となるイベントが起きたとき、エンド・ユーザーがディテール・ブロックをナビゲートするまでForm Builderでのディテール・レコードのフェッチは遅延します。


適切な調整の選択

  関連項目

遅延調整を「遅延移入」と考えます。つまり、マスター・ブロックで調整原因となるイベントが発生すると、調整の移入フェーズは延期されますが、Form Builderはディテール・ブロック内の既存レコードを即座に消去します。この機能により、ディテール・ブロックには、マスター・ブロック内の現行レコードと矛盾するレコードは表示されません。

一般的には、ディテール・ブロックがエンド・ユーザーに表示される場合、およびエンド・ユーザーが現行のマスター・レコードに対応付けられたディテール・レコードを表示する場合は、即時調整（遅延= No）を選択します。

自動問合せありの遅延調整は、ディテール・ブロックが即座に表示されない場合にお薦めします（ディテール・レコードを表示させるには、エンド・ユーザーは別のウィンドウでディテール・ブロックをナビゲートする必要があります）。

また、遅延調整は、エンド・ユーザーがディテール・レコードの表示をまったく必要としない場合にも便利です。この場合、遅延調整により不必要なデータベースの問合せが防げます。

自動問合せなしの遅延調整は、エンド・ユーザーが入力問合せモードに切り替えられるようにするとき、および、移入の前にディテール・ブロックの問合せ基準を追加指定するときに便利です。この調整によりエンド・ユーザーは、調整およびその付属の処理を強制しなくてもディテール・レコードをナビゲートでき、実際に必要になる前に表示できます。


ディテール・ブロックの外部キー項目のプロパティの設定

リレーションを作成したとき、Form Builderにより、ディテール・ブロックの外部キー項目に対する「 （項目）のコピー値」プロパティが自動的に設定されます。「（項目）のコピー値」プロパティには、MASTER_BLOCK.ITEM_NAMEの形式で対応する主キー項目の名前を指定します。実行時に、マスター・ブロックの主キー項目に格納された値は、ディテール・レコードが作成または問合せされると常に、ディテール・ブロックの外部キー項目にコピーされます。

データ・ブロック・ウィザードにリレーションを作成したとき、Form Builderによって、ディテール・ブロック内の外部キー項目に次の処理がなされます。

•	「キャンバス」プロパティをNULLに設定します（項目をNULL-キャンバス項目にする）。

•	「可視」および「変更可能」、「キーボードで移動可能」、「問合わせ可」、「更新可」プロパティを「いいえ」に設定します。

•	外部キー項目がブロックのナビゲーション順序の最後になるように、オブジェクト・ナビゲータで項目の順序付けをします。

また、リレーションがデータ・ブロック・ウィザードに作成された場合、Form Builderは外部キー項目にボイラープレート・テキスト・ラベルを作成しません。

データ・ブロック・ウィザードではなくオブジェクト・ナビゲータでリレーションを作成したときにも、自分自身で同様にプロパティの設定を行いたいと思うかもしれません。

こうした設定にするのは、同じ情報がディテール・ブロックの主キー項目に表示されるので、外部キー項目をエンド・ユーザーに見えないようにするためです。これらの設定は、エンド・ユーザーがマスター・ブロックとディテール・ブロックの両方を同時に表示できるときに最適です。エンド・ユーザーがディテール・レコードのビューを表示している時にマスター・ブロックを表示できない場合、これらの設定をやり直して外部キー項目がエンド・ユーザーに表示されるようにできます。その場合、項目の「更新可」プロパティを「いいえ」に設定してください（そうすると、エンド・ユーザーは外部キーの値を編集できないので、エンド・ユーザーにマスター/ディテール調整を壊されずにすみます）。


マスター/ディテール・リレーションの削除

  関連項目

マスター/ディテール・リレーションを削除するには、オブジェクト・ナビゲータでこのリレーションを選択し、「ナビゲータ」 [image] 「削除」を選択します。マスター/ディテール・リレーションを削除したときまたはリレーションの一部であるオブジェクトを削除したときにどうなるかを次の表で示します。

削除するもの	Form Builderでの実行内容
マスター/ディテール・リレーション	リレーションのマスター・ブロックに付けられたすべてのマスター/ディテール・トリガーを削除し、ディテール・ブロック内の外部キー項目の「（項目の）コピー値」プロパティを消去します。
リレーションのマスター・ブロックまたはディテール・ブロック	リレーションおよび対応付けられたすべてのマスター/ディテール・トリガーが削除されますが、マスター/ディテール・プロシージャは削除されません。
マスターと独立ディテール・リレーションのディテール・ブロック	リレーションが削除され、関連するディテール・セクションがOn-Clear-Detailsトリガーから除去されて、On-Populate-Detailsトリガー（ある場合）が削除されます。このセクションに追加したコメントおよびコードもすべて除去されます。
ディテール・ブロックの外部キー項目、またはマスター/ディテール・トリガー、マスター/ディテール・プロシージャ（お薦めしません）	何も起こりません。ただし、マスター/ディテール・ブロック調整が破壊されるという重大な影響が起きます。ディテール・ブロック内の外部キーは（それをNULLキャンバス項目にして）隠すことができますが、完全に削除しないでください。マスター/ディテール・トリガーとプロシージャは、マスター/ディテール・ブロック調整を確実に行うために同じように重要です。


ディテール・ブロックのマスターのない操作の回避

 例	     関連項目

マスターが存在しない状態でのディテール・ブロックの操作をエンド・ユーザーに許可するのはできるだけ避けてください。つまり、マスター・ブロックに現行レコードが存在しない場合、ディテール・ブロックのレコードの問合せや挿入は、エンド・ユーザーに許可しないようにしてください。

「マスターなし操作防止」リレーション・プロパティを「はい」に設定して、リレーションのディテール・ブロックでのマスター・レコードのない状態での操作をエンド・ユーザーに許さない場合、次の効果があります。

•	マスター・ブロックにマスター・レコードがないときにエンド・ユーザーがディテール・ブロックにレコード挿入を試みた場合、Form Builderにより次のエラー・メッセージが表示されます。FRM-41105: 親レコードがなければ、レコードの作成はできません。

•	マスター・ブロックにデータベースからのマスター・レコードがないときにエンド・ユーザーがディテール・ブロックにレコード問合せを試みた場合、Form Builderにより次のエラー・メッセージが表示されます。FRM-41105: 親レコードがなければ、レコードの問合せはできません。

マスター・レコードに依存せずに作成されたディテール・レコードをエンド・ユーザーがコミットしようとするとエラーが生じる可能性がある場合は、マスター・レコードのない状態でのディーテール・レコードの挿入を回避するのが通常は適切な処置です。このようなエラーが起きるのは、ディテール・ブロックの値の導出元がマスター・レコードの主キー項目からの外部キー項目の値である（「（項目）のコピー値」プロパティによる）場合です。

エンド・ユーザーがディテール・ブロックからの問合せをしても、意味のある結果は得られないため、マスターのない状態での問合せをエンド・ユーザーに禁止する措置も考えられます。この場合、エンド・ユーザーは、特定のディテール・レコードの存在を問い合わせることができますが、それらがどのマスター・レコードに属するかは決定できません。（これは、ディテール・ブロックの外部キー項目が表示されないことを前提としています。

ディテール・ブロックへのナビゲーションの回避「マスターなし操作防止」プロパティを「はい」に設定すると、エンド・ユーザーは対応するマスター・レコードのないディテール・ブロックでは問合せおよび挿入ができなくなりますが、ディテール・ブロックのナビゲートは禁止できません。

アプリケーションによっては、マスター・レコードがないときにはディテール・ブロックへのナビゲートを禁止することが賢明です。


ディテール・ブロックのマスターのない操作の回避の例

例

/* One way to prevent end users from navigating to a detail

** block for which there is no master.It is based on the
** detail block WAREHOUSE and the master block REGION.
** Use a When-New-Block-Instance trigger on detail block
** WAREHOUSE:
*/
DECLARE
  alert_dummy   NUMBER;
BEGIN
/* See if there is a master record by checking the status
** of the current record in the master block
*/
IF GET_RECORD_PROPERTY(GET_BLOCK_PROPERTY
   ('region', current_record), 'region', STATUS) = 'NEW'
   OR :region.region_id IS NULL THEN
/*
** There isn't a master record; display an alert that tells the
** end user to query or enter a region record before moving to
** the warehouse block
*/
   alert_dummy := SHOW_ALERT('my_alert');
/*
** Put the input focus in the master block
*/
   GO_BLOCK('region');
END IF;
END;
/* The When-New-Block-Instance trigger fires whenever the end
** user navigates to the detail block.The built-in function
** GET_RECORD_PROPERTY is used to determine the status of
** the current record in the master block.(The function
** GET_BLOCK_PROPERTY is nested as the first argument to
** GET_RECORD_PROPERTY to return the record number of the
** current record in the region block.)
**
** If the status of the current record is NEW, indicating that
** the record is not an existing master record, Form Builder
** displays an alert window with the message "Query or enter
** a master record before moving to the detail block."
** The trigger then navigates to the master block to allow the
** end user to do just that.
*/


複合マスター/ディテール・リレーションの作成

多くのアプリケーションでは、2ブロック以上を含む複合マスター/ディテール・リレーションが必要です。このようなリレーションを作成するには、個々のリレーションを必要に応じて数多く定義します。

フォームに定義できるリレーションの数に実際的な制限はありません。さらに、どのブロックも1つ以上のリレーションでマスターまたはディテールにできます。1つのリレーションでマスターになっているブロックを別のリレーションでディテールにもできます。

複合マスター/ディテール・リレーションを作成するとき、Form Builderにより既存のトリガーが自動的に調整され、定義するリレーションが管理されます。

ここでは、複合マスター/ディテール・リレーションの最も一般的な3つの型について説明します。

•	マスターと従属ディテール

•	マスターと独立ディテール

•	ディテールと2つのマスター


複合リレーションおよびカスケード削除について

リレーションの「レコード削除時の動作」プロパティを「カスケード」に設定するときは、この削除がリレーションの即時ディテール・ブロックにのみ発動されることに注意してください。たとえば、ブロックAおよびB(A_B)、とBおよびC(B_C)の間にリレーションが含まれる複合マスター/ディテール・リレーションがあるとします。ここで、BはA_Bリレーションのディテール・ブロックであり、B_Cリレーションのマスター・ブロックでもあります。

リレーションA_Bの「レコード削除時の動作」プロパティが「カスケード」に設定されていると、ブロックAのマスター・レコードの削除によってブロックBのディテール・レコードは自動的に削除されます。ブロックCのディテール・ブロックは、ブロックAのマスター・レコードが削除さても自動的には削除されません。しかし、リレーションB_Cの「レコード削除時の動作」プロパティが「カスケード」に設定されていると、ブロックAの削除により、ブロックCのディテール・レコードは削除されます。ブロックCのディテール・レコードはブロックAの削除の影響を受けます。これは、A_Bリレーションの「レコード削除動作」プロパティが「カスケード」のときは、ブロックAのマスター・レコードを削除すると、ブロックBのディテール・レコードが削除されるからです。ブロックBのディテール・レコードは、B_Cリレーションのマスター・レコードとしても機能します。B_Cリレーションの「レコード削除時の動作」プロパティがカスケードのため、ブロックBのマスター・レコードの削除により、ブロックCのディテール・レコードが削除されます。

マスターと従属ディテール

マスターと従属ディテール・リレーションには、マスター・ブロックおよびnレベルのディテール・ブロックが含まれます。この最初のディテール・ブロックは自身のディテール・ブロックに対してはマスターとなります。

マスターと従属ディテール・リレーションを作成するには、個々のリレーションA_BおよびB_Cを別々に（任意の順序で）定義します。

このリレーション型を作成するときは、ディテール・ブロックの「レコード削除時の動作」および「調整」プロパティの効果を考慮してください。たとえば、関連ブロックの連鎖の1つの中のリレーションが遅延調整に設定されている場合、その後のすべてのブロックも延期されます。このように、リレーションA_Bが遅延で、リレーションB_Cが即時のとき、FormBuilderでは、ブロックBがブロックAとの調整に入るまでブロックCのブロックBとの調整は行われません。

マスターと独立ディテール

マスターと独立ディテール・リレーションには、2つ以上のディテール・ブロックが含まれ、それらは同じマスター・ブロックを共有しています。この構造は、1つのマスター・レコードにディテール・レコードのセットを1つ以上表示するときに役に立ちます。マスター・ブロック内の調整の原因となるイベントにより、適切なディテール・レコードに両方のディテール・ブロックが移入されます。

前述のアプリケーション例では、マスター・ブロックREGIONは、ディテール・ブロックWAREHOUSEおよびCUSTOMERとともに表示できます。エンド・ユーザーは、現在選択されている地域内の倉庫と顧客をすべて参照できます。

この型のリレーションを作成するには、個々のリレーションA_BおよびA_Cを別々に（任意の順序で）定義します。

ディテールと2つのマスター

ディテールと2つのマスター・リレーションでは、1つのディテール・ブロックが2つのマスター・ブロックを持っています。この場合、Form Builderによるレコード表示は次のとおりです。フォームの現行ブロックがどちらのマスター・ブロックかに対応して、該当する方のディテール・レコードが表示されます。たとえば、前述のアプリケーション例では、ordブロックは2つのマスター・ブロックCUSTOMERおよびEMPを持つディテール・ブロックとなることがあります。エンド・ユーザーは、特定の顧客または特定の販売員（従業員）の注文をすべて見ることができます。

通常は、ディテールと2つのマスター・リレーションを作成するとき、ディテール・ブロックの別々の外部キー項目を結合します。このような場合、「（項目）のコピー値」プロパティはディテール・ブロックの各外部キー項目に対して設定されて、該当するマスター・ブロックの主キー項目を示します。この型のリレーションを作成するには、2つのリレーションを定義する必要があるだけです。Form Builderにより自動的に調整がサポートされます。

ただし、次のようなマスターと2つのディテール・リレーションを作成する場合もあります。すなわちこのリレーションを構成する2つのリレーションのいずれも、ディテール・ブロック内の同じ外部キー項目と結合している場合です。ところが、「項目から値をコピー」プロパティは1つのマスター・ブロック項目を指定するのみなので、ディテール・ブロックで同じ項目を結合している場合は、追加コードを書いて2番目のリレーションの問合せおよび更新を調整する必要があります。

必要とする機能によっては、ディテール・ブロックへの事前問合せトリガーを書いて、正しい主キー項目の値が確実にディテール・ブロックの外部キー項目にコピーされるようにすることもできます。次に例を示します。

COPY(NAME_IN(:system.master_block||'.primary_key_item'),
                                   'detail_block.item');

エンド・ユーザーが別のマスター・ブロックをナビゲートするとき、そして必要であればディテール・ブロックを移入するときに、ディテール・ブロックの調整ステータスをチェックするWhen-New-Block-Instanceトリガーを作成できます。


マスター/ディテール・トリガーおよびプロシージャについて

マスター/ディテール・リレーションを作成したとき、Form Builderは「レコード削除時の動作」および「調整」プロパティの設定方法に応じて、異なるトリガーを生成します。次の表は、Form Builderで作成されるトリガーを「レコード削除時の動作」プロパティで指定する方法を示しています。既存のリレーションに対する「レコード削除時の動作」プロパティの設定を変更するとき、Form Builderにより必要に応じてトリガーが追加または削除されます。これらのトリガーの実際のコードは、「調整」プロパティの設定方法、およびリレーションが複合リレーション連鎖の一部であるかどうかにより異なります。

「レコード削除時の動作」プロパティ	結果のトリガー
非孤立（デフォルト）	On-Check-Delete-Master、On-Clear-Details、On-Populate-Details
カスケード	On-Clear-Details、On-Populate-Details、Pre-Delete
孤立	On-Clear-Details、On-Populate-Details


マスター/ディテール・トリガー

この項では、マスター/ディテール・リレーションを定義したときにForm Builderで作成されるトリガーについて説明します。各トリガーの説明とともに示されるトリガー・テキストの例は、トリガーの基本構造を示しています。ユーザー独自のフォームで見る実際のトリガー・テキストは、アプリケーションに固有なものであり、この構造とは少し違うことがあります。

（マスター・ブロックについて特定のトリガーがすでに存在する場合は、既存のトリガーが使用され、Form Builderでは新しい追加のトリガーは作成されません。

Form Builderでは、マスター/ディテール・トリガーによりコールされるユーザー指定のプロシージャも作成されます。

Form Builderではデフォルト・トリガーおよびプロシージャ・コード内にコメントが作成されます。コメントは標準PL/SQLの二重ハイフン('- -')で示されます。

On-Clear-Detailsトリガー 各マスター/ディテール・リレーションには、On-Clear-Detailsトリガーが必要です。このトリガーは調整の消去フェーズ中に発動し、ディテール・ブロック内のすべてのディテール・レコードを消去します。次のトリガー・テキスト例に示すように、このトリガーによりCLEAR_ALL_MASTER_DETAILSプロシージャがコールされます。

-- Begin default relation program section
--
     Clear_All_Master_Details;
--
-- End default relation program section

On-Check-Delete-Masterトリガー  Form Builderでは、「レコード削除時の動作」プロパティが「非孤立」に設定されているときにOn-Check-Delete-Masterトリガーが作成されます。このトリガーは、マスター・レコードの削除を試みると発動します。そして、ディテール・レコードがマスター・レコードに対して存在するかどうかがデータベースに問い合わせられます。ディテールが存在しない場合、トリガーはマスター・レコードを削除します。ディテール・レコードがある場合、トリガーにより次のメッセージが表示されます。

一致するディテール・レコードがあるときは、マスター・レコードは削除できません。

このメッセージは、次のトリガー・テキスト例にも見られます。

--
-- Begin default relation declare section
--
    Declare
        Dummy_Define char(1);
        --
        -- Begin B detail declare section
        --
        cursor B_cur is
           select null from MASDET
           where PARENT = :A.ID;
        --
        -- End B detail declare section
        --
    --
    -- End default relation declare section
    --
    --
    -- Begin default relation program section
    --
    Begin
    --
    -- Begin B detail program section
    --
       Open B_cur;
       Fetch B_cur into Dummy_Define;
       if ( B_cur%found ) then
          Message('一致するレコードがあるときは、マスター・レコードは
                   削除できません。');
          Close B_cur;
          raise Form_Trigger_Failure;
      end if;
      Close B_cur;
    --
    -- End B detail program section
    --
End;
--
-- End default relation program section

On-Populate-Detailsトリガー  Form Builderでは、すべてのマスター/ディテール・リレーションにOn-Populate-Detailsトリガーが作成されます。このトリガーは、ブロック調整の移入フェーズの間に発動します。そして、最初にマスター・レコードのステータスと主キー・フィールドの値がチェックされます。次にディテール・ブロックをナビゲートして適切な問合せが発行されます。このトリガーにより、次のトリガー・テキスト例に示すように、QUERY_MASTER_DETAILSプロシージャがコールされます。

--
-- Begin default relation declare section
--
Declare
    recstat     char(20) := :system.record_status;
    relation_id relation;
--
-- End default relation declare section
--
--
-- Begin default relation program section
--
Begin
    if ( recstat = 'NEW' or recstat = 'INSERT' ) then
       return;
    end if;
    --
    -- Begin B detail program section
    --
    if ((:A.ID is not null)) then
       relation_id := find_relation('A.AB');
       Query_Master_Details(relation_id, 'B');
    end if;
    --
    -- End B detail program section
    ----
End;

Pre-Detailsトリガー  Form Builderでは、「レコード削除動作」プロパティをカスケードにを設定しているときにPre-Detailsトリガーが作成されます。削除中のマスター・レコードに対応する、ディテール・ブロックの実表内のレコードを削除します。

--
-- Begin default relation program section
--
BEGIN
    --
    -- Begin detail_block detail program section
    --
    DELETE FROM detail_block_base_table
    WHERE foreign_key_column = :master_block.primary_key_item;
    --
    -- End detail_block detail program section
    --
END;
--
-- End default relation program section
--


複合マスター/ディテール・リレーションのトリガー

複合マスター/ディテール・リレーションを作成するとき、Form Builderでは既存のマスター/ディテール・トリガーが自動的に追加または編集されて、ユーザーが定義したリレーションがサポートされます。次の例は、Form Builderにより必要に応じてどのようにトリガーが調整されるかを示しています。

例: マスターと独立ディテール  「レコード削除動作」プロパティが「非孤立」に設定され、遅延が「いいえ」（デフォルト設定）に設定された調整プロパティを持つ、単一のリレーションA_Bがあるとします。Form Builderでは、マスター・ブロックに次のトリガーが作成され、リレーションが管理されます。

• On-Clear-Details

• On-Check-Delete-Master

• On-Clear-Details

次に、第2のリレーションA_C（同じマスター・ブロックを持つが、ディテール・ブロックは異なる）を作成する場合、マスターと独立ディテール・リレーション、つまり2つのディテール・ブロックを持つ1つのマスター・ブロックを作成します。

このリレーションを管理するために、Form Builderでは追加トリガーは作成されません。代わりに、既存の各トリガーにセクションを1つ追加して、2番目のディテール・ブロックの消去および移入を容易にします。これらのトリガー内に生成されたコメントは、各ディテール・ブロックを管理するセクションの境界を定めます。たとえば、On-Populate-Detailsトリガー内のコメントは、各ディテール・ブロック・セクションが始まる場所と終わる場所を明確に示しています。

-- Begin default relation program section
BEGIN
    --
    -- Begin first_detail_block program section
    --
    /* trigger text to clear the first detail block*/
    --
    -- End first_detail_block program section
    --
    --
    -- Begin second_detail_block program section
    --
    /* trigger text to clear the second detail block*/
    --
    -- End second_detail_block program section
    --
    /* final trigger text */
END;
-- End default relation program section
--


デフォルトのリレーション・トリガーの変更

ある時点で、Form Builderで作成されたデフォルトのマスター/ディテール・トリガーにコメントおよびコードを追加することがあります。デフォルト・トリガーは、自分で作成した任意のトリガーと同じように編集できます。

しかし、後でリレーションのプロパティを変更する場合、Form Builderではデフォルト・トリガーの削除または編集が必要となることがあるので注意してください。たとえば、リレーションの「レコード削除時の動作」プロパティを「カスケード」から「孤立」に変更すると、Form Builderは現在不必要なPre-Deleteトリガーを削除します。

マスター/ディテール・トリガーを編集するときは、次の点を考慮してください。

•	Form Builderで生成されたコメントを変更したり削除したりしないでください。これらのコメントは、変更が必要なときにトリガー・テキストを挿入または削除する位置をForm Builderに指示するものです。

•	トリガーにコードを追加するなら、"Begin default relation program section"コメントの前、または"End default relation program section"コメントの後に挿入してください。

•	ユーザーがデフォルト・リレーション・プログラム・セクションの外側にコードを置いた場合、Form Builderでは、変更したマスター/ディテール・トリガーは削除されません。（FormBuilderでは、リレーション・プログラム・セクションは削除されますが、トリガーは削除されません。）


マスター/ディテール・プロシージャ

この項では、リレーションを定義したときにForm Builderで自動的に作成されるマスター/ディテール・プロシージャのテキストを示します。これらのプロシージャは、マスター/ディテール・トリガーまたはその他のプロシージャからコールされます。

CLEAR_ALL_MASTER_DETAILSプロシージャ  このプロシージャは、On-Clear-Detailsトリガーによってコールされます。このプロシージャでは、ディテール・ブロックをナビゲートして、ディテール・レコードを消去します。

PROCEDURE Clear_All_Master_Details IS
    mastblk  CHAR(30);  /* Initial Master Block Causing Coord */
    coordop  CHAR(30);  /* Operation Causing the Coord        */
    trigblk  CHAR(30);  /* Cur Block On-Clear-Details Fires On*/
    startitm CHAR(61);  /* Item in which cursor started       */
    frmstat  CHAR(15);  /* Form Status                        */
    curblk   CHAR(30);  /* Current Block                      */
    currel   CHAR(30);  /* Current Relation                   */
    curdtl   CHAR(30);  /* Current Detail Block               */

FUNCTION First_Changed_Block_Below( Master CHAR ) RETURN CHAR
IS
    curblk CHAR(30);  /* Current Block    */
    currel CHAR(30);  /* Current Relation */
    retblk CHAR(30);  /* Return Block     */
BEGIN
    /*     ** Init Local Vars
    */
    curblk := Master;
    currel :=Get_Block_Property(curblk,FIRST_MASTER_RELATION);
    /*
    ** While there exists another relation for this block
    */
    WHILE currel IS NOT NULL LOOP
       /*
       ** Get the name of the detail block
       */
       curblk := Get_Relation_Property(currel,DETAIL_NAME);
       /*
       ** If this block has changes, return its name
       */
       IF Get_Block_Property(curblk,STATUS) IN
                            ('CHANGED','INSERT') THEN
                            RETURN curblk;
       /*
       ** Otherwise, recursively look for changed blocks below
       */
       ELSE
          retblk := First_Changed_Block_Below(curblk);
       /*
       ** If some block below is changed, return its name
       */
       IF retblk IS NOT NULL THEN
          RETURN retblk;
       /*
       ** Otherwise, Consider the next relation
       */
       ELSE
          currel := Get_Relation_Property (currel,
                                           NEXT_MASTER_RELATION);
       END IF;
    END IF;
END LOOP;
/*
** If we get here, no changed blocks were found
*/
RETURN NULL;
END First_Changed_Block_Below;
BEGIN
    /*
    ** Init Local Vars
    */
    mastblk  := :System.Master_Block;
    coordop  := :System.Coordination_Operation;
    trigblk  := :System.Trigger_Block;
    startitm := :System.Trigger_Item;
    frmstat  := :System.Form_Status;
    /*
    ** If the coord op is anything but CLEAR_RECORD, then
    ** continue checking.
    */
    IF coordop <> 'CLEAR_RECORD' THEN
       /*
       ** If we're processing the driving master block...
       */
       IF mastblk = trigblk THEN
       /*
       ** If something in the form is changed, find the
       ** first changed block below the master
       */
       IF frmstat = 'CHANGED' THEN
          curblk := First_Changed_Block_Below(mastblk);
          /*
         ** If we find a changed block below, go there
         ** and Ask to commit the changes.
         */
      IF curblk IS NOT NULL THEN
         Go_Block(curblk);
         Check_Package_Failure;
         Clear_Block(ASK_COMMIT);
       /*
       ** If user cancels commit dialog, raise error
       */
       IF NOT( :System.Form_Status = 'QUERY' /* Yes */  OR
      :System.Block_Status = 'NEW'  /* No */ ) THEN
         RAISE Form_Trigger_Failure;
       END IF;
       END IF;
     END IF;
    END IF;
  END IF;
/*
** Clear all the detail blocks for this master without
** any further asking to commit.
*/
currel := Get_Block_Property(trigblk,FIRST_MASTER_RELATION);
WHILE currel IS NOT NULL LOOP
    curdtl := Get_Relation_Property(currel,DETAIL_NAME);
    IF ( Get_Block_Property(curdtl, STATUS) <> 'NEW' ) THEN
       Go_Block(curdtl);
       Check_Package_Failure;
       Clear_Block(NO_VALIDATE);
       IF ( :System.Block_Status <> 'NEW' ) THEN
          RAISE Form_Trigger_Failure;
       END IF;
    END IF;
    currel := Get_Relation_Property(currel,NEXT_MASTER_RELATION);
END LOOP;
/*
** Put cursor back where it started
*/
IF ( :System.Cursor_Item <> startitm ) THEN
    Go_Item(startitm);
END IF;
EXCEPTION
    WHEN Form_Trigger_Failure THEN
       IF :System.Cursor_Item <> startitm THEN
       Go_Item(startitm);
       END IF;
     RAISE;
END Clear_All_Master_Details;

QUERY_MASTER_DETAILSプロシージャ  このプロシージャは、On-Populate-Detailsトリガーによってコールされます。ディテール・ブロックをナビゲートして、問合せを実行し、適切なディテール・レコードをフェッチします。

PROCEDURE Query_Master_Details(rel_id Relation, detail CHAR) IS
    oldmsg CHAR(2);  /* Old Message Level Setting */
    reldef CHAR(5);  /* Relation Deferred Setting */
BEGIN
    /*
    ** Initialize Local Variable(s)
    */
    reldef := Get_Relation_Property(rel_id,
                     DEFERRED_COORDINATION);
    oldmsg := :System.Message_Level;
    /*
    ** If NOT Deferred, Goto detail & execute the query.
    */
    IF reldef = 'FALSE' THEN
       Go_Block(detail);
       Check_Package_Failure;
       :System.Message_Level := '5';
       Execute_Query;
       :System.Message_Level := oldmsg;
       /*
       ** If Deferred, Mark the detail block as un-coordinated
       */
    ELSE
       Set_Block_Property(detail, coordination_status,
                          NON_COORDINATED);
    END IF;
EXCEPTION
    WHEN Form_Trigger_Failure THEN
       :System.Message_Level := oldmsg;
    RAISE;
END Query_Master_Details;

CHECK_PACKAGE_FAILUREプロシージャ  このプロシージャは、CLEAR_ALL_MASTER_DETAILSプロシージャおよびQUERY_MASTER_DETAILSプロシージャによってコールされます。このプロシージャでは、Form Builderビルトイン・エラー変数 FORM_SUCCESSのステータスを参照して、前の文が正常に実行されたかどうかチェックします。

PROCEDURE Check_Package_Failure IS
BEGIN
    IF (NOT Form_Success) THEN
       RAISE Form_Trigger_Failure;
    END IF;
END;


デフォルトのマスター/ディテール機能の変更

  関連項目

特殊な場合、Form Builderで提供されるデフォルトのマスター/ディテール機能を変更または拡張することがあります。たとえば、アプリケーションがOracle以外のデータ・ソースに対して実行されたり、標準外の機能を必要とする長いリレーション連鎖を含んでいたりする場合、独自のブロック調整機構をインプリメントすることがあります。

Form Builderでは、このようなタスクに役立つトリガーおよびビルトイン・サブプログラムが数多く提供されています。そのうちの一部を次にリストします。これらのトリガーおよびルーチンの完全な資料については、Form Builderオンライン・ヘルプ・システムを参照してください。

トリガー:

•	On-Clear-Details

•	On-Clear-Details

•	On-Check-Delete-Master

•	When-New-Record-Instance

•	When-New-Block-Instance

ビルトイン・サブプログラム:

•	GET_BLOCK_PROPERTY

•	SET_BLOCK_PROPERTY

•	GET_FORM_PROPERTY

•	GET_RELATION_PROPERTY

•	SET_RELATION_PROPERTY

たとえば、これらのビルトイン・サブプログラムを次のように使用できます。

•	GET_FORM_PROPERTYを使用して、フォームの最初と最後のブロックの名前を取得します(FIRST_BLOCK, LAST_BLOCK)。

•	GET_BLOCK_PROPERTY を使用して、ブロックの現行COORDINATION_STATUS （COORDINATEDまたはNON_COORDINATED）およびブロックのFIRST_RELATION、つまりブロックがマスターとなる最初のリレーションの名前を検索します。

•	SET_BLOCK_PROPERTYを使用して、ブロックのプロパティを動的に設定します。

•	GET_RELATION_PROPERTYを使用して、リレーションの現行のプロパティ設定（MASTER_DELETESおよびDEFERRED_COORDINATION、AUTOQUERY）、マスター・ブロックおよびディテール・ブロックの名前(MASTER_NAME、DETAIL_NAME)、そしてフォーム内の次のリレーションの名前(NEXT_MASTER_RELATION、NEXT_DETAIL_RELATION)を取得します。たとえば、ローカル変数へのリレーションのマスター・ブロックの名前を割り当てるために、次のように書くことができます。

DECLARE
    master_block    VARCHAR2;
  BEGIN
    master_block := Get_Relation_Property('my_relation',
                                           MASTER_BLOCK);
  END;

•	SET_RELATION_PROPERTYを使用して、リレーションのプロパティを動的に設定します。たとえば、「レコード削除時の動作」プロパティを設定するために、次のプロシージャをコールできます。

SET_RELATION_PROPERTY('my_relation',
                        master_deletes,
                        deferred_coordination);


「プロパティ・パレット」でのプロパティの設定

  関連項目

プロパティの値を設定する方法:

1	プロパティを設定する場合はオブジェクトを選択します。

フォーム・エディタまたはオブジェクト・ナビゲータ、メニュー・エディタでオブジェクトを選択できます。オブジェクトを選択するとき、「プロパティ・パレット」にはそのオブジェクトのプロパティが表示されます。(「プロパティ・パレット」が現在表示されていない場合は、「ツール」 [image] 「プロパティ・パレット」を選択します。

2	「プロパティ・パレット」で、設定する場合はプロパティを選択します。

［↑］,［↓］キーでクリックまたはナビゲートして、プロパティを選択できます。プロパティを選択するとき、テキスト・フィールドまたはポップリスト、「詳細...」ボタンがプロパティのそばに表示されます。

3	選択したプロパティに必要な値を設定します。


複数選択のプロパティの設定について

 例	     関連項目

オブジェクト・ナビゲータまたはエディタで［Control］キーをクリックして、複数のオブジェクトを同時に選択できます。2つ以上のオブジェクトを選択したとき、「名前」フィールドではなく「プロパティ・パレット」の上部に、メッセージ「複数選択されています。」が表示されます。

「プロパティ・パレット」ツールバーの論理積/論理和コマンドを使用して、複数のオブジェクトが選択されたときにプロパティ・リストにどのプロパティを表示するかを決めます。論理積および論理和を切り替えると、「プロパティ・パレット」に表示されるプロパティのリストが変更されますが、どのプロパティの設定にも影響しません。

論理積  デフォルトです。すべての選択オブジェクトに共通するプロパティのみが表示されます。

論理和  選択した各オブジェクトのすべてのプロパティが表示されます。

オブジェクトを複数選択した場合、プロパティの設定は次のように表示されます。

•	選択したすべてのオブジェクトに対して共通する同じ設定をプロパティが持っている場合、その共通の設定が表示されます。

•	あるプロパティを共通に持つ複数のオブジェクトがあり、二つのプロパティの設定が各オブジェクトにより異なる場合には、文字列" ***** "が表示されます。


複数選択のプロパティの設定

  関連項目

複数選択のプロパティを設定する方法:

1	オブジェクト・ナビゲータまたはエディタで、設定したいプロパティを持つオブジェクトを選択します。オブジェクトは、別の型でもよいし、別のモジュール内のものでもかまいません。

2	「プロパティ・パレット」で、「論理積/論理和」切替えコマンドを設定して、表示する場合はプロパティを指定します。

3	必要に応じてプロパティを設定します。

プロパティ設定への変更は、そのプロパティが適用される現在選択中のすべてのオブジェクトに適用されます。


複数選択のプロパティの設定例について

フォームには、複数のテキスト項目が含まれ、それぞれが別のウィンドウに日付を表示します。各テキスト項目の「データ型」プロパティはDATEです。このプロパティには、Oracleのデフォルト書式DD-MON-YYで日付が表示されます。

アプリケーションで別の日付書式を使用するには、日付が表示される各テキスト項目に「書式マスク」プロパティを設定します。各テキスト項目の「書式マスク」プロパティを個別に設定するのではなく、オブジェクト・ナビゲータで項目をすべて選択してから、「書式マスク」プロパティを1回設定して、選択した各項目の書式マスクを変更します。


各オブジェクトのプロパティの比較

  関連項目

各オブジェクトのプロパティを比較する方法:

1	オブジェクト・ナビゲータまたはエディタで、最初のオブジェクトを選択すると、「プロパティ・パレット」にそのオブジェクトのプロパティが表示されます。

2	プロパティ・パレットで、「停止/停止解除」ボタンをクリックして、同期をオフにし、プロパティ・パレットを停止します。

3	オブジェクト・ナビゲータで、[Shift]キーを押しながらオブジェクト・アイコンをダブルクリックして2番目のオブジェクトを選択します。

Form Builderは2番目のプロパティ・パレットを表示します。2番目のウィンドウが最初のウィンドウ上に重なる場合は、ドラッグして隣り合うように移動します。


オブジェクト間のプロパティのコピーについて

  関連項目

「プロパティのコピー」および「プロパティのペースト」コマンドを使用して、1つのオブジェクトのプロパティ設定を別のオブジェクトにコピーできます。

プロパティは、オブジェクト・ナビゲータまたはフォーム・エディタ、メニュー・エディタ、プロパティ・パレットにおいて、コピーおよびペーストできます。

プロパティのコピー  選択したオブジェクトのプロパティ設定をクリップボードにコピーできます。

プロパティのペースト  そのウィンドウで選択した任意のオブジェクトに、現行クリップボード・プロパティ設定をペーストできます。現在選択されていないプロパティは、無視されます。

あるオブジェクトのプロパティを、同じ型の1つ以上のオブジェクトにコピーするのは最もよく行われる作業です。しかし、あるオブジェクトのプロパティを、別の型の複数のオブジェクトにもコピーできます。この場合、ターゲット・オブジェクトに適用されないプロパティは無視されます。

1つのウィンドウで1つのオブジェクトのプロパティ設定をコピーしてから、別のウィンドウでそれらの設定を1つのオブジェクトにコピーできます。たとえば、オブジェクト・ナビゲータで、ボタンを選択します。「プロパティのコピー」ボタンをクリックしてそのプロパティ設定をコピーしてから、それらの設定をフォーム・エディタで選択した別のボタンにペーストします。

複数選択のプロパティをコピーするとき、競合する値を持たないプロパティのみがクリップボードにコピーされます。たとえば、オブジェクト・ナビゲータで選択した3つのテキスト項目のプロパティをコピーする場合、幅および高さの設定は、各テーブル項目が同じサイズの場合のみコピーされます。


オブジェクト間のプロパティのコピー

  関連項目

プロパティをコピーする方法:

1	プロパティ設定をコピーする場合はオブジェクトを選択します。

2	「編集」 [image] 「プロパティのコピー」を選択します。

3	ターゲット・オブジェクトを選択します。

4	「編集」 [image] 「プロパティのペースト」を選択します。


実行時のプロパティの設定

  関連項目

オブジェクトのプロパティには、実行時にプログラムで設定できるものが数多くあります。たとえば、各ウィンドウ・オブジェクトには、「可視」プロパティがあり、このプロパティを「はい」または「いいえ」に設定するとウィンドウを表示したり隠したりできます。実行時に、次のようにビルトイン・プロシージャSET_WINDOW_PROPERTYをコールして、ウィンドウを動的に表示したり隠したりできます。

Set_Window_Property('my_window',VISIBLE, PROPERTY_ON);

実行時のオブジェクト・プロパティの設定には、次のビルトイン・プロシージャが使用できます。

•	SET_BLOCK_PROPERTY

•	SET_CANVAS_PROPERTY

•	SET_FORM_PROPERTY

•	SET_ITEM_PROPERTY

•	SET_LOV_PROPERTY

•	SET_MENU_ITEM_PROPERTY

•	SET_PARAMETER_ATTR

•	SET_RADIO_BUTTON_PROPERTY

•	SET_RECORD_PROPERTY

•	SET_RELATION_PROPERTY

•	SET_VIEW_PROPERTY

•	SET_WINDOW_PROPERTY

ビルトイン・プロシージャSET_ITEM_PROPERTYを使用すると、ボタン、テキスト項目、チェックボックス、ラジオ・グループなど、すべての型の項目プロパティを設定できます。

注意: ラジオ・グループ項目には、個々のラジオ・ボタンが含まれています。ラジオ・グループのプロパティを設定するにはSET_ITEM_PROPERTYを使用し、グループ内の個々のボタンのプロパティを設定するにはSET_RADIO_BUTTON_PROPERTYを使用します。

各SETビルトイン・プロシージャには、対応するGETファンクションがあります。GETファンクションを使用すると、オブジェクトのプロパティの現行設定をプログラムで決定できます。次の例では、GET_WINDOW_PROPERTYを使用して、ウィンドウが現在隠れている(VISIBLE = FALSE)かどうかを判定します。ウィンドウが隠れている場合、そのウィンドウを表示するには、SET_WINDOW_PROPERTYをコールします。

If Get_Window_Property('my_window',VISIBLE) = 'FALSE' THEN
   Set_Window_Property('my_window',VISIBLE,PROPERTY_ON);

特定のプロパティをプログラムで設定できるかどうかを知るには、オンライン・ヘルプでプロパティについての説明を参照してください。


サウンド項目とは

  関連項目

サウンド項目を使用すると、エンド・ユーザーは、Form Builderアプリケーションでの作業中にサウンド・データを再生および録音できます。開発者は、サウンド項目を設定して、エンド・ユーザーがデータベース列またはファイル・システムに保存されているサウンド・データを再生および録音、保存できるようにします。

サウンド・データの録音および再生用のサウンド項目をデータベース表に作成するには、LONG RAW列上の項目に基づく必要があります。このステップを完了してしまえば、Form Builderによりサウンドの録音および再生のための機能がすべて提供されます。

注意: ファイル・システムのファイルに、サウンドを録音および再生するサウンド項目を作成することもできます。


サウンド・データの録音および再生について

LONG RAWデータベース列に基づいてサウンド項目を作成すると、エンド・ユーザーは、Form Builderアプリケーションを使用するときにサウンド項目のさまざまなボタンをクリックして、サウンド・データを再生および録音できます。ただし、ユーザー固有の環境でサウンド・データを再生および録音するために必要なソフトウェアおよびハードウェア（サウンド・カード、ドライバ、スピーカ、マイクロフォンなど）を持っている場合に限ります。

LONG RAWデータベース列からサウンド・データを再生および録音するには、この列にサウンド・データがすでに含まれている、またはアプリケーションのエンド・ユーザーからのサウンド・データを列が受入れ可能である（すなわち、項目の「挿入可」および「更新可」プロパティが「はい」に設定されている）必要があります。データベースのLONG RAW列に基づいてサウンド項目を作成すると、Form Builderにより表現されるこのサウンド項目用のレイアウトには、エンド・ユーザーがサウンド・データを再生するためのサウンド・ウィジェットが自動的に入ります。

パフォーマンス上の問題 大量のサウンド・オブジェクトのネットワーク転送は、パフォーマンスの障害となることがあります。サウンド・データをデータベースに保存する場合、サウンド項目ブロックの「変更列のみ更新」プロパティを「はい」に設定すると、パフォーマンスへの影響を少なくできます。つまり、更新されていないサウンド項目を持つレコードをネットワーク上で転送する必要がないため、アプリケーションのパフォーマンスが改善されます。

ファイルのサウンド・データの再生および保存方法 Form Builderでは、開発者が使用して、エンド・ユーザーがファイル内のサウンド・データを再生および録音できるようにする、3つのビルトイン・プロシージャが提供されています。

ファイル・システムのファイルからサウンド・データを再生および録音する方法の説明については、これらのビルトイン項目の説明書を参照してください。

•	PLAY_SOUND

•	READ_SOUND_FILE

•	WRITE_SOUND_FILE


サウンド項目コントロールについて

  関連項目

サウンド項目を作成すると、Form Builderによりレイアウトには、 [image] サウンド項目コントロールが自動的に入ります。

このサウンド項目コントロールには、次のコンポーネントが含まれます。いずれもオプションです（ただし、「再生」または「録音」ボタンを除きます。このいずれかは、常に表示される必要があります）。

•	  再生: 現行ポインタ位置からサウンド・データを再生します。（再生途中で「再生」ボタンをクリックすると、現行位置でポインタが停止します。再生を続けるには、「再生」ボタンをもう1度クリックします。サウンドを最後まで再生する場合は、「再生」ボタンを再度クリックします。Form Builderにより、サウンドの再生を再開する前の開始位置にポインタが移動します。）

•	  録音: 現行ポインタ位置からサウンド・データを録音します。（「録音」を2回クリックすると、録音を停止します。「録音」をクリックしたときに、既存サウンドの開始または中間位置にポインタがある場合、Form Builderは、録音する新しいサウンド・データを既存サウンドに現行ポインタ位置から前方に上書きします。）

•	  巻戻し: （現行ポインタ位置から）サウンドの始まりまでサウンド・データを巻き戻します。

•	  早送り: （現行ポインタ位置から）サウンドの最後までサウンド・データを早送りします。

•	  音量: 再生および録音の音量をコントロールできる垂直スライド・コントロールを表示します。ハンドルをクリックして、音量を上げる場合は上にドラッグし、下げる場合は下にドラッグします。

•	  時間標識: サウンド・データの3つのモードの時間情報を表示します。（時刻表示テキストをクリックして、合計時間および経過時間、残り時間の間を切り替えます。）

•	  スライダ: 水平のスライド・コントロールは、サウンド・データ内の現行ポインタ位置をコントロールします。（ポインタ位置を変更するには、ハンドルを左右にスライドします。）

注意: 各サウンド・コントロール・コンポーネントを（Form Builderレイアウト内で実行時に）個別に表示と非表示を切り替えるには、コンポーネントの表示プロパティを「はい」（表示）または「いいえ」（非表示）に設定します。次の例外があります。「再生ボタン表示」と「録音ボタン表示」を両方とも「いいえ」には設定できません。このように設定した場合、Form Builderでは実行時にデフォルトとして「再生」ボタンが表示されます。


サウンド項目の作成

  次のステップ	    関連項目

サウンド項目を作成する方法:

1	オブジェクト・ナビゲータで、「項目」ノードをクリックし、次にツール・バーの「作成」ボタンをクリックします。

または、レイアウト・エディタから、 [image]  をクリックし、キャンバス上のサウンド項目を表示する領域までドラッグします。

Form Builderにより、項目が作成され、ITEM17のようなデフォルト名を命名します。

2	ブロックの基となるデータベース表からのLONG RAW列の名前に項目名を変更します。

注意: データ・ブロック・ウィザードを使用して、LONG RAWデータベース列を基にする項目も作成できます。

3	項目のオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

4	「一般」ノードの下で、「項目タイプ」プロパティを「サウンド」に設定します。

5	「機能」ノードの下で、次のようにします。

•	「サウンド形式」プロパティをAUまたはAIFF、AIFF_C、WAVE（サウンド・データのフォーマット）に設定します。

•	「オーディオ・チャンネル」プロパティを「モノ」（モノラル）または「ステレオ」（ステレオ）、「自動」（デフォルトでは該当サウンド・データのチャネル設定値）に設定します。

•	「サウンド品質」プロパティを、「最高」または「高」、「標準」、「低」、「最低」、「自動」（デフォルトでは該当サウンド・データ音質設定値）に設定します。

6	「データベース」ノードの下では、次のようにします。

•	「データベース項目」プロパティを「はい」に設定します。

•	「列名」プロパティに、サウンド・データが保存されるLONG RAWデータベース列の名前を設定します。

7	「表示」ノードの下では、「キャンバス」プロパティに、サウンド項目コントロールが表示されるキャンバス名を設定します。

項目タイプを「サウンド」に設定してキャンバス上に置くと、Form Builderにより、指定されたキャンバス上にサウンド・ウィジェットが自動的に置かれます。


サウンド項目コントロール・プロパティの設定

  関連項目

サウンド項目コントロール・プロパティを設定する方法:

1	オブジェクト・ナビゲータの「ブロック」ノードおよび「項目」ノードの下で、サウンド項目のオブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

2	「プロパティ・パレット」の「表示」ノードで、サウンド項目コントロール・プロパティを「はい」または「いいえ」に設定します。（プロパティを「はい」に設定すると、Form Builderにより、サウンド項目コントロール・コンポーネントが設計時および実行時に表示されます）。) プロパティは以下のものです。

•	「早送りボタン表示」（デフォルト = いいえ）

•	「再生ボタン表示」（デフォルト = はい）

•	「録音ボタン表示」（デフォルト = いいえ）

•	「巻戻しボタン表示」（デフォルト = いいえ）

•	「スライダ表示」（デフォルト = はい）

•	「時間標識表示」（デフォルト = はい）

•	「音量ボタン表示」（デフォルト = はい）


プログラムでのサウンド項目の操作

  関連項目

プログラムでサウンド項目コントロールのボタンを表示したり隠したりするには、Form BuilderビルトインGET_ITEM_PROPERTYおよびSET_ITEM_PROPERTYを使用して、サウンド項目コントロール・プロパティ（たとえば、Show_Rewind_Button）を取得および設定します。

注意: 「録音」がすでに隠されている場合は「再生」を隠すことができないことを想い出してください。Form Builderは、「再生」または「録音」ボタンのいずれかを実行時のデフォルトにより常に表示します。どちらか一方は隠せますが、両方を隠すことはできません。


規格について

  関連項目

Forms Developerを使用すると、アプリケーション規格の定義および分配が行えます。

規格により、アプリケーションにおける品質および首尾一貫した外観と操作性が保たれます。また、規格を設定すると、開発チームの生産力が高まります。アプリケーションの一部を担当する開発者は、多少の変更を加えるのみかあるいはまったく変更せずにアプリケーションの別の部分で簡単に再利用できる、オブジェクトを作成しテストすることができます。標準オブジェクトを再利用するには、オブジェクト・ライブラリから必要なオブジェクトをドラッグするのみで必要なモジュールを得ることができます。

規格を作成するステップを、次に示します。

1	規格を定義します。

2	Form Builder内で、規格に適合したオブジェクトを作成します。

3	オブジェクト・ライブラリに標準オブジェクトを保存します。

4	開発者へ規格を分配します。


規格作成のためのガイドライン

  関連項目

規格を作成する際は、次のガイドラインを考慮します。

•	独自の規格を作成する前に、Forms Developerユーザー・インタフェース規格の仕様を検討します。

•	ソース・オブジェクトを削除するときに注意します。

•	ソース・オブジェクトを削除すると、インスタンス・オブジェクトとのリンクが切断されます。


規格の設定

  関連項目

アプリケーション開発への1つの共通したアプローチは、まず規格の作成から始め、次にプロトタイピングの成果と有用性のテストに基づいて、規格を詳細化することです。要件は会社ごとに一意であるため、その会社にとって最善となる規格もまた、一意となります。

次の3つのタイプの規格の作成を検討してください。

•	独自の規格を作成する前に、Oracle Developerユーザー・インタフェース規格の仕様を検討します。

•	ソース・オブジェクトを削除するときに注意します。

•	ソース・オブジェクトを削除すると、インスタンス・オブジェクトとのリンクが切断されます。

•	使用方法の規格。アプリケーションの各部分がユーザーの入力に同じように反応するようにするため、外観と操作性の規格を含みます。

•	UI規格の設定のガイダンスについては、次のようなプラットフォーム別のリファンレスを参照してください。

•	Microsoft Windows: 『Windowsインタフェース: アプリケーション設計ガイド』

•	Motif: 『Motifスタイルガイド』

•	Macintosh: 『Macintoshヒューマン・インタフェース・ガイドライン』


再利用可能なオブジェクトの作成

  次のステップ	    関連項目

再利用可能なオブジェクトは、次のように作成します。

1	「ツール」 [image] 「オブジェクト・ライブラリ」を選択します。

2	オブジェクト・ナビゲータで、対象のオブジェクトをオブジェクト・ライブラリまでドラッグします。

Form Builderによってオブジェクトが新たに作成され、オブジェクト・ライブラリに格納されます。


オブジェクト・ライブラリ内のオブジェクトの再利用

  関連項目

オブジェクト・ライブラリ内のオブジェクトを再利用するには、次のようにします。

1	オブジェクト・ライブラリで、対象のオブジェクトをクリックします。

2	[Ctrl]を押し、そのオブジェクトを対象のモジュールおよびノードへドラッグします。

「コピー/サブクラス」ダイアログが表示されます。

3	「サブクラス」をクリックします。

Form Builderによって、そのオブジェクトのサブクラス・オブジェクトが作成されます。


オブジェクト・ライブラリ内のオブジェクトの変更

  関連項目

オブジェクト・ライブラリ内のオブジェクトを変更するには、次のようにします。

1	オブジェクト・ライブラリで[Ctrl]を押し、対象のオブジェクトをオブジェクト・ナビゲータ内の対象のノードまでドラッグします。

「コピー/サブクラス」ダイアログが表示されます。

2	「コピー」をクリックします。これにより、そのオブジェクトのコピーが作成され、これを編集することができます。

3	オブジェクトを希望どおりに変更します。

4	オブジェクトを「オブジェクト・ライブラリ」までドラッグして戻します。

5	ダイアログで、「はい」をクリックして、既存のオブジェクトを変更済みのオブジェクトに置き換えます。


オブジェクト・ライブラリ内のオブジェクトへのコメントの追加

オブジェクト・ライブラリ内のオブジェクトに対してコメントを追加するには、次のようにします。

1	オブジェクト・ライブラリで、対象のオブジェクトをクリックします。

2	ツールバーにある「コメント編集」ボタンをクリックします。

3	「コメント」ダイアログに希望のテキストを入力します。


スマート・クラスについて

スマート・クラスとは、特殊なオブジェクトで、「オブジェクト・ライブラリ」内で作成します。オブジェクトを1度スマート・クラスとして定義したら、対象のスマート・クラスをオブジェクト・ナビゲータまでドラッグすることによって、そのスマート・クラスに基づいた新しいオブジェクトを作成できます。また、ポップアップ・メニューからスマート・クラスを選択することによって、既存のオブジェクトにスマート・クラスを適用できます。スマート・クラスからオブジェクトを作ると、そのオブジェクトはサブクラス化されます。つまり、スマート・クラスからその機能と外観を継承します。

単一開発環境か、複数人開発環境かに関わらず、スマート・クラスには次のようないくつかの利点があります。

•	サブクラス化

•	迅速な再利用と開発

•	分配可能

一般に、スマート・クラスでは、プロジェクトで定義したユーザー・インタフェース規格が遵守されます。規格を分配するには、標準オブジェクトを「オブジェクト・ライブラリ」に保存し、次にオブジェクト・ライブラリを再利用させるために開発チームへ分配します。

たとえば、標準ブロックとレイアウトを作成するために、標準ブロック(EMP)と枠を「オブジェクト・ライブラリ」内に保存することができます。ブロックをフォームまでドラッグするたびに、EMPブロック内の項目は、同じ可視表示で整然と配置されます。

スマート・クラスは、スマート・クラス化されたオブジェクトが常にサブクラス化されたオブジェクトであるという点で、「オブジェクト・ライブラリ」内のその他のオブジェクトと異なります。

デフォルトでは、オブジェクト（スマート・クラスでないオブジェクト）をフォームまでドラッグしたときに、作成されるオブジェクトはサブクラス化されたオブジェクトではなく、コピーです。

「オブジェクト・ライブラリ」内のその他のオブジェクトは、新しいオブジェクト・インスタンスを作成するためのみに使用でき、既存のオブジェクトを変更するために使用することはできません。これとは対照的に、スマート・クラスは既存のオブジェクトに適用できます。


スマート・クラスの作成

  次へ	    関連項目

スマート・クラスは、次のように作成します。

1	「ツール」 [image] 「オブジェクト・ライブラリ」を選択して、オブジェクト・ライブラリを表示します。

2	オブジェクト・ライブラリで、対象のオブジェクトをクリックします。

3	「オブジェクト」 [image] 「スマート・クラス」を選択します。


スマート・クラスに基づくオブジェクトの作成

  関連項目

スマート・クラスに基づくオブジェクトを作成するには

1	「オブジェクト・ライブラリ」で、対象のスマート・クラスをクリックします。

2	対象のモジュールとノードまでスマート・クラスをドラッグします。


既存のオブジェクトへのスマート・クラスの適用

スマート・クラスを既存のオブジェクトに適用するには、次のようにします。

1	オブジェクト・ナビゲータで、希望するオブジェクトをクリックします。

2	マウスの右ボタンをクリックして、ポップアップ・メニューを表示します。


スマート・クラスの変更

  関連項目

スマート・クラスを変更するには、次のようにします。

1	「オブジェクト・ライブラリ」で、対象のオブジェクトをオブジェクト・ナビゲータ内の希望するノードまでドラッグします。これにより、「オブジェクト・ライブラリ」内にオブジェクトの編集可能なコピーが作成されます。

2	オブジェクトを希望どおりに変更します。

3	オブジェクトを「オブジェクト・ライブラリ」までドラッグして戻します。これにより、オブジェクトはフォームから「オブジェクト・ライブラリ」へ移動されます。

4	ダイアログで、「はい」をクリックして、既存のオブジェクトを変更済みのオブジェクトに置き換えます。

注意: 親のスマート・クラスに対して行った変更はすべて、そのスマート・クラスのすべての子インスタンスに自動的に継承されます。


規格の分配

規格の分配は、次のように行います。

規格を、オブジェクト・ライブラリ(.OLB)、またはフォーム(.FMB)、メニュー(.MMB)のいずれかのモジュールとして分配します。

ヒント: 規格は、オブジェクト・ライブラリ・モジュール(.OLB)内で分配するようお薦めします。

•	オブジェクト・ライブラリ・モジュールは、Form Builderの始動時に自動的に再オープンされます。これにより、再利用可能オブジェクトへ即時にアクセスできます。

•	フォーム・モジュールやメニュー・モジュールとは異なり、オブジェクト・ライブラリではスマート・クラスが提供されます。


再利用について

  関連項目

Form Builderには、オブジェクトを再利用することによって、開発プロジェクトをより容易にする多数の機能が組み込まれています。オブジェクトを再利用すると、アプリケーション内の一貫性の維持が簡単になり、開発チームがこれまで行ってきた作業に基づいて仕事を進めることができます。

オブジェクトの再利用

オブジェクトを再使用する方法は多数あります。次にその方法を示します。

•	オブジェクトをコピーします。

オブジェクトの新しい個別のインスタンスを作成するときには、オブジェクトをコピーします。

•	オブジェクトをサブクラス化します。

ソース・オブジェクトとのリンクを保持する新しいオブジェクトを作成するときには、オブジェクトをサブクラス化します。サブクラス化されたオブジェクトを作成すると、そのサブクラス・オブジェクトを含むモジュールのオープンまたは再コンパイル時に、ソース・オブジェクトに対して行った変更がすべてサブクラス・オブジェクトに継承されます。両方のモジュールがオープンされていると、変更は即時に継承されます。

•	可視属性を作成します。

フォーム・オブジェクトやメニュー・オブジェクトに対して、アプリケーション・インタフェースで現れるフォント、カラーおよびパターンの各プロパティの規格を作成する場合は、可視属性を作成します。

•	オブジェクト・グループを作成します。

オブジェクトを、アプリケーションの他の部分と後続の開発プロジェクトで使用できる高レベルの作成ブロックにまとめたいときには、オブジェクト・グループを作成します。

•	プロパティ・クラスを作成します。

汎用のサブクラス化する親を定義するときには、プロパティ・クラスを作成します。

•	テンプレート・フォームを作成します。

チーム・メンバーの開発のためにデフォルトの開始基準を作成するときは、テンプレート・フォームを作成します。

テンプレートには、一般的に、ボイラープレートおよびツールバー、プログラム単位などの一般オブジェクトが含まれます。


オブジェクトのコピーについて

  関連項目

オブジェクトを再利用する最も簡単な方法は、それをコピーすることです。

オブジェクトをコピーすると、オブジェクトの新しい個別のインスタンスが作成され、コピーしたオブジェクトが所有していたオブジェクトが常に自動的にコピーされます。

たとえば、ブロックをコピーすると、そのブロックが所有していた項目、およびブロックまたはその項目に接続されていたトリガーが新規ブロックに組み込まれます。

注意: オブジェクトを他のモジュールにコピーする際、ターゲット・モジュールがソース・モジュールと異なる座標システムを使用していると、Form Builderではサイズおよび位置調整の自動変換が行われません。


オブジェクトのコピー

  関連項目

オブジェクトのコピーは、次のように行います。

1	オブジェクト・ナビゲータで、希望するオブジェクトをクリックします。

2	[Ctrl]を押して、オブジェクトを対象の位置までドラッグします。

「コピー/サブクラス」ダイアログが表示されます。

3	「コピー」をクリックします。


サブクラス化について

  関連項目

オブジェクトをサブクラス化すると、別のオブジェクトから機能と外観を継承するオブジェクトが作成されます。

オブジェクトのサブクラス化は、サブクラス化されたオブジェクトがソース・オブジェクトへのリンクを保持すること以外、オブジェクトのコピーと同様です。両方のモジュールがオープンされている場合を除いて、サブクラス化されたオブジェクトを含むモジュールのオープンまたは再コンパイル時に、ソース・オブジェクトに対して行われた変更がすべてサブクラス・オブジェクトに継承されます。両方のモジュールがオープンされていると、変更は即時に継承されます。

サブクラス化することで、次のことが可能になります。

•	オブジェクトの独立したサブクラスを作成します。

•	ソース・オブジェクトに対する変更をサブクラス化された各オブジェクトに自動的に波及させます。

•	サブクラス化されたオブジェクトのプロパティおよび構造体を上書きします。

「オブジェクト・ライブラリ」とともにサブクラス化を使用すると、外観と操作性に対する標準化が促進されます。「オブジェクト・ライブラリ」内に保存されているオブジェクトは、フォーム・モジュールとメニュー・モジュールにサブクラス化でき、親クラスから独立したインスタンスを作成します。


オブジェクトのサブクラス化のためのガイドライン

  関連項目

オブジェクトをサブクラス化するときには、次のガイドラインを考慮してください。

•	オブジェクトをサブクラス化すると、ソース・オブジェクトに対応付けられているオブジェクトではなく、ソース・オブジェクトが所有するオブジェクトがサブクラス化されます。

たとえば、ブロックをサブクラス化すると、ブロック内の項目の表示テキスト・ラベルは含まれません。表示テキストは、それを表示するキャンバスが所有しています。表示テキストをサブクラス化するには、対象のキャンバスをサブクラス化する必要があります。

•	複数のモジュールにわたってオブジェクトをサブクラス化するときには、ソース・モジュールとターゲット・モジュールの両方がオープンされている必要があり、また、ソース・モジュールはすでにファイル・システムまたはデータベースに保存されている必要があります。

•	ソース・オブジェクトを削除するときには注意します。ソース・オブジェクトを削除すると、サブクラス化されたオブジェクトとのリンクが切断されます。

•	ソース・オブジェクトの名前を変更するときには注意します。

トリガーまたはプログラム単位コードで参照されているか、あるいはデータベースの列に関係する項目の名前を変更すると、アプリケーションの機能の障害になることがあります。

•	複素値（たとえば、リスト要素など）を上書きするときには注意します。

•	サブクラス化されたプログラム単位を変更するときには、サブクラス化されたプログラム単位を再コンパイルすることが必要です。

•	サブクラス化されたコードを変更するには、プロパティ・パレットを使用する必要があります。PL/SQLエディタでサブクラス化されたコードを変更すると、ソース・オブジェクトとのリンクが切断されます。


オブジェクトのサブクラス化

  関連項目

オブジェクトのサブクラス化は、次のように行います。

1	オブジェクト・ナビゲータまたはオブジェクト・ライブラリで、対象のオブジェクトをクリックし、次に[Ctrl]を押してそのオブジェクトを希望の位置にドラッグします。

「コピー/サブクラス」ダイアログが表示されます。

2	「サブクラス」をクリックします。

Form Builderによって、サブクラス化されたオブジェクトが作成されます。サブクラス化されたオブジェクトの名前が、既存のオブジェクトの名前と対立する場合は、Form Builderによって、サブクラス化されたオブジェクトに新しい名前が割り当てられます。オブジェクト・ナビゲータに、サブクラス化されたオブジェクトが表示され、その名前の後には、それが他のオブジェクトからサブクラス化されたものであることを示す矢印アイコンが表示されます。


ソース・オブジェクトの変更

  関連項目

ソース・オブジェクトの変更は次のようにします。

1	ソース・モジュール（.FMBまたは.MMB）がまだオープンされていない場合は、それをオープンします。

2	対象のソース・オブジェクトを希望どおり変更します。

Form Builderでは、ソース・オブジェクトに対して行われた変更は、サブクラス・オブジェクトを含むモジュールを次にオープンするときに、各サブクラス・オブジェクトへ自動的に波及されます。


サブクラス化されたオブジェクトの変更について

  関連項目

サブクラス化されたオブジェクトの変更は、次のいずれかの方法で行います。

•	オブジェクトのプロパティを希望どおりに上書きします。または継承します。

プロパティ・パレットを使用すると、サブクラス化されたオブジェクトのプロパティをすばやく表示させることができます。プロパティ・パレットでは、サブクラス化されたプロパティの横に矢印が、デフォルト値の横に小さい円が、非デフォルト値の横に四角形が、オーバーライドしたプロパティの横に矢印/×記号がそれぞれ表示されます。

•	サブクラス化されたコードを希望どおりに変更します。

サブクラス化されたトリガーとプログラム単位を変更するには、プロパティ・パレットを使用します。

注意: サブクラス化されたコードを変更するために、PL/SQLエディタを使用しないでください。PL/SQLエディタを使用すると、ソース・オブジェクトとのリンクが切断されます。


サブクラス化されたオブジェクトの変更

  関連項目

サブクラス化されたオブジェクトを変更するには、次のようにします。

1	オブジェクト・ナビゲータで、希望するオブジェクトをクリックします。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	オブジェクトを希望どおりに変更します。


継承された値へのプロパティの復帰

プロパティを、その継承された値へ戻すには、次のようにします。

1	「プロパティ・パレット」で、対象のプロパティをクリックします。

2	「プロパティ・パレット」ツールバーで「継承」ボタンをクリックします。

プロパティでは、ソース・オブジェクト内の対応するプロパティの設定が継承されます。

注意: 変動プロパティから継承プロパティへの変換は、「プロパティ・パレット」ツールバーの「継承」コマンドによってのみ可能です。変動プロパティをクラス内のプロパティと同じ値に設定したのみでは、継承したプロパティは作成されません。この場合に作成されるのは、クラス内のプロパティと同じ値に偶然設定された変動プロパティです。クラス内のプロパティの設定を後から更新しても、プロパティは依然として変動プロパティであり、変更は継承されません。


サブクラス情報について

  関連項目

アプリケーションを使用する際に、サブクラス化されたオブジェクトのソースについての情報を更新することが必要になる場合もあります。

たとえば、ソース・オブジェクトの名前を変更すると、そのオブジェクトを参照するモジュールをコンパイルしたときに、Form Builderではそのオブジェクトを見つけることができなくなります。同様に、ファイル・システムからデータベースへソース・モジュールを移動すると、そのモジュールへの参照が無効になります。

「サブクラス情報」プロパティを設定することによって、サブクラス化されたオブジェクトのソースに関する情報を更新できます。

サブクラス化されたオブジェクトの定義には、そのオブジェクトが基づいているソース・オブジェクトについての情報が含まれています。情報には、ソース・オブジェクトの名前およびソース・モジュールの名前、保存位置（ファイル・システムまたはデータベース）などが含まれます。

注意: オブジェクトのサブクラス情報を変更するときは注意が必要です。ソース・オブジェクトの名前や位置を誤って入力すると、そのオブジェクトの継承されたプロパティは、そのオブジェクトのタイプに対するデフォルト値に戻ります。


オブジェクトのサブクラス情報の更新

  関連項目

オブジェクトのサブクラス情報を更新するには、次のようにします。

1	オブジェクト・ナビゲータで、サブクラス化されたオブジェクトをダブルクリックして、「プロパティ・パレット」を表示します。

2	「一般」 ノードの下で、「サブクラス情報」プロパティをダブルクリックし、「サブクラス情報」ダイアログ属性を必要に応じて設定します。

アクセス: ソース・モジュールの位置（ファイルまたはデータベース）

タイプ: ソース・モジュール・タイプ（フォームまたはメニュー）

モジュール： サブクラス化されたオブジェクトのソース・オブジェクトを含むソース・モジュールの名前。

オブジェクト名:  ソース・オブジェクトの名前


プロパティ・クラスについて

  関連項目

プロパティ・クラスとは、名前付きのオブジェクトで、プロパティとそれらの設定値のリストが含まれています。プロパティ・クラスを1度作成したら、そのプロパティ・クラスから他のオブジェクトに継承させることができます。プロパティ・クラスに基づいたオブジェクトでは、そのオブジェクトに適用されるクラス内のプロパティの設定が継承されます。

プロパティ・クラスの継承は、サブクラスのインスタンスです。概念的には、プロパティ・クラスを汎用的なスーパークラスとして考えることができます。

プロパティ・クラスにはいくつかのプロパティが存在することがあり、クラス内のプロパティは、別のタイプのオブジェクトに適用できます。たとえば、プロパティ・クラスには、すべてのタイプの項目に共通のプロパティ、およびテキスト項目のみに適用されるプロパティ、チェックボックスのみに適用されるプロパティなどが含まれていることがあります。

プロパティ・クラスからオブジェクトに継承する場合、オブジェクトがクラスからどのプロパティを継承するか、およびどのプロパティがオーバーライドされるか、ということが決まっています。

プロパティ・クラスは、個別のオブジェクトなので、必要に応じてモジュール間でコピーできます。より重要なことは、プロパティ・クラスは、いくつものモジュールにサブクラス化できるということです。


プロパティ・クラス作成のためのガイドライン

  関連項目

プロパティ・クラスを使用して作業するときには、次のガイドラインについて考慮してください。

•	プロパティ・クラスは、フォーム・モジュールとメニュー・モジュールで定義できます。

•	プロパティ・クラスを作成したら、プロパティ・クラスへプロパティを希望どおりに追加したり削除したりでます。プロパティの追加は、1度に1つずつ、または「プロパティ・コピー」および「プロパティ・ペースト」コマンドを使用して実行できます。

場合によっては、クラスに基づいたオブジェクトによって実際に継承されるプロパティのみがクラス定義に含まれるように、他のプロパティを削除したくなることがあります。

たとえば、同じフォントと高さ特性を他のテキスト項目に適用するように、あるテキスト項目の定義からプロパティ・クラスを作成することがあります。ただし、新しいプロパティ・クラスには、X位置とY位置のプロパティも含まれます。これらのプロパティでは、クラスに基づいた各テキスト項目ごとにほとんど常に上書きする必要のある表示座標を定義するので、クラス定義からこれらを削除するはずです。

•	プロパティ・クラスからオブジェクトに継承させると、そのオブジェクトのプロパティは、次のように更新されます。

•	プロパティ・クラス内に対応するプロパティのあるプロパティは、プロパティ・クラスの設定に一致するように更新されます。

•	プロパティ・クラス内に対応するプロパティがないプロパティは、変更されません。

•	プロパティ・クラスからプロパティを削除するか、またはプロパティ・クラスから継承しないようにオブジェクトを変更すると、オブジェクトがクラスから継承していたプロパティが、デフォルト設定に戻されます。

•	プロパティ・クラスは、他のプロパティ・クラスのみから継承できます。

•	プロパティ・クラスは、名前付きの可視属性と似ていますが、次のような重要な相違点があります。

•	名前付きの可視属性では、フォントおよびカラー、パターンの属性のみを定義します。一方、プロパティ・クラスには、これらに加え、その他のプロパティも含めることができます。

•	名前付きの可視属性をプログラムで変更すると、実行時にオブジェクトの外観を変更できます。プロパティ・クラスの割当ては、プログラムでは変更できません。

•	オブジェクトがプロパティ・クラスと名前付き可視属性の両方から継承するときには、名前付き可視属性の設定が優先され、クラス内の可視属性プロパティは無視されます。


プロパティ・クラスの変更について

  関連項目

1度プロパティ・クラスからオブジェクトに継承させると、オブジェクトの定義またはそのプロパティ・クラスを、次のいずれかの方法で変更できます。

•	オブジェクトのプロパティを希望どおりに上書きします。または継承します。

•	プロパティ・クラスへプロパティを追加または削除します。

•	別のプロパティ・クラスからオブジェクトに継承させます。

•	サブクラス情報プロパティを<Null>に設定することによって、オブジェクトをプロパティ・クラスから切り離します。

プロパティ・クラスから値を継承するプロパティは、プロパティ名の前に矢印記号が付けられて表示されます。オブジェクトをクラスに基いて1度設定すると、継承された任意のプロパティを上書きすることによって、そのプロパティを変動プロパティにすることができます。変動プロパティと、クラス内に対応するプロパティのないプロパティは、矢印記号が付けられずに通常どおり表示されます。


プロパティ・クラスの作成

  次へ	    関連項目

オブジェクト・ナビゲータでプロパティ・クラスを作成するには、次のようにします。

1	オブジェクト・ナビゲータで、「プロパティ・クラス」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられたプロパティ・クラス・オブジェクトは、そのノードの下に挿入されます。


プロパティ・クラス内のプロパティの表示

  関連項目

プロパティ・クラスの定義を表示するには、次のようにします。

1	オブジェクト・ナビゲータで、「プロパティ・クラス」ノードをクリックします。

2	対象のプロパティ・クラス・オブジェクトのアイコンをダブルクリックして、そのプロパティを確認します。


プロパティ・クラスへのプロパティの追加

プロパティ・クラスにシングル・プロパティを追加するには、次のようにします。

1	オブジェクト・ナビゲータで、「プロパティ・クラス」ノードをクリックします。

2	希望するプロパティ・クラス・オブジェクトのアイコンをダブルクリックして、「プロパティ・パレット」を表示します。

3	「プロパティ・パレット」ツールバーで「プロパティを追加」ボタンをクリックします。

4	「プロパティ」ダイアログで、次の操作を行います。

プロパティ・クラスに追加するプロパティをクリックします。

「OK」をクリックします。

5	「プロパティ・パレット」で、新しいプロパティを希望どおりに設定します。

プロパティ・クラスにプロパティを追加するには、次のようにします。

「プロパティ・コピー」コマンドを使用して既存のオブジェクトのプロパティをコピーし、次に「プロパティ・ペースト」コマンドを使用してそれらのプロパティと設定をプロパティ・クラスにペーストします。


プロパティ・クラスの変更

  関連項目

プロパティ・クラス内のプロパティの変更は、次のようにします。

1	オブジェクト・ナビゲータで、希望するプロパティ・クラス・オブジェクトのアイコンをダブルクリックします。

2	「プロパティ・パレット」で、希望するプロパティを変更します。


プロパティ・クラスからのプロパティの削除

  関連項目

プロパティ・クラス内のプロパティを削除するには、次のようにします。

1	オブジェクト・ナビゲータで、「プロパティ・クラス」ノードをクリックします。

2	希望するプロパティ・クラス・オブジェクトのアイコンをダブルクリックします。

3	「プロパティ・パレット」で、削除するプロパティをクリックして選択します。

4	「プロパティ・パレット」ツールバーで「プロパティ削除」ボタンをクリックします。


オブジェクトとプロパティ・クラスとの関連づけ

  関連項目

オブジェクトをプロパティ・クラスに関連づけるには、次のようにします。

1	オブジェクト・ナビゲータで、希望するオブジェクトをクリックします。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	「一般」ノードのもとで、次の操作を行います。

•	「サブクラス情報」プロパティに表示される「詳細」ボタンをクリックします。

•	「サブクラス情報」ダイアログで、「プロパティ・クラス」をクリックします。

•	「プロパティ・クラス名」フィールドで、希望のプロパティ・クラスを選択します。


プロパティ・クラスに基づくオブジェクトの変更

  関連項目

プロパティ・クラスに基づくオブジェクトの変更は次のようにします。

1	オブジェクト・ナビゲータで、希望するオブジェクトをクリックします。

2	オブジェクトを希望どおりに変更します。

継承したプロパティの設定を変更すると、プロパティ名の前にある矢印に×が付けられて、そのプロパティが基づいているプロパティ・クラスから値を継承しないことが示されます。


プロパティ・クラス内でのトリガーの定義について

  関連項目

クラスに基づいたフォームまたはブロック、項目に、トリガーを継承させたい場合は、プロパティ・クラス内でトリガーを定義します。プロパティ・クラスに基づくオブジェクトでトリガーが継承されると、ちょうどトリガーをオブジェクトに付加した場合と同様、イベントへの応答として、オブジェクトによってトリガーが実行されます。

新しいトリガーは、プロパティ・クラスの「トリガー」ノードの下に表示されます。

トリガーを定義したプロパティ・クラスから継承させたフォームまたはブロック、項目では必ずトリガーが継承されます。たとえば、プロパティ・クラス内でWhen-Button-Pressedトリガーを定義すると、そのプロパティ・クラスから継承したフォームまたはブロック、ボタンでは、必ずWhen-Button-Pressedトリガーが継承されます。実行時には、これらのオブジェクトは、When-Button-Pressedトリガーを付加した場合と同様の動作をします。

オブジェクトへのプロパティ・クラスのトリガーの継承を無効にするには、同じタイプのトリガーを記述します。したがって、When-Button-Pressedトリガーを、プロパティ・クラスから既に継承しているボタンの場合、When-Button-Pressedトリガーを直接記述することで、継承しているトリガーが上書きされます。

プロパティ・クラス内でトリガーを定義すると、クラスから継承させたフォームおよびブロック、項目では、そのタイプのオブジェクトに有効な場合にのみトリガーが継承されます。たとえば、When-Button-Pressedトリガーはボタンにのみ有効であるため、When-Button-Pressedトリガーが組み込まれたクラスをテキスト項目の基準にしても、トリガーが無視されます。同様に、When-Timer-Expiredトリガーはブロックや項目ではなく、フォームに対してのみ有効であるため、チェックボックスではWhen-Timer-Expiredトリガーが継承されません。

注意: プロパティ・クラス内でトリガーを定義すると、オブジェクト・ナビゲータでトリガーは、クラスに基づくオブジェクトのトリガー・ノードの下位にではなく、そのプロパティ・クラスのトリガー・ノードの下位に表示されます。


プロパティ・クラス内のトリガーの定義

プロパティ・クラス内にトリガーを定義するには、次のようにします。

1	オブジェクト・ナビゲータで、プロパティ・クラスの下の「トリガー」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	ダイアログで、値リストから対象のトリガーを選択します。

PL/SQLエディタが表示され、選択したトリガーが示されます。

4	希望するトリガー・コードを入力してコンパイルし、そして「クローズ」を選択してエディタを完了します。


可視属性について

  関連項目

可視属性とは、アプリケーション・インタフェースに現れる、フォーム・オブジェクトおよびメニュー・オブジェクトに対して設定する、フォント、カラーおよびパターンの各プロパティです。可視属性には、次のプロパティを設定できます。

•	フォント・プロパティ:  フォント名、フォント・サイズ、フォント・スタイル、フォント間隔、フォントの太さ

•	カラー・プロパティとパターン・プロパティ:　フォアグラウンド・カラー、バックグラウンド・カラー、塗りパターン、文字モードの論理属性、白黒

すべてのインタフェース・オブジェクトが可視属性グループ・プロパティを持っており、これによって、オブジェクトの個々の可視属性設定（フォント・サイズ、フォアグラウンド・カラーなど）がどのように引き出されるかが決まります。可視属性グループ・プロパティは、「デフォルト」または「NULL」、同じモジュール内に定義した名前付き可視属性の名前に設定できます。

オブジェクトの可視属性を設定する方法は、次のようにいくつかあります。

•	「プロパティ・パレット」で、可視属性グループ・プロパティを希望どおりに設定し、次に個々の属性（フォント名、フォアグラウンド・カラーなど）を希望どおりに設定します。

•	「レイアウト・エディタ」で、項目またはキャンバスを選択し、次に「フォント」ダイアログと「塗りカラー」パレット、「テキスト・カラー」パレットから、希望するフォントおよびカラー、パターンの属性を選択します。

•	該当のフォントおよびカラー、パターンの設定をした可視属性オブジェクトを定義し、次にそれを同じモジュール内のオブジェクトに適用します。オブジェクトの可視属性設定をユーザーがプログラムから変更することによって、実行時にオブジェクトのフォント、カラーおよびパターンを変更することもできます。

•	可視属性オブジェクトをサブクラス化し、次にそれらのプロパティが継承される可視属性をオブジェクトに適用します。

•	プロパティ・クラスを作成し、次にそれらのプロパティが継承されるプロパティ・クラスをオブジェクトに適用します。


デフォルトの可視属性について

「可視属性グループ」プロパテティを「DEFAULT」に設定すると、オブジェクトがデフォルトのカラーおよびパターン、フォントの設定で表示されるように指定されます。可視属性グループを「デフォルト」に設定すると、個々の属性の設定に現行のシステム・デフォルト値が反映されます。実際の設定は、オブジェクトのタイプおよび使用中のリソース・ファイル、ウィンドウ・マネージャなどの要素の組合わせによって決まります。


名前付き可視属性について

  関連項目

「可視属性グループ」プロパティを、同じモジュール内で定義されている名前付き可視属性に設定すると、可視属性の設定がそのオブジェクトに適用されます。名前付き可視属性は、フォームまたはメニュー・モジュール内の個別のオブジェクトで、可視属性プロパティの集合を定義します。名前付き可視属性を1度作成したら、ワープロのスタイルのように、それを同じモジュール内の任意のオブジェクトへ適用できます。


可視属性作成のためのガイドライン

  関連項目

可視属性を使用して作業を行うときには、次のガイドラインについて考慮してください。

•	名前付き可視属性をオブジェクトに適用すると、そのオブジェクトに対して有効なプロパティのみが反映されます。

•	アプリケーションを複数のプラットフォームにポートする場合は、名前付き可視属性の設定を使用します。


名前付き可視属性の作成

  次のステップ	    関連項目

名前付き可視属性は、次のように作成します。

1	オブジェクト・ナビゲータで、「可視属性」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

Form Builderによって、新規の名前付き可視属性が挿入されます。

3	「プロパティ・パレット」で、名前付き可視属性のフォントおよびカラー、パターンの属性を希望どおりに設定します。


オブジェクトと可視属性との関連づけ

オブジェクトと可視属性の関連づけは、次のように行います。

1	オブジェクト・ナビゲータで、希望するオブジェクトをダブルクリックして、「プロパティ・パレット」を表示します。

2	「可視属性」ノードで、「可視属性グループ」プロパティを指定した可視属性名に設定します。


可視属性の変更

可視属性を変更するには、次のようにします。

1	オブジェクト・ナビゲータで、希望する可視属性オブジェクトのアイコンをダブルクリックして、「プロパティ・パレット」を表示します。

2	「可視属性」ノードで、任意のプロパティを変更します。


オブジェクト・グループについて

  関連項目

オブジェクト・グループとは、オブジェクトのグループを格納するものです。関連のある複数のオブジェクトをパッケージ化して、それらを別のモジュールでコピーまたはサブクラス化できるようにするには、オブジェクト・グループを定義します。

オブジェクト・グループにより、オブジェクトを、アプリケーションの別の部分や後続の開発プロジェクトで使用できるより高レベルの作成ブロックにまとめることができます。

たとえば、フォームにアポイントメントのスケジュールを作成し、次にそれをアプリケーション内の他のフォームから使用できるように設定できます。スケジュール・アプリケーションは、日付とアポイントメントを表示するウィンドウとキャンバス、およびブロック、項目に加え、スケジュール作成とその他の機能を持つトリガーなどの、複数のタイプのオブジェクトから作成できます。これらのオブジェクトを1つのオブジェクト・グループにパッケージ化すると、他のいくつものフォームへそれらをコピーできます。

オブジェクト・グループは、フォーム・モジュールとメニュー・モジュール内で作成できます。一度オブジェクト・グループを作成したら、希望どおりにそれにオブジェクトを追加したり、オブジェクトを削除したりすることができます。


オブジェクト・グループ作成のためのガイドライン

  関連項目

オブジェクト・グループを使用して作業を行うときには、次のガイドラインについて考慮してください。

•	オブジェクト・グループへブロックをドラッグすると、そのブロックによって所有されているすべてのオブジェクト（項目、トリガー、リレーション）が暗黙のうちに組み込まれます。ただし、そのブロックによって所有されているオブジェクトは、オブジェクト・グループ内に作成された子オブジェクト・グループのリスト内のブロックの下には表示されません。

•	オブジェクト・グループには、トップレベルのオブジェクトしか組み込むことができません。

ブロックによって所有されているオブジェクトは、オブジェクト・グループ内に独立して配置することはできません。このようなオブジェクトとしては、項目および項目レベルのトリガー、ブロックレベルのトリガー、リレーションなどがあります。これらのオブジェクトは、それらが定義されたブロックから独立して存在することはできません。これらのオブジェクトをオブジェクト・グループに組み込むには、オブジェクト・ナビゲータでオブジェクト・グループにブロック・オブジェクトをドラッグすることによって、ブロック自体を組み込む必要があります。

•	グループ内のオブジェクトは、すべて同じモジュール内に定義する必要があります。2つの別々のフォームの複数のオブジェクトを同じオブジェクト・グループに入れることはできません。

•	オブジェクト・グループに、別のオブジェクト・グループを入れることはできません。

•	オブジェクト・グループ内のオブジェクトをモジュールから削除すると、オブジェクト・グループからも自動的に削除されます。

•	オブジェクト・グループをモジュールから削除しても、そのグループに含まれているオブジェクトはモジュールから削除されません。

•	オブジェクト・グループには、グループに含まれているオブジェクトのコピーが保存される訳ではなく、オブジェクトを指すポインタが保存されます。オブジェクト・グループを定義しても、モジュールのサイズは大幅には増加しません（ただし、オブジェクト・グループをサブクラス化した場合は除きます）。


オブジェクト・グループの作成

  関連項目

オブジェクト・グループは、次のように作成します。

1	オブジェクト・ナビゲータで、「オブジェクト・グループ」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられたオブジェクト・グループが、ノードの下に挿入されます。「オブジェクト・グループ」ノードの横の「＋」アイコンをクリックすると、「子オブジェクト・グループ」ノードが表示されます。グループに追加するオブジェクトは、このノードの下に表示されます。


オブジェクト・グループへのオブジェクトの追加

  関連項目

オブジェクトをオブジェクト・グループに追加するには、次のようにします。

1	オブジェクト・ナビゲータで、「オブジェクト・グループ」ノードの横の「+」アイコンをクリックします。

2	希望するオブジェクトを「子オブジェクト・グループ」ノードまでドラッグします。


オブジェクト・グループの変更

オブジェクト・グループの変更は、次のようにします。

1	オブジェクト・ナビゲータで、対象のオブジェクト・グループのオブジェクトのアイコンをダブルクリックして、「プロパティ・パレット」を表示します。

2	希望するプロパティを変更します。


オブジェクト・グループからのオブジェクトの削除

  関連項目

オブジェクト・グループからオブジェクトを削除するには、次のようにします。

1	オブジェクト・ナビゲータで、削除するオブジェクトをクリックします。

2	「ナビゲータ」 [image] 「削除」を選択します。

注意: オブジェクトをオブジェクト・グループから削除しても、そのオブジェクトはモジュールから削除されるわけではありません。


テンプレート・フォームについて

フォームはテンプレート・フォームとして使用することができます。テンプレート・フォームを使用すると、他のチーム・メンバーに、フォームを作成するためのデフォルトの開発基準を提供できます。テンプレート・フォームにはフォーム内で使用できる任意のオブジェクトを含めることができますが、通常は、グラフィック、テキスト、イメージ、ツールバーおよびプログラム単位などの汎用オブジェクトが含まれます。テンプレート・フォームを使用してフォームを作成すると、新しいフォームを保存するときにテンプレート・フォームを上書きすることがないように、Form Builderによってテンプレートがオープンされ、名前が変更されます。


テンプレートを使用してのフォームの作成

テンプレートを使用してフォームを作成するには、次のようにします。

1	「ファイル」 [image] 「新規作成」 [image] 「テンプレートを使ったフォーム」を選択します。

2	前置きダイアログで、「テンプレートを使ってフォームを作成」をクリックし、「オープン」ダイアログを表示します。

3	ファイル（.FMX）を選択してから「オープン」をクリックします。


コードの再利用

  関連項目

Form Builderに記述したコードを再利用する方法は、次のようにいくつかあります。

•	他のタイプのオブジェクトと同じように、モジュール間でトリガーまたはプログラム単位をコピーします。

•	トリガーまたはプログラム単位をサブクラス化します。

•	PL/SQLライブラリが接続されているモジュールからコールすることができるPL/SQLライブラリを作成します。

•	他のモジュール内の既存のトリガーをサブクラス化します。


Forms Developerユーザー・インタフェース規格

  次のステップ	    関連項目

自分自身のユーザー・インタフェース規格を開発するかわりに、Forms Developerユーザー・インタフェース規格に基づいてアプリケーションを作成できます。

Forms Developerには、2つのセットのユーザー・インタフェース規格が用意されています。

一般規格	多国語サポートが必要な場合のマルチプラットフォームを使用する際に使用するようお薦めします。
Win95規格	多国語サポートが必要でない場合のWin95にお薦めします。
Forms Developerユーザー・インタフェース規格は、オブジェクト・ライブラリにあります。その規格を使用するには、オブジェクト・ライブラリをオープンし、希望するオブジェクトをオブジェクト・ライブラリからオブジェクト・ナビゲータにドラッグするのみです。オブジェクト・ライブラリにある任意のオブジェクトをサブクラス化することもできます。


Windows 95標準のOracle Developerユーザー・インタフェースの使用
Windows 95標準のForms Developerユーザー・インタフェースの使用

  関連項目

Windows 95標準のユーザー・インタフェースを適用するユーザー・インタフェース

•	ボタン

•	チェック・ボックス

•	表示項目

•	リスト項目

•	ラジオ・グループ

•	テキスト項目

•	日付書式付きのテキスト項目


Win95インタフェース規格をボタンに適用

標準ボタンの作成:

1	「ファイル」 [image] 「オープン」を選択します。

2	「オープン」ダイアログで、「STANDARD20.OLB」をダブルクリックします。

3	オブジェクト・ナビゲータで、希望する項目をクリックします。

4	マウスの右ボタンをクリックして、ポップアップ・メニューを表示します。

5	「スマート・クラス」を選択し、次に希望するボタン・スマート・クラスを選択します。

6	（オプション）オブジェクト・ナビゲータで、「STNDRD20」オブジェクト・アイコンをダブルクリックします。

7	（オプション）オブジェクト・ライブラリで、「VAGS」タブをクリックして、「STD_TEXT_ITEM」、「STD_PROMPT」および「STD_CURRENT_RECORD」をオブジェクト・ナビゲータの「可視属性」ノードにドラッグします。


Win95インタフェース規格をチェックボックスに適用

標準チェックボックスの作成:

1	「ファイル」 [image] 「オープン」を選択します。

2	「オープン」ダイアログで、「STANDARD20.OLB」をダブルクリックします。

3	オブジェクト・ナビゲータで、希望する項目をクリックします。

4	マウスの右ボタンをクリックして、ポップアップ・メニューを表示します。

5	「スマート・クラス」を選択して､「STD_CHECKBOX」を選択します。

6	（オプション）オブジェクト・ナビゲータで、「STNDRD20」オブジェクト・アイコンをダブルクリックします。

7	（オプション）オブジェクト・ライブラリで、「VAGS」タブをクリックして、「STD_TEXT_ITEM」と「STD_PROMPT」をオブジェクト・ナビゲータの「可視属性」ノードにドラッグします。


Win95インタフェース規格を表示項目に適用

標準日付書式の作成:

1	「ファイル」 [image] 「オープン」を選択します。

2	「オープン」ダイアログで、「STANDARD20.OLB」をダブルクリックします。

3	オブジェクト・ナビゲータで、希望する項目をクリックします。

4	マウスの右ボタンをクリックして、ポップアップ・メニューを表示します。

5	「スマート・クラス」を選択して､「STD_DISPLAY_ITEM」を選択します。

6	（オプション）オブジェクト・ナビゲータで、「STNDRD20」オブジェクト・アイコンをダブルクリックします。

7	（オプション）オブジェクト・ライブラリで、「VAGS」タブをクリックして、「STD_TEXT_ITEM」、「STD_PROMPT」および「STD_CURRENT_RECORD」をオブジェクト・ナビゲータの「可視属性」ノードにドラッグします。


Win95インタフェース規格をリスト項目に適用

標準リスト項目の作成:

1	「ファイル」 [image] 「オープン」を選択します。

2	「オープン」ダイアログで、「STANDARD20.OLB」をダブルクリックします。

3	オブジェクト・ナビゲータで、希望する項目をクリックします。

4	マウスの右ボタンをクリックして、ポップアップ・メニューを表示します。

5	「スマート・クラス」を選択して、「STD_LIST_ITEM」を選択します。

6	（オプション）オブジェクト・ナビゲータで、「STNDRD20」オブジェクト・アイコンをダブルクリックします。

7	（オプション）オブジェクト・ライブラリで、「VAGS」タブをクリックして、「STD_TEXT_ITEM」、「STD_PROMPT」および「STD_CURRENT_RECORD」をオブジェクト・ナビゲータの「可視属性」ノードにドラッグします。


Win95インタフェース規格をラジオ・グループに適用

標準日付書式の作成:

1	「ファイル」 [image] 「オープン」を選択します。

2	「オープン」ダイアログで、「STANDARD20.OLB」をダブルクリックします。

3	オブジェクト・ナビゲータで、希望する項目をクリックします。

4	マウスの右ボタンをクリックして、ポップアップ・メニューを表示します。

5	「スマート・クラス」を選択して、「STD_RADIO_GROUP」を選択します。

6	（オプション）オブジェクト・ナビゲータで、「STNDRD20」オブジェクト・アイコンをダブルクリックします。

7	（オプション）オブジェクト・ライブラリで、「VAGS」タブをクリックして、「STD_TEXT_ITEM」をオブジェクト・ナビゲータの「可視属性」ノードにドラッグします。


Win95インタフェース規格をテキスト項目に適用

標準テキスト項目の作成:

1	「ファイル」 [image] 「オープン」を選択します。

2	「オープン」ダイアログで、「STANDARD20.OLB」をダブルクリックします。

3	オブジェクト・ナビゲータで、希望する項目をクリックします。

4	マウスの右ボタンをクリックして、ポップアップ・メニューを表示します。

5	「SmartClasses」を選択して、「STD_TEXT_ITEM」を選択します。

6	（オプション）オブジェクト・ナビゲータで、「STNDRD20」オブジェクト・アイコンをダブルクリックします。

7	（オプション）オブジェクト・ライブラリで、「VAGS」タブをクリックして、「STD_TEXT_ITEM」、「STD_PROMPT」および「STD_CURRENT_RECORD」をオブジェクト・ナビゲータの「可視属性」ノードにドラッグします。


標準日付書式をテキスト項目に適用

標準日付書式の作成:

1	「ファイル」 [image] 「オープン」を選択します。

2	「オープン」ダイアログで、「STANDARD20.OLB」をダブルクリックします。

3	オブジェクト・ナビゲータで、希望する項目をクリックします。

4	マウスの右ボタンをクリックして、ポップアップ・メニューを表示します。

5	「スマート・クラス」を選択して、希望するデータ・フォーマットを選択します。

6	（オプション）オブジェクト・ナビゲータで、「STNDRD20」オブジェクト・アイコンをダブルクリックします。

7	（オプション）オブジェクト・ライブラリで、「VAGS」タブをクリックして、「STD_TEXT_ITEM」、「STD_PROMPT」および「STD_CURRENT_RECORD」をオブジェクト・ナビゲータの「可視属性」ノードにドラッグします。


ストアド・プログラム

  関連項目

ストアド・プロシージャまたはストアド・ファンクションは、アプリケーションから名前でコールできるデータベース内のPL/SQLサブプログラムです。Form Builderでは、ストアドPL/SQLサブプログラムを使用した、ドラッグ・アンド・ドロップによるアプリケーション・パーティショニングがサポートされています。Oracle8 Serverを軸に展開するようなアプリケーションは、Form Builderトリガーおよびユーザー命名サブプログラムのPL/SQLコードの中にサーバー側ストアド・サブプログラムのコールを直接含めることができます。Form Builderトリガーおよびユーザー命名のサブプログラム内部から、PL/SQLパッケージに定義されたプロシージャおよびファンクションを実行できるとともに、ローカルまたはリモート・データベース・サーバーにある任意のサブプログラムにアクセスできます。

フォーム内での処理は、ストアド・プロシージャまたはファンクションの実行が完了するまで保留されます。したがって、応答を速くしたいときは、ネットワークとデータベースの負荷を考慮する必要があります。ユーザーが初めてストアド・プロシージャまたはファンクションを実行すると、実行可能コードがOracle8 SGA（共有グローバル領域）のキャッシュに入れられます。コードがキャッシュに入っているため、このコードを次に使用するときにすばやく取り出すことができます。パッケージ内の任意のサブプログラムが初めて参照されるとき、パッケージ全体がロードされて、共有可能になります。

他のツールが共有できる妥当性チェックおよび計算などの標準機能が、プロシージャまたはファンクションから提供されるときは、ローカルForm Builderサブプログラムではなくストアド・サブプログラムの使用をお薦めします。また、サーバーが一括処理できるような大量のDML操作を実行するときも、ストアド・サブプログラムの使用をお薦めします。


仮パラメータのデフォルト値

 例	     関連項目

仮パラメータのデフォルト値はサポートされません。しかし、次のものを含むストアド・パッケージを作成できます。

•	パッケージ仕様部にオーバーロードされたプロシージャ仕様部

•	パッケージ本体の中でデフォルト・パラメータを使用するプライベート・インプリメンテーション


仮パラメータのデフォルト値の例

/*

Create a stored procedure with zero, one, or two VARCHAR2 arguments.The following 'Test' package procedure can be invoked by any of the following:
  test.test;
  test.test('Hi');
  test.test('Hi','There');
*/
CREATE PACKAGE Test IS
PROCEDURE Test;
PROCEDURE Test(a VARCHAR2 );
PROCEDURE Test(a VARCHAR2,
               b VARCHAR2);
END Test;

CREATE PACKAGE BODY Test IS
   PROCEDURE Private_Test( a in VARCHAR2 := 'Hello'
       b in VARCHAR2 := 'There')  IS

   BEGIN
      Dbms_Output.Put_Line(a);
      Dbms_Output.Put_Line(b);
   END;

   PROCEDURE Test IS
   BEGIN
      Private_Test;
   END;

   PROCEDURE Test(a VARCHAR2) IS
   BEGIN
      Private_Test (a);
   END;

   PROCEDURE Test(a VARCHAR2 , b VARCHAR2) IS
   BEGIN
      Private_Test (a, b);
   END;

END Test;


別のユーザーのスキーマでのサブプログラムへのアクセス

 例	     関連項目

別のユーザーのスキーマ内またはリモート・データベース内でサブプログラムにアクセスするには、結果が次の形式を取るシノニムを作成して、ユーザー名またはDb_Link名をPL/SQLコンパイラから隠す必要があります。

•	ProcSynonym(arg1,...,argN)

•	FuncSynonym(arg1,...,argN)

•	PackSynonym.ProcName(arg1,...,argN)

•	PackSynonym.FuncName(arg1,...,argN)

シノニムを作成して、ユーザー名またはDb_Linkを隠し、リモート・ストアド・プログラムに別名称を付けられます。

•	Subprogram@DbLink

•	Package@DbLink

•	Package.Subprogram@DbLink

•	Schema.Subprogram@DbLink

•	Schema.Package

•	Schema.Package@DbLink

•	Schema.Package.Subprogram@DbLink

ここで、Subprogramはプロシージャまたはファンクションです。


別のユーザーのスキーマでのサブプログラムへのアクセスの例

パッケージ・ファンクション'LIBOWNER.LIB_HR.GET_SSN'をコールするには、次のようなスキーマ名（所有者名）を含むLIB_HRパッケージ用のシノニムを作成するとよいでしょう。

CREATE SYNONYM lib_hr_syn
FOR libowner.lib_hr;

それから、次のようにして、フォーム内部からファンクションを呼び出します。

ss_num := lib_hr_syn.get_ssn(:Emp.Empno);

リモート・サイトで、たとえばbaselという名前のデータベース・リンクを通してパッケージのファンクションにアクセスできる場合、データベース・リンク名も含めて、そのパッケージのシノニムを作成できます。

CREATE SYNONYM basel_lib_hr_syn
FOR libowner.lib_hr@basel;

そしてPL/SQLコード内のファンクションを次のように呼び出します。

ss_num := basel_lib_hr_syn.get_ssn(:Emp.Empno);

あるいは、スキーマおよびDb_Link情報を両方を隠して、そのファンクション自体のシノニムを作成できます。

CREATE SYNONYM basel_lib_hr_get_ssn_syn
FOR libowner.lib_hr.get_ssn@basel;

そして、Form Builderから次のようにファンクションを呼び出します。

ss_num := basel_lib_hr_get_ssn_syn(:Emp.Empno);

もちろん、適切であれば、上記のシノニムのいずれかがパブリック・シノニムとして作成できる場合もあります。


解決的サブプログラム名

  関連項目

フォームが生成されるとき、PL/SQLコンパイラにより、プロシージャまたはファンクションの可能性のある識別子名が検出されることがあります。PL/SQLコンパイラでは、あいまいさを解決するために優先方式を使用します。

プロシージャまたはファンクションの構造を持つPROCNAMEのような識別子が検出された場合、コンパイラでは次の検索順序で最初に見つかったものが使用されます。

1	現行のPL/SQLブロック内で定義されていますか

2	標準的なPL/SQLコマンドですか

3	Form Builderのビルトイン・サブプログラム・プロシージャまたはファンクションですか

4	ユーザー命名プロシージャまたはファンクションですか

5	サーバー側のパッケージDBMS_STANDARDに定義されていますか

6	現行ユーザーが、サーバー側でそのようなプロシージャまたはファンクションにアクセスしますか

上記の質問の答えがすべて"いいえ"の場合、コンパイラはエラーを知らせます。

PL/SQL error 313 at line xxx, column yyy
'PROCNAME' not declared in this scope
or
PL/SQL error 201 at line xxx, column yyy
identifier 'FUNCTNAME' must be declared.


ストアド・プロシージャ権限

  関連項目

適切な権限を持っていれば、Form Builderからストアド・プロシージャを直接作成または編集、コンパイル、参照できます。

実行権限	ストアド・プログラム単位において定義されたパブリック・サブプログラムの実行をユーザーに許可します。パブリック・サブプログラムはパッケージ仕様部にリストされています。
作成権限	ストアド・プログラム単位の作成、変更、コンパイルをユーザーに許可します。
コンパイル権限	ストアド・プログラム単位のコンパイルをユーザーに許可します。
削除権限	ストアド・プログラム単位の削除をユーザーに許可します。


ストアド・プログラム単位エディタ

  関連項目

ストアド・プログラム単位エディタから、ストアド・プロシージャのソース・テキストを作成および編集、コンパイルできます。

タイトル	タイトルには、スキーマおよび現在表示されているストアド・プログラム単位の名前が入ります。
作成	「作成」ボタンを使用すると、新規プログラム単位にソース・テキストが入力できます。新規プログラム単位は、ストアド・プログラム単位エディタでのみ表示されます。新規プログラム単位は、最初のコンパイル操作までデータベースに格納されません。
保存	「保存」ボタンを使用すると、エディタに表示されるソース・テキストがデータベースに格納されているソース・テキストと同期化され、サーバー側でストアド・プログラム単位をコンパイルできます。
変更の破棄	「変更の破棄」ボタンを使用すると、ソース・テキスト・ペインに加えた変更が破棄され、ストアド・プログラム単位が前の状態に復元できます。復元される状態は、次のうち最も新しいものです。 • このストアド・プログラム単位への最後のナビゲート後、または「作成」ボタンによる作成の後 • 「コンパイル」ボタンを最後に選択した後 「変更の破棄」ボタンは、上記の状態のいずれかになってからソース・テキスト・ペインに変更を加えたときのみ、使用可能になります。
削除	「削除」ボタンを使用すると、確認を求める警告が表示された後に既存のストアド・プログラム単位を削除したり、新規単位の作成を中止したりできます。 ストアド・プログラム単位を削除すると、エディタには、「名前」コンボ・ボックスに先行するストアド・プログラムを表示します。先行するストアド・プログラムがない場合は、次のストアド・プログラム単位を表示します。現行所有者のストアド・プログラム単位がない場合、何も表示しません。 「削除」ボタンは、ストアド・プログラム単位が新規の場合、または現行ユーザーが現在表示されているストアド・プログラム単位に対する削除権限を持っている場合にのみ使用可能です。
クローズ	「クローズ」ボタンを使用すると、「ストアド・プログラム単位エディタ」ウィンドウがクローズできます。現在表示されているストアド・プログラム単位のソース・テキストを変更した場合、エディタに「保存されていない変更内容が存在しています」という警告が表示されます。
「所有者」コンボ・ボックス	「所有者」コンボ・ボックスでは、エディタに現在表示されているストアド・プログラム単位を所有するユーザーを選別できます。 「所有者」コンボ・ボックスの新規項目を選択すると、「名前」コンボ・ボックスが更新され、「名前」リストに最初のストアド・プログラム単位が（ある場合）表示されます。
名前コンボ・ボックス	「名前」コンボ・ボックスには、現在選択されているストアド・プログラム単位の名前が表示されます。 「名前」コンボ・ボックスには、「所有者」コンボ・ボックスで現在選択されているユーザーが所有するアクセス可能なストアド・プログラム単位がすべて含まれます。プログラム単位は、現行ユーザーがそれに対する実行権限を持つ場合にアクセスできます。 「名前」コンボ・ボックスの新規項目を選択すると、エディタが更新されて、新しく選択されたストアド・プログラム単位が表示されます。現行ストアド・プログラム単位のソース・テキストが変更された場合、エディタに「保存されていない変更内容が存在しています」という警告が表示されます。
ソース・テキスト・ペイン	ソース・テキスト・ペインには、現行ストアド・プログラム単位のソース・テキストが表示されます。現行ユーザーがストアド・プログラム単位に対する作成権限を持つ場合にのみ編集ができ、それ以外は読込み専用です。
コンパイル・メッセージ・ペイン	コンパイル・メッセージ・ペインには、現行のストアド・プログラム単位に対応付けられたコンパイル・メッセージすべてが表示されます。 コンパイル・メッセージをクリックすると、ソース・ペインのテキスト・カーソルが、メッセージに対応付けられた行および列に移動します。 コンパイル・メッセージ・ペインは、現行ストアド・プログラム単位に対応付けられたエラー・メッセージがないときには隠れています。
ステータス・バー	ステータス・バーには、現行ストアド・プログラム単位の状態に関する情報が表示されます。


ストアド・プログラムの作成

  関連項目

ストアド・プログラムを作成する方法:

1	オブジェクト・ナビゲータで、「データベース・オブジェクト」ノードを拡張して、スキーマ・ノードを表示します。

2	スキーマ・ノードを拡張して、データベース・オブジェクトを表示します。

3	「ストアド・プログラム単位」ノードを選択して、「ナビゲータ」 [image] 「作成」を選びます。

「新規プログラム単位」ダイアログが表示されます。

4	プログラム単位名およびプログラム単位のタイプを指定します。プログラム単位のタイプは、プロシージャまたはファンクション、パッケージ仕様部、パッケージ本体のいずれかです。

「ストアド・プログラム単位エディタ」が表示されます。

5	ストアド・プログラム単位エディタで、必要なプログラム単位を定義し保存します。

注意: ストアド・プロシージャ、ファンクション、パッケージへの参照を含むフォームまたはメニュー、ライブラリを生成するときは、参照を行うストアド・サブプログラムがコンパイル中にサーバーに存在するようにしてください。


ストアド・プログラムの変更

  関連項目

ストアド・プログラムを変更する方法:

1	オブジェクト・ナビゲータで、「データベース・オブジェクト」ノードを拡張して、スキーマ・ノードを表示します。

2	スキーマ・ノードを拡張して、データベース・オブジェクトを表示します。

3	「ストアド・プログラム単位」ノードを拡張します。

ユーザーが所有するストアド・プロシージャ、あるいは実行またはコンパイル、削除を行う権限を持つストアド・プロシージャが表示されます。

4	必要なストアド・プロシージャのアイコンをダブルクリックします。

「ストアド・プログラム単位エディタ」が表示されます。

5	必要に応じてストアド・プロシージャを変更して、「保存」をクリックします。


ストアド・プログラムの起動

 例	   制限事項	    関連項目

Form Builder内部でのサーバー側のストアド・プロシージャまたはファンクションの起動は、ローカルのクライアント側のプロシージャまたはファンクションのコールと同じです。

サーバー側のストアド・プロシージャは、サーバー側のPL/SQLエンジンで実行されるように設計されているPL/SQLブロックです。このプロシージャでは、入力を受け入れ、出力を戻します。どちらも必須ではありません。

サーバー側のストアド・プロシージャは、現行ユーザーではなくプロシージャの「作成者」のセキュリティ定義域（またはスキーマ）のもとで実行されます。現行ユーザーがこれを使用するには、プロシージャの実行権限が必要です。

Form Builderのプロシージャとデータベースのプロシージャとの重要な違いは、サーバー側のプロシージャがForm Builderバインド変数(:BLOCK.ITEMNAMEまたは :GLOBAL.VARNAME、:SYSTEM.CURSOR_ITEMなど)への参照を認識していないことです。プロシージャでの処理に必要なデータはすべて、適切なデータ型のパラメータまたはパッケージ変数、表からの選択によって渡す必要があります。

Form Builderのユーザー命名ルーチンを構築して、入力を受け入れ、パラメータの結果を戻す必要があります。これにより、データベースへのプロシージャの最終的移行は、PROCEDURE宣言の前にCREATEというワードを追加する（SQL*PLUSで結果スクリプトを実行する他に）のと同じくらい簡単に行われます。

ストアド・プロシージャまたはファンクションを起動するときには、使用する可能性のある次のサブセットのみがサポートされます。

•	ProcName(arg1,...,argN)

•	FuncName(arg1,...,argN)

•	PackName.ProcName(arg1,...,argN)

•	PackName.FuncName(arg1,...,argN)


ストアド・プログラムの起動の例

DECLARE

ld DATE;
   ln NUMBER;
   lv VARCHAR2(30);
BEGIN
/*
** Calling Form-Level Procedure/Function
*/
   forms_procedure_name(ld,ln,lv);
   ld := forms_function_name(ln,lv);

/*
** Calling Database Procedure/Function
*/
   database_procedure_name(ld,ln,lv);
   ld := database_function_name(ln,lv);
END;


ストアド・プログラムの起動の制限事項

•	トリガーまたはユーザー命名サブプログラムで参照する各ストアド・サブプログラムのアクセス・ルーチンはForm Builderによって作られるため、Oracleバージョン6.0および7.0の両方に対して生成されるストアド・プロシージャまたはファンクションへのコールを含むフォームは作成できません。少なくとも1つのストアド・サブプログラムへの参照がフォームに含まれると、バージョン7.0のデータベースに対してフォームが生成される必要があります。そうしないと、ストアド・サブプログラムの名前がPL/SQLコンパイラによって解読できないときにコンパイル・エラーになります。

•	ストアド・プロシージャおよびファンクションのコールは、メニューPL/SQLコンテキストからはサポートされません。

•	フォーム開発者は、サーバーへの接続をしなおすまでストアド・サブプログラム定義に加えた変更を使用できない場合があります。


データベース・トリガー

 関連項目

データベース・トリガーの概念は、Form Builderのトリガーの概念とほぼ同じです。違うのは、トリガーを起動させるイベント、およびトリガー後のコードが実行される場所です。

データベース・トリガーは、特定の表に対応付けられたPL/SQLブロックです。トリガーは、この表に対してUPDATEまたはINSERT、DELETEが実行されると起動します。組合せにより、任意の表に対して12通りのトリガーを設定できます。トリガーは、現行ユーザーではなく作成者のセキュリティ定義域（スキーマ）のもとで実行されます。

データベース・トリガー本体の内部で、作用対象となった列の新旧の値が両方ともPL/SQLコードにより参照されることがあります。挿入の場合は以前の値が存在しませんが、削除の場合は新規の値が存在しません。これでデータの妥当性チェックが実現しやすくなり、変更値の監査が極めて簡単になります。

データベース・トリガーは、制約として実際に宣言できない複雑なデータの妥当性チェックを実行できます。データベース・トリガーがエラーになった場合、トリガー文（すなわち、トリガーを起動するINSERTまたはUPDATE、DELETE）はロールバックされます。

簡単な例として、WEEKEND_UPDATE_OKという特別な表に、現行ユーザーが存在しない場合、週末のEMP表の更新を禁止する場合があります（データベース・トリガーの作成の例を参照してください）。

CREATE OR REPLACE TRIGGER update_on_weekends_check

BEFORE UPDATE OF sal ON EMP

FOR EACH ROW

DECLARE

my_count number(4);

BEGIN

SELECT COUNT(u_name) FROM WEEKEND_UPDATE_OK INTO my_count

WHERE u_name = user_name;

IF my_count=0 THEN

RAISE_APPLICATION_ERROR(20508, 'Update not allowed');

END IF;

END;

データベース・トリガーを利用すると、複雑なデータの妥当性チェックを実現できるほかに、原因と結果の手順を実行できます。このため、データベース・トリガーは、データ監査操作およびデータ複製、分散データの整合性チェックに最適です（制約はリモート・データベースを参照できないため）。データベース・トリガーがフォーム側のトリガーの代わりとして作成されている場合（たとえば、表監査の場合）、表操作が重複するのを避けるためにフォーム側の機能を使用不可にする必要があります。

もう1つの方法は、パッケージ変数を「フラグ」として使用し、フォームとデータベース側のトリガー（またはプロシージャ）間を連絡させることです。この方法では、トリガーまたはプロシージャの内部で、特別な操作がすでにForm Builderコードによって実行されたかどうかを判定できます。

トリガーは（ストアド・プロシージャおよびファンクションと同様に）、RAISE_APPLICATION_ERRORプロシージャによるエラーを起こします。RAISE_APPLICATION_ERRORプロシージャでは、20000～20999という特定の範囲内にエラー番号を割り当て、エラー・メッセージを提供します。エラー・メッセージを用意するのはPL/SQLデータベース・トリガーであるため、メッセージの内容は可変です。このエラーは、次のセクションで説明するメソッドを使用してForm Builderアプリケーション内で検出することができます。


データベース・トリガー処理

  関連項目

INSERTまたは、UPDATE、DELETEのようなDML文に応答してデータベース・トリガーが起動することを思い出してください。Form Builderは通常のコミット時処理において、INSERT文を発行して新しく入力されたレコードをデータベースに追加し、UPDATE文を発行して既存のレコードにオペレータが加えた変更を有効にし、DELETE文を発行してデータベースからオペレータが削除したレコードを削除します。データベース・トリガーは、使用可能になっていれば起動します。

たとえば、次のようなデータベース・トリガーがEMP表上で定義され、使用可能になっている場合を考えてみましょう。

•	BEFORE DELETE

•	BEFORE DELETE FOR EACH ROW

•	AFTER DELETE

•	AFTER DELETE FOR EACH ROW

問合せ中のレコードをオペレータが削除すると、次の順序でイベントが発生します。

1	Form Builderが、削除対象のレコードをロックします

2	オペレータが[Commit]を押します

3	Form BuilderがPRE-COMMITトリガーを起動します

4	Form BuilderがPRE-DELETEトリガーを起動します

5	Form BuilderがDELETE文を発行し、その行を削除します

6	データベースがBEFORE DELETEトリガーを起動します

7	データベースがBEFORE DELETE FOR EACH ROWトリガーを起動します

8	データベースがレコードを削除します

9	データベースがAFTER DELETE FOR EACH ROWトリガーを起動します

10	データベースがAFTER DELETEトリガーを起動します

11	Form BuilderがPOST-DELETEトリガーを起動します

12	Form BuilderがPOST-COMMITトリガーを起動する

コミット処理の間にエラーが起きると、Form Builderでは、現在のコミット・トランザクションが、コミット順序の始まりで発行されたセーブポイントまでロールバックすることを思い出してください。Form Builderから自動的に発行されたDML文の結果、データベース・トリガーのいずれかが失敗すると（未処理エラーの発生またはRAISE_APPLICATION_ERRORのコールによる）、「FRM-40511:トリガー: <trigger_name>の実行中にOracleエラーが発生しました。」メッセージが表示されます。一方、PL/SQLトリガーのDML文の結果生じたエラーは、適正に処理されます。処理されない場合は、そのエラーにより「FRM-40735: トリガー: <trigger_name>が未処理の<exeception_name>例外を引き起こしました。」メッセージが作成されます。


宣言データベース制約

  関連項目

データベース制約は、データの論理的な整合性を管理する規則です。この規則は、表の作成時に宣言するか、既存の表に追加できます（いくつかの制限事項があります）。

エンティティ制約 エンティティ制約は、列（または順序が指定された複数の列グループ）が表内でNOT NULLかつUNIQUEである、INSERT文で何も指定されていない場合にデフォルト値を持つ、CHECK句で指定された複雑な論理条件を満たす、などの制御を課すことができます。これらの制約により、表内に整合性を与えます。

参照制約 参照制約は、主キーと外部キーの関係を確立することによってマスター表とディテール表の間の論理的リンクを与えます。データベース制約は、宣言された規則がデータベース・レベルで自動的に発動することによって、データを保護します。たとえば、マスター表にレコードを作成し、さらにディテール・レコードを1つ作成した場合、データベース制約のデフォルト操作では、マスター・レコードの主キーの更新に制約が課されます。マスター・レコードの削除も禁止されます（ただし、外部キー参照のすべてを宣言するときに、ON DELETE CASCADEオプションを指定した場合を除きます）。

制約チェックの方法 Oracle7 Server以前の製品では、ほとんどすべてのデータの整合性はアプリケーション・レベルで（Form Builderの場合はトリガーにより）実現していました。アプリケーション側で行う目的は、不良データを発生する前に防ぐことです。

カーネル・レベルの暗黙のデータ妥当性チェックを実行できるOracle8の機能では、現行システムのアプリケーション側でデータの整合性を保証するようにコード化されている場合、結局同じチェックを2回実行することになります。最適化を考えると、アプリケーションからこのチェックのためのロジックを外し、制約チェックすべてをデータベースに委ねる方法も考えられるでしょう。この場合、制約によって可能となる両側での利点を比較検討し、2回チェックすることが経済的に引き合うか判断することが大切です。

データベース制約を使用すると、データの整合性の保護を中央で行うことができるため、各ツールにチェックのロジックを組み込む必要がありません。しかし、アプリケーションにチェックのロジックを組み込む理由の１つは、エラーの発生をすぐにユーザーにフィードバックすることです。これにより、オンライン・ヘルプと適切なエラー・メッセージに基づいて迅速な訂正を促します。

50の新規オーダーを一度に入力してから評価するようなユーザーはいないでしょう。コミットを実行したときのみ、4番目のオーダーが整合性制約の違反であることをOracleから通知されます。

チェックのオーバーヘッドを少し増加させるだけで安全性が高まるという認識のもとで、データの入力時にもコミット時にもチェックした方がよいと考えるのは当然かもしれません。データベース制約チェックは、アプリケーションによる制約チェックよりも効率的です。それは制約の処理がカーネルにより高度に処理され、完全にカーネルの領域内（およびRAM）で処理され、ネットワークを介してクライアントに戻す必要がないからです。

ある列がデフォルト値を持つと宣言されている場合、カーネルがデフォルト値を割り当てるのはレコードがINSERTされ、かつ、指定された列がINSERT句の列リストに含まれていないときのみです。INSERTとDELETEの場合、Form Builderではブロック内の列（すなわちデータベースのフィールド）すべてのリストが作られるので、デフォルト値が自動的に割り当てられることはありません。ただし、ユーザーが該当のフィールドをブロックから除いた場合（非データベースのマークを付けた場合）、あるいはForm Builderによる通常の挿入処理を無効にするON-INSERTトリガーを作成した場合を除きます。

また、フォームに基づく操作の中には、制約が使用可能なときは不必要なものもあります。たとえば、対応するマスターが削除されたきのディテール・レコードの削除は、ON DELETE CASCADEオプションが外部キーの親子関係に指定されている場合には、カーネルによって内部で処理されます。

マスター/ディテール・ブロックおよび参照整合性 SQL*Forms 3.0で自動生成したトリガーとプロシージャによって調整されるマスター/ディテール・ブロックを組み込んだアプリケーションは、宣言参照整合性の制約を使用可能にした表に対して実行する場合は、変更する必要がありません。Form Builderのデフォルトのロジックは、未処理のディテール・レコードが存在している場合、スマター・レコードの削除を行いません。ただし、このディテール・ブロックの作成時に「カスケードの削除」オプションが設計のときに指定されている場合は除きます。このオプションが指定されていると、Form BuilderではPRE-DELETEトリガーを使用して、最初にディテール・レコードを削除し、次にマスターを削除します。

Oracleバージョン6が実行中の場合、操作順序は重要ではありません。ただし、標準のPRE-DELETEではなく、POST-DELETEトリガーを使用したアプリケーションでは、主キーと外部キーの関係が宣言されてサーバー側で使用可能となっていると、Oracle8 Serverに対して実行した場合に問題が発生します。

POST-DELETEトリガーがディテール・レコードを削除するまで待ってから、Form Builderからマスター・レコードを対象としたDELETE文が発行されます。一方、ディテール・レコードはそのまま残り、カーネルによりエラーが生成されます。

ORA-02292：violated integrity constraint (OWNER.CONSTRAINT)
-- detail record found

ただし、「ON DELETE CASCADE」オプションにより外部キーの関係が指定されている場合、問題は発生しません。Form BuilderのPOST-DELETEトリガーは、マスターのカスケードの削除によりすでに削除されたディテール・レコードを削除するために、余計なDELETE文を無駄に実行することになります。

したがって、アプリケーションでINSERT、UPDATE、DELETEを実行すると、有効な制約に違反するというエラーの発生を招く可能性があります。


データベース・トリガー権限

  関連項目

適切な権限を持っていれば、Form Builderからデータベース・トリガーを直接作成または編集、コンパイル、参照できます。

実行権限	データベース・トリガーの実行をユーザーに許可します。
作成権限	データベース・トリガーの作成、変更、コンパイルをユーザーに許可します。
コンパイル権限	データベース・トリガーのコンパイルをユーザーに許可します。
削除権限	データベース・トリガーの削除をユーザーに許可します。


データベース・トリガー・エディタ

  関連項目

表所有者コンボ・ボックス	「表所有者」コンボ・ボックスを使用すると、現在エディタに表示されているデータベース・トリガーの所有者を指定できます。
	「表所有者」コンボ・ボックスの新しいエントリを選択すると、「表」コンボ・ボックスが更新され、「名前」リスト（存在する場合）に最初のデータベース・トリガーが表示されます。
表コンボ・ボックス	「表」コンボ・ボックスには、現行ユーザーが所有する表が表示されます。
名前コンボ・ボックス	「名前」コンボ・ボックスには、現在選択されているデータベース・トリガーの名前が表示されます。
	「名前」コンボ・ボックスには、「表所有者」コンボ・ボックスで現在選択されているユーザーが所有している、アクセス可能なデータベース・トリガーがすべて含まれます。データベース・トリガーは、現行ユーザーが実行権限を持つ場合にアクセスできます。
	「名前」コンボ・ボックスの新しいエントリを選択すると、エディタが更新されて、新しく選択したデータベース・トリガーが表示されます。現行データベース・トリガーのソース・テキストが変更されている場合、エディタは「保存されていない変更内容が存在しています。」という警告を表示します。
実行タイミング	データベース・トリガーを定義するとき、トリガーのタイミングを指定できます。つまり、トリガーを実行する文に関連してトリガーの動作が実行される時期を指定できます。タイミングは、トリガーを実行する文の前または後に指定します。
文	トリガーを実行するイベントまたは文は、トリガーを起動するSQL文です。トリガーを実行するイベントは、特定の表に対するINSERTまたはUPDATE、DELETE文があります。
FOR EACH ROWオプション	データベース・トリガーを作成するときは、トリガー制限を指定できます。トリガー制限は、各行ごとに起動されるトリガーに対して使用できるオプションです。この機能は、トリガーの実行を条件に基づいて制御します。トリガー制限は、WHEN句を使用して指定します。
トリガー本体	データベース・トリガーの本体として使用されるPL/SQLコードを指定できます。
作成	現行コード・オブジェクトと同じタイプおよび範囲の新規コード・オブジェクトを作成します。たとえば、現行オブジェクトが項目に付加しているトリガーのとき、「作成」を選択すると、同じ項目に付加した新規トリガーを作成できる「トリガー・リスト」が表示されます。現行オブジェクトがプログラム単位のときは、「作成」を選択すると「新規プログラム単位」ダイアログが表示されます。
保存	「トリガー本体」フィールドのコードのコンパイルおよび保存を行います。コンパイラにより、構文エラー、意味エラーを検出し、存在しないオブジェクトおよびプロシージャ、ファンクションが参照されます。コンパイルに成功すると、ステータス行には、メッセージ<Successfully Compiled>が表示されます。
変更の破棄	エディタが呼び出されてから、あるいは最後の「保存」または「変更の破棄」コマンドが発行されてから行われたすべての変更の取消しを行います。「変更の破棄」は、変更が行われていないときは使用できません。
削除	「削除」コマンドは、既存のデータベース・トリガーの削除、あるいは新規データベース・トリガーの作成中止（確認を求める警告が表示された後）に使用します。
	データベース・トリガーを削除した後、エディタにより、前のデータベース・トリガーがあればそれが「名前」コンボ・ボックスに表示されます。ない場合は、次のデータベース・トリガーが表示されます。現行表所有者に対するデータベース・トリガーがない場合、エディタは空です。
	「削除」ボタンは、データベース・トリガーが新規の場合、または現行ユーザーが現在表示されているデータベース・トリガーに対する削除権限を持っている場合にのみ使用可能になります。
クローズ	「データベース・トリガー・エディタ」をクローズします。
コンパイル・メッセージをクリック	挿入位置を、ソース・コード・フィールド内で検出されたエラーの行に移動します。


データベース・トリガーの作成

 例	     関連項目

データベース・トリガーを作成する方法:

1	オブジェクト・ナビゲータで、「データベース・オブジェクト」ノードを拡張して、スキーマ・ノードを表示します。

2	スキーマ・ノードを拡張して、データベース・オブジェクトを表示します。

3	「表」ノードを拡張して、スキーマのデータベース表を表示します。

4	必要な表を選択して拡張します。

5	「トリガー」ノードを選択して、「ナビゲータ」 [image] 「作成」を選択します。

「データベース・トリガー・エディタ」が表示されます。

6	「データベース・トリガー・エディタ」で、必要なプログラム単位を定義して、保存します。


データベース・トリガーの作成の例

CREATE TRIGGER no_weekend_updates

BEFORE UPDATE
   ON EMP
DECLARE
   day_of_week NUMBER(2) := TO_NUMBER(TO_CHAR(SYSDATE,'D'));
   dummy CHAR(1);
BEGIN
   IF (day_of_week in (1,7))  /* Sunday,Saturday */
   THEN
      BEGIN
         SELECT 'X'/* Check Exceptions Table */
                   INTO dummy
                   FROM WEEKEND_UPDATE_OK
         WHERE USERID = USER;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN /*Not Exception*/
                  RAISE_APPLICATION_ERROR(-20011,
                      'Try again on Monday!');
      END;
   END IF;
END;


データベース・トリガーの変更

  関連項目

データベース・トリガーを変更する方法:

1	オブジェクト・ナビゲータで、「データベース・オブジェクト」ノードを拡張して、スキーマ・ノードを表示します。

2	スキーマ・ノードを拡張して、データベース・オブジェクトを表示します。

3	「表」ノードを拡張して、スキーマのデータベース表を表示します。

4	必要な表を選択して拡張します。

5	「トリガー」ノードを拡張します。

所有するか、それを実行またはコンパイル、削除する権限を持つデータベース・トリガーが表示されます。

6	必要なデータベース・トリガーのアイコンをダブルクリックします。

「データベース・トリガー・エディタ」が表示されます。

7	必要に応じてデータベース・トリガーを変更して、「保存」をクリックします。


システム変数

 例

システム変数は、Form Builderの内部状態を追跡し記録する、Form Builder変数です。アプリケーションの動作を制御するため、システム変数の値を参照することができます。

Form Builderにより、システム変数の値がフォームごとにメンテナンスされます。つまり、すべてのシステム変数の値は、現行のフォームにのみ対応しています。使用可能なシステム変数の名前は次のとおりです。

•	SYSTEM.BLOCK_STATUS

•	SYSTEM.COORDINATION_OPERATION

•	SYSTEM.CURRENT_BLOCK

•	SYSTEM.CURRENT_DATETIME

•	SYSTEM.CURRENT_FORM

•	SYSTEM.CURRENT_ITEM

•	SYSTEM.CURRENT_VALUE

•	SYSTEM.CURSOR_BLOCK

•	SYSTEM.CURSOR_ITEM

•	SYSTEM.CURSOR_RECORD

•	SYSTEM.CURSOR_VALUE

•	SYSTEM.CUSTOM_ITEM_EVENT

•	SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERS

•	SYSTEM.DATE_THRESHOLD*

•	SYSTEM.EFFECTIVE_DATE*

•	SYSTEM.EVENT_WINDOW

•	SYSTEM.FORM_STATUS

•	SYSTEM.LAST_QUERY

•	SYSTEM.LAST_RECORD

•	SYSTEM.MASTER_BLOCK

•	SYSTEM.MESSAGE_LEVEL*

•	SYSTEM.MODE

•	SYSTEM.MOUSE_BUTTON_PRESSED

•	SYSTEM.MOUSE_BUTTON_SHIFT_STATE

•	SYSTEM.MOUSE_ITEM

•	SYSTEM.MOUSE_CANVAS

•	SYSTEM.MOUSE_X_POS

•	SYSTEM.MOUSE_Y_POS

•	SYSTEM.MOUSE_RECORD

•	SYSTEM.MOUSE_RECORD_OFFSET

•	SYSTEM.RECORD_STATUS

•	SYSTEM.SUPPRESS_WORKING*

•	SYSTEM.TAB_NEW_PAGE

•	SYSTEM.TAB_PREVIOUS_PAGE

•	SYSTEM.TRIGGER_BLOCK

•	SYSTEM.TRIGGER_ITEM

•	SYSTEM.TRIGGER_RECORD

アスタリスク（*）で示されている4つ以外のシステム変数はすべて読込み専用の変数です。明示的に値を割り当てることのできるシステム変数は、この4つの変数のみです。Form Builderでは、日付および時間のデフォルト値が6つ用意されています（「日付と時刻のシステム・デフォルト値」を参照）。

ローカル変数

システム変数は導出されるため、値がトリガーの存続期間で変更されない場合は、システム値をローカル変数に保存して、システム変数の値を毎回入手するかわりに、そのローカル変数を何度も使用できます。


日付と時刻のシステム・デフォルト値

Form Builderには、日付と時刻に関する情報を提供する6つの特別なデフォルト値として、$$DATE$$、$$DATETIME$$、$$TIME$$、$$DBDATE$$、$$DBDATETIME$$および$$DBTIME$$があります。これらの変数の使用に関しては次に示すような特別の制限があります。

•	クライアント/サーバーのアプリケーションを作成中の場合、ネットワークを越えて日付・時刻情報を取得することのパフォーマンスへの影響を考慮してください。

•	非ORACLEデータソースにアクセス中の場合、$$DBDATE$$や$$DBDATETIME$$は使用しないでください。かわりに、When-Create-Recordトリガーを使用して、データソースに固有な方法で現在の日付を選択します。

•	$$DATE$$、$$DATETIME$$および$$TIME$$を使用して、ローカル・システムの日付/時刻を取得し、$$DBDATE$$、$$DBDATETIME$$および$$DBTIME$$を使用してデータベースの日付/時刻を取得します。この日付/時刻は、たとえば、タイム・ゾーンの異なるリモート・データベースに接続している場合には、ローカル・システムの日付/時刻と異なることがあります。

•	これらの変数は、「初期値」または「最大許容値」/「最小許容値」の各プロパティの設定のみに使用します。


システム変数の例

現ブロックにしたがってナビゲートする、Key-NXTBLKトリガーをフォーム・レベルで作成する必要があると想定します。次のトリガーにより、このファンクションが実行されます。ローカル変数に格納されているSYSTEM.CURSOR_BLOCKを使用してください。

DECLARE
   curblk VARCHAR2(30);
BEGIN
   curblk := :System.Cursor_Block;
   IF curblk = 'Orders'
      THEN Go_Block('Items');
   ELSIF curblk = 'Items'
      THEN Go_Block('Customers');
   ELSIF curblk = 'Customers'
      THEN Go_Block('Orders');
   END IF;
END;

大文字の戻り値

すべてのシステム変数は大/小文字を区別します。またその多くは、引数を大文字の値に戻します。これは、IF文で結果を比較する方法に影響します。


$$DATE$$システム変数

 例

構文:

$$DATE$$

説明

$$DATE$$により、現行のオペレーティング・システム日付（クライアント側）が検索されます。「初期値」または「最小許容値」/「最大許容値」の各プロパティを使用してテキスト項目にデフォルト値または範囲を指定するには、$$DATE$$を使用します。テキスト項目はCHARあるいはDATE、DATETIMEデータ型です。

フォーム・パラメータに対するデフォルト値として、$$DATE$$を使用します。この場合、パラメータの値はフォームの起動時に1度のみ計算されます。

使用上の注意

$$DATE$$と$$DATETIME$$の違いは、$$DATETIME$$が09:17:59などの有意な時間コンポーネントを含むのに対して、$$DATE$$の時間コンポーネントは、常に00:00:00に固定されています。

システム変数の表示形式は、デフォルトのデータ型書式マスク、あるいはユーザーが指定した書式マスクによって規定されます。たとえば、デフォルトのDD-MON-YY書式を使用するには、DATEデータ型を指定します。（デフォルトの書式マスクは、NLS_LANGの値によって異なります。

$$DATE$$では日付のみが表示されますが、その見えない値には、コミット時間に保存された時間コンポーネントが挿入されています。DATETIMEデータ型を指定して、デフォルトを$$DATE$$とすると、基礎となる値はDD-MON-YYYY HH:MM:SS、つまり、01-DEC-199400:00:00などになります。（ただし、01-DEC-1994のみが表示されます）。

このフィールドと、データ型DATEのSHIPDATEフィールドなどの、書式マスクに時間コンポーネントのないフィールドを比較する場合は、$$DATE$$を使用します。このケースでは、$$DATE$$とSHIPDATEにはどちらも00:00:00の時間コンポーネントがあります。このため、同じ日に評価される2つの日付は正常に比較されます。


$$DATE$$の例

例1

ORDERDATEと呼ばれる、DATEテキスト項目の値を、現行の日付のデフォルトにすると想定します。ORDERDATEテキスト項目を定義する場合、テキスト項目の「初期値」プロパティで$$DATE$$を指定します。

例2

:PARAMETER.STARTUP_DATEなどのパラメータで$$DATE$$を使用する場合、このパラメータを参照するごとに、アプリケーションを開始した日付を使用できます。

IF :PARAMETER.Startup_Date + 1 < :System.Current_Datetime
   THEN Message ('You have been logged on for more than a day.');
ELSE Message ('You just logged on today.');
END IF;


$$DATETIME$$システム変数

 例

構文:

$$DATETIME$$

説明

$$DATETIME$$により、現行のオペレーティング・システム日付と時刻が検索されます。「初期値」または「最小許容値」/「最大許容値」の各プロパティを使用してテキスト項目にデフォルト値または範囲を指定するには、$$DATETIME$$を使用します。テキスト項目はCHARまたはDATETIMEデータ型です。

フォーム・パラメータのデフォルト値として、$$DATETIME$$を使用します。この場合、パラメータの値はフォームの起動時に1度のみ計算されます。

使用上の注意

システム変数の表示形式は、デフォルトのデータ型書式マスク、あるいはユーザーが指定した書式マスクによって規定されます。たとえば、デフォルトのDD-MON-YY HH:MM:SS書式が必要な場合、DATETIMEデータ型を指定する必要があります。（デフォルトの書式マスクは、NLS_LANGの値によって異なります。

$$DATE$$と$$DATETIME$$の違いは、$$DATETIME$$が09:17:59などの有意な時間コンポーネントを含むのに対して、$$DATE$$の時間コンポーネントは、常に00:00:00に固定されています。

注意: 時間コンポーネントの指定時以外は、$$DATE$$のかわりとして$$DATETIME$$を使用しないでください。たとえば、DD-MON-YYのデフォルトDATE書式マスクで$$DATETIME$$を使用すると、書式マスクに時間コンポーネントが挿入されていないため、ユーザーに見えない値をデータベースにコミットすることになります。特定の時間情報にコミットしたため、後で日付を問い合わせたときに値が一致せず、行を復帰できなくなります。


$$DATETIME$$の例

ORDERDATEと呼ばれる、DATETIMEテキスト項目の値を現行のオペレーティング・システム日付と時刻のデフォルトにすると想定します。ORDERDATEテキスト項目を定義する場合、「初期値」プロパティで$$DATETIME$$を指定します。


$$DBDATE$$システム変数

 例 	   制限事項

構文:

$$DBDATE$$

説明

$$DBDATE$$により、現行のデータベース日付が検索されます。「初期値」または「最小許容値」/「最大許容値」の各プロパティを使用してテキスト項目にデフォルト値または範囲を指定するには、$$DBDATE$$を使用します。テキスト項目はCHAR、DATEまたはDATETIMEデータ型です。

使用上の注意

$$DBDATE$$と$$DBDATETIME$$の違いは、$$DBDATETIME$$が09:17:59などの有意な時間コンポーネントを含むのに対して、$$DBDATE$$の時間コンポーネントは、常に00:00:00に固定されています。

サーバ・マシン上の現在の日付をDATE項目のデフォルトにする場合、たとえば、タイム・ゾーンがクライアントと異なる可能性のあるリモート・データベースに接続する場合は、$$DBDATE$$を使用します。

システム変数の表示形式は、デフォルトのデータ型書式マスク、あるいはユーザーが指定した書式マスクによって規定されます。たとえば、デフォルトのDD-MON-YY書式が必要な場合、DATEデータ型を指定する必要があります。（デフォルトの書式マスクは、NLS_LANGの値によって異なります。

$$DBDATE$$では日付のみが表示されますが、その見えない値には、コミット時間に保存された時間コンポーネントが挿入されています。DATETIMEデータ型を指定して、デフォルトを$$DBDATE$$とすると、基礎となる値はDD-MON-YYYY HH:MM:SS、つまり、01-DEC-199400:00:00などになります。（ただし、01-DEC-1994のみが表示されます）。


$$DBDATE$$の制限事項

•	非ORACLEデータソースにアクセス中なら、$$DBDATE$$は使用しないでください。かわりに、When-Create-Recordトリガーを使用して、データソースに固有な方法で現在の日付を選択します。


$$DBDATE$$の例

ORDERDATEと呼ばれる、DATEテキスト項目の値を現行のデータベース日付のデフォルトにする場合は、ORDERDATEテキスト項目に対して、「初期値」プロパティで$$DBDATE$$を指定します。


$$DBDATETIME$$システム変数

 例 	   制限事項

構文:

$$DBDATETIME$$

説明

$$DBDATETIME$$により、ローカル・データベースから現行の日付と時刻が検索されます。「初期値」または「最小許容値」/「最大許容値」の各プロパティを使用してテキスト項目にデフォルト値または範囲を指定するには、$$DBDATETIME$$を使用します。テキスト項目はCHARまたはDATETIMEデータ型です。

使用上の注意

サーバ・マシン上の現在の日付をDATE項目のデフォルトにする場合、たとえば、タイム・ゾーンがクライアントと異なるリモート・データベースに接続する場合は、$$DBDATETIME$$を使用します。

システム変数の表示形式は、デフォルトのデータ型書式マスク、あるいはユーザーが指定した書式マスクによって規定されます。たとえば、デフォルトのDD-MON-YY HH:MM:SS書式が必要な場合、DATETIMEデータ型、またはCHARデータ型を指定する必要があります。（デフォルトの書式マスクは、NLS_LANGの値によって異なります。）

クライアント/サーバー・アプリケーションを構築している場合、ユーザーのネットワーク構成の複雑さによって、$$DBDATETIME$$の使用がパフォーマンスに関係することがあります。

注意: 時間コンポーネントの指定を計画する場合以外は、$$DBDATE$$のかわりとして$$DBDATETIME$$を使用しないでください。たとえば、DD-MON-YYのデフォルトDATE書式マスクで$$DBDATETIME$$を使用すると、書式マスクに時間コンポーネントが挿入されていないため、ユーザーに見えない値をデータベースにコミットすることになります。特定の時間情報にコミットしたため、後で日付を問い合わせたときに値が一致せず、行を復帰できなくなります。


$$DBDATETIME$$の制限事項

非ORACLEデータソースにアクセス中なら、$$DBDATETIME$$は使用しないでください。かわりに、When-Create-Recordトリガーを使用して、データソースに固有な方法で現在と時刻の日付を選択します。


$$DBDATETIME$$の例

ORDERDATEと呼ばれる、DATETIMEテキスト項目の値を現行のデータベース日付と時刻のデフォルトにすると想定します。ORDERDATEテキスト項目を定義する場合、「最小許容値」/「最大許容値」で$$DBDATETIME$$を指定します。


$$DBTIME$$システム変数

 例 	   制限事項

構文:

$$DBTIME$$

説明

$$DBTIME$$により、ローカル・データベースから現行の時刻が検索されます。「初期値」または「最小許容値」/「最大許容値」の各プロパティを使用してテキスト項目にデフォルト値または範囲を指定するには、$$DBTIME$$を使用します。テキスト項目はCHARまたはTIMEデータ型です。

使用上の注意

タイム・ゾーンがクライアントと異なる可能性のあるリモート・データベースに接続するときは、$$DBDATE$$を使用します。

システム変数の表示形式は、デフォルトのデータ型書式マスク、あるいはユーザーが指定した書式マスクによって規定されます。たとえば、デフォルトのHH:MM:SS書式が必要な場合、TIMEデータ型を指定する必要があります。（デフォルトの書式マスクは、NLS_LANGの値によって異なります。

クライアント/サーバー・アプリケーションを構築している場合、ユーザーのネットワーク構成の複雑さによって、$$DBTIME$$の使用がパフォーマンスに関係することがあります。


$$DBTIME$$の制限事項

非ORACLEデータソースにアクセス中なら、$$DBTIME$$は使用しないでください。かわりに、When-Create-Recordトリガーを使用して、データソースに固有な方法で現在の時刻を取得します。


$$DBTIME$$の例

ORDERTIMEと呼ばれる、TIMEテキスト項目の値を現行のデータベース時刻のデフォルトにすると想定します。ORDERTIMEテキスト項目を定義する場合、「初期値」プロパティで$$DBTIME$$を指定します。


$$TIME$$システム変数

 例

構文:

$$TIME$$

説明

$$TIME$$により、現行のオペレーティング・システム時刻が検索されます。「初期値」または「最小許容値」/「最大許容値」の各プロパティを使用してテキスト項目にデフォルト値または範囲を指定するには、$$TIME$$を使用します。テキスト項目はCHARまたはTIMEデータ型です。

また、$$TIME$$をフォーム・パラメータのデフォルト値として使用できます。この場合、パラメータの値はフォームの起動時に1度だけ計算されます。

使用上の注意

システム変数の表示形式は、デフォルトのデータ型書式マスク、あるいはユーザーが指定した書式マスクによって規定されます。たとえば、デフォルトのHH:MM:SS書式が必要な場合、TIMEデータ型を指定する必要があります。（デフォルトの書式マスクは、NLS_LANGの値によって異なります。


$$TIME$$の例

ORDERTIMEと呼ばれる、TIMEテキスト項目の値を、現行のオペレーティング・システム時刻のデフォルトにすると想定します。ORDERTIME項目を定義する場合、「初期値」プロパティで$$TIME$$を指定します。


SYSTEM.BLOCK_STATUSシステム変数

 例 	    関連項目

構文:

SYSTEM.BLOCK_STATUS

説明

SYSTEM.BLOCK_STATUSにより、トリガー処理の際にカーソルが位置しているデータ・ブロック、または現データ・ブロックのステータスが示されます。その値は、次の3つの文字列のうちの1つになります。

CHANGED	変更されたレコードが1つ以上ブロックに含まれていることを示します。
NEW	新規レコードのみがブロックに含まれていることを示します。
QUERY	データベースから取り出された有効レコードのみがブロックに含まれていることを示します。
使用上の注意

毎回、この値が参照されるときは、Form Builderによって組み立てられます。ブロックにレコードが多数ある場合は、SYSTEM.BLOCK_STATUSの使用がパフォーマンスに悪影響を及ぼす可能性があります。


SYSTEM.BLOCK_STATUSの例

ブロック内でコミットに変更がある場合に、ブロックを消去する前にコミットを実行するトリガーを作成する必要があると想定します。次のKey-CLRBLKトリガーによって、この機能が実行されます。

IF :System.Block_Status = 'CHANGED'
   THEN Commit_Form;
END IF;
Clear_Block;


SYSTEM.COORDINATION_OPERATIONシステム変数

  関連項目

構文:

SYSTEM.COORDINATION_OPERATION

説明

このシステム変数はSYSTEM.MASTER_BLOCKと連係して働き、トリガーを開始する調整の原因となる操作タイプと、マスター/ディテール・リレーションのマスター・ブロックを、On-Clear-Detailsトリガーが決定するのに役立ちます。

2つのシステム変数の値は、どのブロックの同期化でも、消去フェーズ全体にわたって一定のまま残ります。SYSTEM.MASTER_BLOCKにより、ドライビング・マスター・ブロックの名前が表示され、SYSTEM.COORDINATION_OPERATIONにより、マスター・ブロックに発生する、調整の原因となるイベントが示されます。

Clear_All_Master_Detailsプロシージャは、リレーションが作成されると自動的に生成されます。これはSYSTEM.COORDINATION_OPERATIONの値をチェックし、CLEAR_RECORDとSYNCHRONIZEイベントの特殊処理を提供します。この処理は、その他の調整の原因となるイベントの処理とは異なる場合があります。Clear_All_Master_Detailsプロシージャは、SYSTEM.MASTER_BLOCKの値もチェックし、リレーション座標のマスター・ブロックの処理で、変更のあるブロックのみが検索されるかを検証します。

たとえば、下に示すようなブロック間のリレーション階層では、[Next Record]キーやRecordを使用して次のレコードに移動すると、ブロックCで使用されたNextメニュー・コマンドは、ブロックE、F、G、Hを消去します（さらにC [image] EやC [image] FのリレーションのDeferred_Coordinationプロパティによっては、これらのブロックは引き続き問合せの対象となることがあります）。

ブロックCのOn-Clear-Detailsトリガーを起動させると、その結果は次のようになります。

:System.Cooordination_Operation   = 'NEXT_RECORD'
:System.Master_Block              = 'C'

Clear_All_Master_Detailsプロシージャは、ブロックCのディテールをすべて消去し、その結果、Clear_Block動作の「連鎖リレーション」が発生します。その結果、ブロックFが消去されます。

FがGとHのマスターであり、消去されているため、ブロックFに対してもOn-Clear-Detailsトリガーが起動されます。ただし、ブロックFの消去はブロックCの調整の原因となるイベントによって（間接的に）駆動されているため、ブロックFのOn-Clear-Detailsトリガーの値が残されます。

:System.Cooordination_Operation   = 'NEXT_RECORD'
:System.Master_Block              = 'C'

注意: この2つのシステム変数の値は、On-Clear-Detailsトリガーの有効範囲のみに明確に定義された値、またはそのトリガーからコールされたプログラム単位です。この限られたコンテキスト以外では、この2つの変数の値は未定義であり、使用しないでください。

その変数のチェックに適しているときのSYSTEM.COORDINATION_OPERATIONに使用できる値は、次の表で説明されています。

値	説明	原因
マウス	現レコード以外のレコードへのマウス移動	マウス
UP	前にあるレコードに移動	メニュー、キー、PL/SQL
DOWN	後ろにあるレコードに移動	メニュー、キー、PL/SQL
上へスクロール	レコードを上へスクロール	メニュー、キー、PL/SQL
下へスクロール	レコードを下へスクロール	マウス、キー、PL/SQL
CLEAR_BLOCK	現ブロック消去	メニュー、キー、PL/SQL
CLEAR_RECORD	現レコード消去	メニュー、キー、PL/SQL
CREATE_RECORD	レコード新規作成	マウス、メニュー、キー、PL/SQL
DELETE_RECORD	現レコード削除	メニュー、キー、PL/SQL
DUPLICATE_RECORD	現レコード複製	メニュー、キー、PL/SQL
FIRST_RECORD	最初のレコードへ移動	PL/SQL
LAST_RECORD	最後のレコードへ移動	PL/SQL
NEXT_RECORD	次のレコードへ移動	マウス、メニュー、キー、PL/SQL
PREVIOUS_RECORD	前のレコードへ移動	マウス、メニュー、キー、PL/SQL
GO_RECORD	番号でレコードへジャンプ	PL/SQL
ENTER_QUERY	問合せモードに入る	メニュー、キー、PL/SQL
EXECUTE_QUERY	問合せ実行	メニュー、キー、PL/SQL
COUNT_QUERY	問合せレコード数のカウント	メニュー、キー、PL/SQL
NEXT_SET	次のレコード・セットのフェッチ	メニュー、キー、PL/SQL
SYNCHRONIZE_ BLOCKS	コミット・エラー後の再開	内部のみ


SYSTEM.CURRENT_BLOCKシステム変数

構文:

SYSTEM.CURRENT_BLOCK

説明

SYSTEM.CURRENT_BLOCKシステム変数によって表示される値は、現行のナビゲーション単位によって異なります。

•	現行のナビゲーション単位が（Pre-、Post-Item、RecordおよびBlockトリガーの単位と同様に）ブロックまたはレコード、項目の場合は、SYSTEM.CURRENT_BLOCKの値はForm Builderで処理されているブロック、またはカーソルが位置しているブロックの名前になります。

•	現行のナビゲーション単位が（Pre-およびPost-Formトリガーの単位と同様に）フォームの場合は、SYSTEM.CURRENT_BLOCKの値はNULLになります。

値は常に文字列です。

注意: SYSTEM.CURRENT_BLOCKは、前バージョンとの互換性を保つために組み込まれています。オラクル社では、かわりにSYSTEM.CURSOR_BLOCKおよびSYSTEM.TRIGGER_BLOCKを使用することをお薦めします。


SYSTEM.CURRENT_DATETIMEシステム変数

 例

構文:

SYSTEM.CURRENT_DATETIME

説明

SYSTEM.CURRENT_DATETIMEは、オペレーティング・システム日付を表示する変数です。次の書式では、値はCHAR文字列です。

DD-MON-YYYY HH24:MM:SS

デフォルト

現行の日付

使用上の注意

PL/SQLトリガーまたはプロシージャで現行のオペレーティング・システム日付と時刻を使用する必要がある場合は、SYSTEM.CURRENT_DATETIMEが役立ちます。$$DBDATETIME$$のかわりにSYSTEM.CURRENT_DATETIMEを使用すると、データベースへの問合せによるパフォーマンスへの影響を避けられます。

注意: ローカル時間とデータベース時間は異なる場合もあります。


SYSTEM.CURRENT_DATETIMEの例

/*

**
** Trigger:WHEN-TIMER-EXPIRED
** Example:Update on-screen time every 30 seconds
*/
DECLARE
   time VARCHAR2(20);
BEGIN
   time := :System.Current_Datetime;
   :control.onscreen := SUBSTR(time, instr(time,' ')+1);
END;


SYSTEM.CURRENT_FORMシステム変数

 例

構文:

SYSTEM.CURRENT_FORM

説明

SYSTEM.CURRENT_FORMにより、Form Builderで実行されるフォームの名前が表示されます。値は常に文字列です。

使用上の注意

現行のフォームの名前を取得するには、GET_APPLICATION_PROPERTYビルトイン処理を使用できます。


SYSTEM.CURRENT_FORMの例

コール先フォームで、それをコールしたフォームの名前を識別できるようにする必要があると想定します。Form Builderがコールを発行する前に、次のユーザー定義プロシージャを起動することができます。このプロシージャによって、CALLING_FORMという名前のグローバル変数に、現行のフォームの名前が格納されます。

PROCEDURE STORE_FORMNAME IS
BEGIN
   :GLOBAL.Calling_Form := :System.Current_Form;
END;


SYSTEM.CURRENT_ITEMシステム変数

  関連項目

構文:

SYSTEM.CURRENT_ITEM

説明

SYSTEM.CURRENT_ITEMシステム変数によって表示される値は、現行のナビゲーション単位によって異なります。

•	現行のナビゲーション単位が（Pre-およびPost-Itemトリガーと同様に）項目の場合は、SYSTEM.CURRENT_ITEMの値はForm Builderで処理されている項目、またはカーソルが位置している項目の名前になります。戻り項目の名前には、ブロック名接頭辞は挿入されません。

•	現行のナビゲーション単位が（Pre-およびPost-Record、Block、Formトリガーの単位と同様に）レコードまたはブロック、フォームの場合は、SYSTEM.CURRENT_ITEMの値はNULLになります。

値は常に文字列です。

注意: SYSTEM.CURRENT_ITEMは、前バージョンとの互換性を保つために組み込まれています。オラクル社では、かわりにSYSTEM.CURSOR_ITEMまたはSYSTEM.TRIGGER_ITEMを使用することをお薦めします。


SYSTEM.CURRENT_VALUEシステム変数

構文:

SYSTEM.CURRENT_VALUE

説明

SYSTEM.CURRENT_VALUEにより、SYSTEM.CURRENT_ITEMに登録された項目の値が表示されます。

値は常に文字列です。

注意: SYSTEM.CURRENT_VALUEは、前バージョンとの互換性を保つために組み込まれています。オラクル社では、かわりにSYSTEM.CURSOR_ITEMおよびSYSTEM.CURSOR_VALUEを使用することをお薦めします。


SYSTEM.CURSOR_BLOCKシステム変数

  例

構文:

SYSTEM.CURSOR_BLOCK

説明

SYSTEM.CURSOR_BLOCKシステム変数によって表示される値は、現行のナビゲーション単位によって異なります。

•	現行のナビゲーション単位が（Pre-およびPost-Item、Record、Blockトリガーの単位と同様に）ブロックまたはレコード、項目の場合は、SYSTEM.CURSOR_BLOCKの値はカーソルが位置しているブロックの名前になります。値は常に文字列です。

•	現行のナビゲーション単位が（Pre-およびPost-Formトリガーの単位と同様に）フォームの場合は、SYSTEM.CURSOR_BLOCKの値はNULLになります。


SYSTEM.CURSOR_BLOCKの例

現ブロックにしたがってナビゲートする、Key-NXTBLKトリガーをフォーム・レベルで作成する必要があると想定します。次のトリガーにより、このファンクションが実行されます。ローカル変数に格納されているSYSTEM.CURSOR_BLOCKを使用してください。

DECLARE
   curblk VARCHAR2(30);
BEGIN
   curblk := :System.Cursor_Block;
   IF curblk = 'ORDERS'
      THEN Go_Block('ITEMS');
   ELSIF curblk = 'ITEMS'
      THEN Go_Block('CUSTOMERS');
   ELSIF curblk = 'CUSTOMERS'
      THEN Go_Block('ORDERS');
   END IF;
END;


SYSTEM.CURSOR_ITEMシステム変数

 例 	   制限事項

構文:

SYSTEM.CURSOR_ITEM

説明

SYSTEM.CURSOR_ITEMにより、入力フォーカス（カーソル）が位置しているブロックおよび項目、ブロック項目の名前が表示されます。

値は常に文字列です。

使用上の注意

提供されたトリガー内では、ナビゲーションを実行する場合、SYSTEM.CURSOR_ITEMの値が変更されます。これは、シングル・トリガーの開始から終わりまで同じままのSYSTEM.TRIGGER_ITEMとは異なります。


SYSTEM.CURSOR_ITEMの制限事項

現行のナビゲーション単位が項目でないトリガー、つまりPre-およびPost-Record、Block、Formトリガーの場合は、SYSTEM.CURSOR_ITEMの使用は避けてください。このようなトリガーでは、SYSTEM.CURSOR_ITEMの値はNULLになります。


SYSTEM.CURSOR_ITEMの例

カーソルが位置している項目の値（SYSTEM.CURSOR_VALUEにより表示される値）を取り、その値に定数を乗算し、さらに修正された値を同じ項目に読み込むユーザー定義プロシージャを作成する必要があると想定します。次のユーザー定義プロシージャでは、COPYビルトイン処理が使用され、このファンクションが実行されます。

PROCEDURE CALC_VALUE IS
   new_value NUMBER;
BEGIN
   new_value := TO_NUMBER(:System.Cursor_Value) * .06;
   Copy(TO_CHAR(new_value), :System.Cursor_Item);
END;


SYSTEM.CURSOR_RECORDシステム変数

 例

構文:

SYSTEM.CURSOR_RECORD

説明

SYSTEM.CURSOR_RECORDにより、カーソルが位置しているレコードの番号が表示されます。この数字は、ブロックのレコード・リスト内のレコードの現在の物理順序です。値は常に文字列です。


SYSTEM.CURSOR_RECORDの例

現レコードが最初のレコードの場合、ITEMSブロックの最初のテキスト項目で「Previous Item」を再定義して、ORDERSブロックの最後のテキスト項目までナビゲートする必要があると想定します。ITEMS.ORDERIDテキスト項目に、次のKey-PRV-ITEMトリガーを指定すれば、このファンクションが実行されます。

IF :System.Cursor_Record = '1'
   THEN Go_Item('orders.total');
   ELSE Previous_Item;
END IF;


SYSTEM.CURSOR_VALUEシステム変数

 例 	   制限事項

構文:

SYSTEM.CURSOR_VALUE

説明

SYSTEM.CURSOR_VALUEにより、カーソルが位置している項目の値が表示されます。値は常に文字列です。

使用上の注意

現行のナビゲーション単位が項目でないトリガー、つまりPre-RecordおよびPre-Blockの各トリガーの場合は、SYSTEM.CURSOR_VALUEには、ナビゲート先の項目の値ではなく、ナビゲート元の項目の値が挿入されることに注意してください。


SYSTEM.CURSOR_VALUEの制限事項

•	Pre-FormトリガーおよびPost-Formトリガーでは、SYSTEM.CURSOR_VALUEの使用は避けてください。ここではSYSTEM.CURSOR_VALUEの値はNULLになります。


SYSTEM.CURSOR_VALUEの例

カーソルが位置している項目の値を取り、その値に定数を乗算し、さらに修正された値を同じ項目に読み込むユーザー定義プロシージャを作成する必要があると想定します。次のユーザー定義プロシージャでは、COPYビルトイン処理が使用され、このファンクションが実行されます。

PROCEDURE CALC_VALUE IS
   new_value NUMBER;
BEGIN
   new_value := TO_NUMBER(:System.Cursor_Value) * .06;
   Copy(TO_CHAR(new_value), :System.Cursor_Item);
END;


SYSTEM.CUSTOM_ITEM_EVENTシステム変数

 例

構文:

SYSTEM.CUSTOM_ITEM_EVENT

説明

SYSTEM.CUSTOM_ITEM_EVENTには、VBXコントロール（16ビットのMicrosoft Windowsの場合）またはActiveXコントロール（32ビットWindowsの場合）で起動されるイベントの名前が格納されます。


SYSTEM.CUSTOM_ITEM_EVENTの例

前の項目へナビゲートする前に、SpinButton#VBXコントロールでSpinDownイベントが起動されたかどうかをチェックしてください。

IF  :System.Custom_Item_Event = 'SpinDown' THEN
 :QTY := :QTY -1;
END IF;


SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERSシステム変数

 例

構文:

SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERS

説明

SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERSには、VBXコントロール（16ビットのMicrosoft Windowsの場合）またはActiveXコントロール（32ビットWindowsの場合）で起動されるイベントの補足的な引数が格納されます。


SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERSの例

VBXコントロール・イベントの値が入っている'Button'パラメータの値を取得し、'Button'値をユーザー定義のMove_Imageサブプログラムに渡します。

DECLARE
 parmType  NUMBER;
 parmValue VARCHAR2(80);
BEGIN
 Get_Parameter_Attr(:System.Custom_Item_Event_Parameters,
                      'Button',parmType,parmValue);
 /*
 ** The value of the 'Button' parameter represents the
 ** direction to move an image.The user-defined Move_Image
 ** subprogram moves an image two pixels in the direction
 ** specified by 'Button' parameter.
 */
 Move_Image(parmValue);
END;


SYSTEM.DATE_THRESHOLDシステム変数

構文:

SYSTEM.DATE_THRESHOLD

説明

SYSTEM.DATE_THRESHOLDにより、データベース日付の再問合せしきい値が表示されます。この変数は$$DBDATE$$、$$DBDATETIME$$および$$DBTIME$$の3つのシステム変数と連係して働き、Form Builderがデータベース日付をRDBMSに同期化する頻度を制御します。この変数の値は、次の書式で指定する必要があります。

MI:SS

RDBMSの頻繁な問合せはパフォーマンスを低下させるため、この値を合理的な高さに保持することをお薦めします。ただし、この値の同期化の頻度が十分でないと、矛盾が生じる場合があることに注意してください。また、クライアント/サーバー・アプリケーションを構築している場合、ネットワーク構成の複雑さによって、SYSTEM.DATE_THRESHOLDのパフォーマンスが変わることがあります。

デフォルト

01:00（経過時間1分後に同期化実行。

これは、1分おきにForm BuilderでRDBMSがポーリングされるわけではありません。Form Builderは、システム変数$$DBDATE$$、$$DBDATETIME$$、$$DBTIME$$またはSYSTEM.EFFECTIVE_DATEの値を生成する必要がある場合は、常に（ローカル・オペレーティング・システムで計測した）経過時間の合計を最後に問い合せたRDBMS値に追加して、有効な日付を更新します。

経過時間の合計が日付のしきい値を超過している場合、RDBMS時間を検索するための新規問合せが実行され、経過カウンターがリセットされます。

使用上の注意

フォームでデータベース日付が参照されない場合、SYSTEM.DATE_THRESHOLDの値に関わらず、Form BuilderによるRDBMS日付の検索問合せは実行されません。

オペレーティング・システム・クロックとRDBMSクロックは、数時間経過した後でも、1、2秒もずれることはほとんどありません。ただし、データベース管理者は、RDBMSクロックをいつでも再設定できるため、安全上、しきい値を2、3分ほどに設定しておくことをお薦めします。

Form Builderの1ブロックには、このような$$DBDATE$$、$$DBDATETIME$$または$$DBTIME$$デフォルトへの複数の参照が含まれていることがあります。SYSTEM.DATE_THRESHOLDをデフォルトで1分に設定すれば、1つのフォームのほとんどの参照を、RDBMSの単一の問合せで満たすことができます。


SYSTEM.EFFECTIVE_DATEシステム変数

 例 	   制限事項

構文:

SYSTEM.EFFECTIVE_DATE

説明

SYSTEM.EFFECTIVE_DATEにより、有効なデータベース日付が表示されます。この変数の値は、常に次の書式にする必要があります。

DD-MON-YYYY HH24:MI:SS

デフォルト

RDBMS日付

使用上の注意

このシステム変数はテストに便利です。これを特定の時刻の設定に使用できるため、アプリケーション中の画面の時刻では、後続のテスト結果は、既知の有効出力を異なっていると表示されません。


SYSTEM.EFFECTIVE_DATEの制限事項

この変数は、データベースにDUAL表の定義が含まれている場合にのみ有効です。


SYSTEM.EFFECTIVE_DATEの例

DATEまたはTIMEのテキスト項目を3つのシステム変数$$DBDATE$$、$$DBDATETIME$$または$$DBTIME$$の一つにセットしたとします。その日付または時間を上書きする場合は、SYSTEM.EFFECTIVE_DATEシステム変数を特定の日付/時間に設定することができます。

:System.Effective_Date := '31-DEC-1997 10:59:00'

有効日付は、データベースのクロックでは「進む」ことにご注意ください。たとえば、前述の例にある日付を時間単位で設定すると、日付は次のように表示されます。

31-DEC-1997 11:59:00

値はRDBMS日付と同期化されます。データベース管理者がRDBMS日付を変更する場合、SYSTEM.EFFECTIVE_DATEは、旧RDBMS日付と新規RDBMS日付の間の変更と同じだけ自動的に変更されます。アプリケーションで有効日付の参照が必要な場合はいつでも、Form BuilderによってRDBMSがポーリングされます。


SYSTEM.EVENT_WINDOWシステム変数

  例 	  関連項目

構文:

SYSTEM.EVENT_WINDOW

説明

SYSTEM.EVENT_WINDOWシステム変数により、ウィンドウ・イベント・トリガーの1つを起動したアクションの対象となった、最後のウィンドウの名前が表示されます。次のトリガーにより、この変数が更新されます。

•	WHEN-WINDOW-ACTIVATED

•	WHEN-WINDOW-CLOSED

•	WHEN-WINDOW-DEACTIVATED

•	WHEN-WINDOW-RESIZED

このようなトリガーから、変数の値を次のものに割り当てます。

•	グローバル変数

•	パラメータ

•	変数

•	NULLキャンバス項目を含む項目


SYSTEM.EVENT_WINDOWの例

次の例では、対象となるウィンドウに従って、入力フォーカスを特定の項目に設定します。

IF :System.Event_Window = 'ROOT_WINDOW' THEN
   Go_Item('EMPNO');
ELSIF :System.Event_Window = 'DEPT_WINDOW' THEN
   Go_Item('DEPTNO');
END IF;


SYSTEM.FORM_STATUSシステム変数

 例 	    関連項目

構文:

SYSTEM.FORM_STATUS

説明

SYSTEM.FORM_STATUSにより、現行のフォームの状態が表示されます。その値は、次の3つの文字列のうちの1つになります。

CHANGED	変更されたレコードのあるブロックが1つ以上フォームに含まれていることを示します。フォームのレコードが1つ以上変更され、対応するナビゲーション単位も変更された後にのみ、SYSTEM.FORM_STATUSの値がCHANGEDになります。
NEW	新規レコードのみがフォームに含まれていることを示します。
QUERY	問合せがオープンになっていることを示します。フォームには、「問合せ」レコードがあるブロックが少なくとも1つは含まれますが、「変更」レコードのあるブロックは含まれません。
使用上の注意

毎回、この値が参照されるときは、Form Builderによって組み立てられます。フォームに多数のブロックとレコードが含まれている場合、SYSTEM.FORM_STATUSの使用はパフォーマンスに影響する可能性があります。


SYSTEM.FORM_STATUSの例

フォーム内でコミットに変更がある場合に、フォームを消去する前にコミットを実行するトリガーを作成する必要があると想定します。次のKey-CLRFRMトリガーによって、このファンクションが実行されます。

IF :System.Form_Status = 'CHANGED'
   THEN Commit_Form;
END IF;
Clear_Form;


SYSTEM.LAST_FORMシステム変数

構文:

SYSTEM.LAST_FORM

説明

SYSTEM.LAST_FORMにより、複数フォーム・アプリケーションの前のフォームの文書IDが表示されます。ここでは、OPEN_FORMを使用して複数のフォームが起動されています。その値は、フォーム文書IDあるいはNULLの2つの文字列のうちのどちらかになります。

使用上の注意

SYSTEM.LAST_FORMはCALL_FORMと同時には有効になりません。


SYSTEM.LAST_QUERYシステム変数

 例

構文:

SYSTEM.LAST_QUERY

説明

現行のランフォーム・セッション中に、SYSTEM.LAST_QUERYにより、ブロックの挿入のためにForm Builderで最近使用された問合せSELECT文が表示されます。値は常に文字列です。


SYSTEM.LAST_QUERYの例

例1

Form Builderで実行する問合せと同一の情報を検索するレポートを、Report Builderで生成する必要があると想定します。次の例では、最後の問合せから句ごとにWHERE/ORDERを抽出し、その結果をRUN_PRODUCTビルトイン処理を使用してReport Builderに渡すためのSYSTEM.LAST_QUERYの使用方法が表示されています。

FUNCTION Last_Where_Clause
RETURN VARCHAR2
  IS
    tmp_lstqry VARCHAR2(10000) := :System.Last_Query;
    tmp_curblk VARCHAR2(40);
    tmp_index  NUMBER;
    tmp_where  VARCHAR2(2000);
  BEGIN
    /*
    ** See if we can find the word 'WHERE' in
    ** the text of the Last Query
    */
    tmp_index:= INSTR(tmp_lstqry,'WHERE');
    /*
    ** If we found it (at a positive index into
    ** the string), we extract the remainder of
    ** the text that follows the word 'WHERE' as
    ** the Where clause.This might include ORDER BY
    ** clause, too.
    */
    IF tmp_index > 0 THEN
      tmp_where := SUBSTR(tmp_lstqry, tmp_index + 6);
    END IF;
    RETURN (tmp_where);
EXCEPTION
  WHEN OTHERS THEN
    RETURN NULL;
END;

例2

PROCEDURE Run_Report_For_Last_Query

IS
   pl  ParamList;
   wc  VARCHAR2(2000); -- The Where Clause to Pass
BEGIN
   /*
   ** Create a parameter list for parameter passing
   */
   pl := Create_Parameter_List('tmp');
   /*
   ** Get the Where Clause from the Last Query
   ** using a user-defined function
   */
   wc := Last_Where_Clause;
   /*
   ** If there is a Non-NULL Last Where clause to
   ** pass, add a text parameter to the parameter
   ** list to specify the parameter name and its
   ** value.In this case the report definition has
   ** a parameter named 'the_Where_Clause' that
   ** it's expecting.
   */
   IF wc IS NOT NULL THEN
      Add_Parameter(pl,                  -- Handle to
                                         -- the ParamList
            'the_Where_Clause',          -- Name of Parameter
                                         -- in the Report
            TEXT_PARAMETER,              -- Type of Parameter
            wc                           -- String Value
                                         -- for Parameter
            );
   END IF;
   /*
   ** Launch the report, passing parameters in the
   ** parameter list.
   */
   Run_Product(REPORTS,              -- The Product to call
                'rep0058.rdf',       -- The name of the
                                     -- report definition
                SYNCHRONOUS,         -- The communications mode
                BATCH,               -- The Execution Mode
                FILESYSTEM,          -- The Location of the
                                     -- reports document
                pl                   -- The Handle to the
      );                                -- parameter list
   /*   Delete the parameter list  */
   Destroy_Parameter_List(pl);
END;


SYSTEM.LAST_RECORDシステム変数

 例

構文:

SYSTEM.LAST_RECORD

説明

SYSTEM.LAST_RECORDは、現在のレコードがブロックのレコード・リストの最後のレコードかどうかを示します。この値は次の2つのCHAR値のうちの1つになります。

TRUE	現在のレコードが現在のブロックのレコード・リストの最後のレコードであることを示しています。
FALSE	現在のレコードが現在のブロックのレコード・リストの最後のレコードではないことを示しています。


SYSTEM.LAST_RECORDの例

オペレータがブロックのレコード・リストの最後のレコードにナビゲートしたときに、カスタム・メッセージを表示するユーザー定義プロシージャを作成するとします。次のユーザー定義プロシージャにより、基本機能が実行されます。

PROCEDURE LAST_RECORD_MESSAGE IS
BEGIN
   IF :System.Last_Record = 'TRUE'
      THEN Message('最後の行です');
   END IF;
END;

標準処理に加えて、[Down]、[Next Record]および[Scroll Down]を再定義して、ユーザー定義プロシージャをコールすることができます。


SYSTEM.MASTER_BLOCKシステム変数

構文:

SYSTEM.MASTER_BLOCK

説明

このシステム変数はSYSTEM.COORDINATION_OPERATIONと連係して働き、トリガーを開始する調整の原因となる操作タイプと、マスター/ディテール・リレーションのマスター・ブロックを、On-Clear-Detailsトリガーが決定するのに役立ちます。

2つのシステム変数の値は、どのブロックの同期化でも、消去フェーズ全体にわたって一定のまま残ります。SYSTEM.MASTER_BLOCKにより、ドライビング・マスター・ブロックの名前が表示され、SYSTEM_COORDINATION_OPERATIONにより、マスター・ブロックに発生する、調整の原因となるイベントが示されます。

詳細は、SYSTEM.COORDINATION_OPERATIONのリファレンス項目を参照してください。


SYSTEM.MESSAGE_LEVELシステム変数

 例

構文:

SYSTEM.MESSAGE_LEVEL

説明

SYSTEM.MESSAGE_LEVELは、メッセージの重大度レベル（0、10、15、20または25）の1つを格納します。デフォルト値は0です。

SYSTEM.MESSAGE_LEVELは、文字列または数値のどちらにも設定できます。0～25の間の任意の値を割り当てることができます。0より小さい値または25を超える値を指定すると、エラーが生成されます。

ランフォーム・セッション中、Form Builderでは、指示された重大度レベルと同一、またはそのレベルより低い（重大でない）重大度レベルのメッセージはすべて抑制されます。

標準PL/SQL構文で、SYSTEM.MESSAGE_LEVELシステム変数に値を割り当てます。

:System.Message_Level := value;

SYSTEM.MESSAGE_LEVELの正当な値は0、5、10、15、20および25です。ユーザーが選択する重大度レベルに関係なく、Form Builderは、プロンプトや重要なエラー・メッセージの抑止はしません。


SYSTEM.MESSAGE_LEVELの例

Form Builderで、最も重大なメッセージ（レベル25）のみを表示する必要があると想定します。次のPre-Formトリガーでは、レベル20以下のメッセージはすべて抑制されます。

:System.Message_Level := '20';


SYSTEM.MODEシステム変数

 例

構文:

SYSTEM.MODE

説明

SYSTEM.MODEにより、フォームが標準あるいは問合せ入力、フェッチ処理モードのどれであるかが示されます。値は常に文字列です。

NORMAL	フォームが現在通常処理モードであることを示します。
ENTER-QUERY	フォームが現在問合せ入力モードであることを示します。
QUERY	フォームが現在フェッチ処理モードであり、問合せを処理中であることを示します。
使用上の注意

SYSTEM.MODEを使用して現ブロックが問合せ入力モードであるかどうかをチェックするときに、制御ブロックでWhen-Button-Pressedトリガーからテストする場合は、制御ブロックが現ブロックでないため、問合せ入力モードにはならないことに注意してください。


SYSTEM.MODEの例

オペレータが問合せモードに入り、入力フォーカスが特定のテキスト項目にある場合に、Form Builderで値リストを表示する必要があると想定します。次のトリガーで、その操作が完了します。

/*
** When-New-Item-Instance Trigger
*/
BEGIN
   IF :System.Cursor_Item = 'EMP.EMPNO' and
     :System.Mode = 'ENTER-QUERY'
   THEN
      IF NOT Show_Lov('my_lov') THEN
         RAISE Form_Trigger_Failure;
   END IF;
END;


SYSTEM.MOUSE_BUTTON_MODIFIERSシステム変数

構文:

SYSTEM.MOUSE_BUTTON_MODIFIERS

説明

SYSTEM.MOUSE_BUTTON_MODIFIERSは、SHIFT、ALTまたはCONTROLなど、クリックの間に押下されたキーを表します。値は常に文字列です。

たとえば、オペレータがマウス・ボタンを押しながら[Ctrl]キーと[Shift]キーを押すと、SYSTEM.MOUSE_BUTTON_MODIFIERの内容は「Shift+Control+」という値になります。

この変数によって戻される値は、すべてのプラットフォーム間で一様であり、言語が異なっても変化しません。SYSTEM.MOUSE_BUTTON_SHIFT_STATEのかわりに、SYSTEM.MOUSE_BUTTON_MODIFIERSを使用することをお薦めします。

指定できる値は次のとおりです。「Shift+」、「Caps Lock+」、「Control+」、「Alt+」、「Command+」、「Super+」、「Hyper+」


SYSTEM.MOUSE_BUTTON_PRESSEDシステム変数

 例 	 関連項目

構文:

SYSTEM.MOUSE_BUTTON_PRESSED

説明

SYSTEM.MOUSE_BUTTON_PRESSEDは、クリックされたボタン番号を1、2、3（左、中央、右）のいずれかで表します。値は常に文字列です。

注意:

Motifプラットフォームではマウス右ボタンをクリックしてもSYSTEM.MOUSE_BUTTON_PRESSEDの値は設定されません。


SYSTEM.MOUSE_BUTTON_PRESSEDの例

/*

**  Trigger:When-Mouse-Click
**  Example:When mouse button 1 is pressed,
**            a help window appears.
*/
DECLARE
   the_button_pressed  VARCHAR(1);
BEGIN
   the_button_pressed := :System.Mouse_Button_Pressed;
   IF the_button_pressed = '1' THEN
      Show_Window('online_help',20,5);
   END IF;
END;


SYSTEM.MOUSE_BUTTON_SHIFT_STATEシステム変数

 例 	 関連項目

構文:

SYSTEM.MOUSE_BUTTON_SHIFT_STATE

説明

SYSTEM.MOUSE_BUTTON_SHIFT_STATEにより、SHIFTあるいはALT、CONTROLなどのクリックするときに押すキーが示されます。値は常に文字列です。文字列自身は、ユーザのプラットフォームの影響を受けることがあります。たとえば、Microsoft Windowsでは、復帰した文字列はオペレーティング・システムの言語に含まれます。

押すキー	値
SHIFT	Shift+
CONTROL	Ctrl+
ALT	Alt+
SHIFT+CONTROL	Shift+Ctrl+


SYSTEM.MOUSE_BUTTON_SHIFT_STATEの例

/*

**  Trigger:When-Mouse-Click
**  Example:If the operator presses down on the Shift key and
**            then clicks on a boilerplate image, a window
**            appears.
*/
DECLARE
   key_pressed  VARCHAR(30) := 'FALSE';
   x_position_clicked NUMBER(30);
   y_position_clicked NUMBER(30);

BEGIN
   key_pressed := :System.Mouse_Button_Shift_State;
   x_position_clicked := To_Number(:System.Mouse_X_Pos);
   y_position_clicked := To_Number(:System.Mouse_Y_Pos);
/*
**  If the operator shift-clicked within the x and y
**  coordinates of a boilerplate image, display a window.
*/
   IF  key_pressed = 'Shift+' AND x_position_clicked
      BETWEEN 10 AND 20 AND y_position_clicked BETWEEN 10
      AND 20 THEN
      Show_Window('boilerplate_image_window');
   END IF;
END;


SYSTEM.MOUSE_CANVASシステム変数

  例 	   関連項目

構文:

SYSTEM.MOUSE_CANVAS

説明

マウスがキャンバス内に位置している場合、SYSTEM.MOUSE_CANVASでは、そのキャンバスの名前はCHAR値として表示されます。マウスが項目内に位置している場合は、その項目を含むキャンバス名がこの変数によって表示されます。

次の場合は、SYSTEM.MOUSE_CANVASはNULLになります。

•	マウスがキャンバス外にある場合。

•	オペレータがマウスの左ボタンを押し、マウスを移動する場合。

•	プラットフォームがGUI以外のものである場合。


SYSTEM.MOUSE_CANVASの例

/*

**  Trigger:When-Mouse-Move
**  Example:When the mouse enters any one of several overlapping
**            canvases, Form Builder brings that canvas to the
**            front.
*/
DECLARE
   canvas_to_front  VARCHAR(50);
BEGIN
   canvas_to_front := :System.Mouse_Canvas;
   Show_View(canvas_to_front);
END;


SYSTEM.MOUSE_FORMシステム変数

 関連項目

構文:

SYSTEM.MOUSE_FORM

説明

マウスがフォーム文書に位置している場合、SYSTEM.MOUSE_FORMでは、そのフォーム文書の名前はCHAR値として表示されます。たとえば、マウスがForm_Module1に位置する場合は、SYSTEM.MOUSE_ITEMの値はFORM_MODULE1になります。

注意: プラットフォームがGUIプラットフォームでない場合は、SYSTEM.MOUSE_FORMがNULLになります。


SYSTEM.MOUSE_ITEMシステム変数

 例 	 	 関連項目

構文:

SYSTEM.MOUSE_ITEM

説明

マウスが項目内に位置している場合、SYSTEM.MOUSE_ITEMでは、その項目の名前はCHAR値として表示されます。たとえば、マウスがブロック2の項目1に位置する場合は、SYSTEM.MOUSE_ITEMの値は:BLOCK2.ITEM1になります。

次の場合は、SYSTEM.MOUSE_ITEMはNULLになります。

•	マウスが項目外にある場合。

•	オペレータがマウスの左ボタンを押し、マウスを移動する場合。

•	プラットフォームがGUI以外のものである場合。


SYSTEM.MOUSE_ITEMの例

/* Trigger:  When-Mouse-Click
**   Example:  Dynamically repositions an item if:
**             1) the operator clicks mouse button 2
**                on an item and
**             2) the operator subsequently clicks mouse button
**                2 on an area of the canvas that is
**                not directly on top of another item.
*/
DECLARE
   item_to_move       VARCHAR(50);
   the_button_pressed VARCHAR(50);
   target_x_position  NUMBER(3);
   target_y_position  NUMBER(3);
   the_button_pressed VARCHAR(1);
BEGIN
   /* Get the name of the item that was clicked.
   */
   item_to_move := :System.Mouse_Item;
   the_button_pressed := :System.Mouse_Button_Pressed;
   /*
   **  If the mouse was clicked on an area of a canvas that is
   **  not directly on top of another item, move the item to
   **  the new mouse location.
   */
   IF item_to_move IS NOT NULL AND the_button_pressed =  '2' THEN
      target_x_position := To_Number(:System.Mouse_X_Pos);
      target_y_position := To_Number(:System.Mouse_Y_Pos);
      Set_Item_Property(item_to_move,position,
          target_x_position,target_y_position);
      target_x_position := NULL;
      target_y_position := NULL;
      item_to_move := NULL;
   END IF;
END;


SYSTEM.MOUSE_RECORDシステム変数

 例 	 関連項目

構文:

SYSTEM.MOUSE_RECORD

説明

マウスがレコード内にあると、SYSTEM.MOUSE_RECORDはそのレコードのレコード番号をCHAR値として示します。

注意: マウスが項目外にある（つまりレコード内に位置していない）場合、SYSTEM.MOUSE_RECORDは0になります。


SYSTEM.MOUSE_RECORDの例

/*

**  Trigger:When-Mouse-Move
**  Example:If the mouse is within a record, display a window
**            that contains an editing toolbar.
*/
DECLARE
   mouse_in_record  NUMBER(7);
BEGIN
   mouse_in_record := To_Number(:System.Mouse_Record);

   IF mouse_in_record > 0 THEN
      Show_Window('editing_toolbar');
   END IF;
END;


SYSTEM.MOUSE_RECORD_OFFSETシステム変数

  関連項目

構文:

SYSTEM.MOUSE_RECORD_OFFSET

説明

マウスがレコード内に位置している場合、SYSTEM.MOUSE_RECORD_OFFSETでは、最初に参照できるレコードからのオフセットがCHAR値として表示されます。SYSTEM.MOUSE_RECORD_OFFSETは、マウス・トリガー内でのみ有効です。この値は、可視行のうち、どの行でマウスがクリックされたかを示します。

たとえば、マウスがマルチ・レコード・ブロック内の参照可能な5つのレコードの2番目にあるときは、SYSTEM.MOUSE_RECORD_OFFSETは2です。

注意: マウスが項目外にある（つまりレコード内に位置していない）場合、SYSTEM.MOUSE_RECORD_OFFSETは0になります。


SYSTEM.MOUSE_X_POSシステム変数

 例 	 	 関連項目

構文:

SYSTEM.MOUSE_X_POS

説明

SYSTEM.MOUSE_X_POSでは、現行のフォーム座標システムの単位で、マウスのX座標が（CHAR値として）表示されます。マウスが項目内にある場合、値は項目の境界線の左上隅からの相対位置です。マウスがキャンバスに位置する場合は、値はそのキャンバスの左上隅を基準とします。

注意: 文字モード・プラットフォームでは、SYSTEM.MOUSE_X_POSが常にNULLになります。


SYSTEM.MOUSE_X_POSの例

/*

**  Example:See SYSTEM.MOUSE_ITEM  and
**            SYSTEM.MOUSE_BUTTON_SHIFT_STATE.
*/


SYSTEM.MOUSE_Y_POSシステム変数

 例 	 関連項目

構文:

SYSTEM.MOUSE_Y_POS

説明

SYSTEM.MOUSE_Y_POSでは、現行の座標システムの単位で、マウスのY座標が（CHAR値として）表示されます。マウスが項目内にある場合、値は項目の境界線の左上隅からの相対位置です。マウスがキャンバスに位置する場合は、値はそのキャンバスの左上隅を基準とします。

注意: 文字モード・プラットフォームでは、SYSTEM.MOUSE_Y_POSが常にNULLになります。


SYSTEM.MOUSE_Y_POSの例

/*

**  Example:See SYSTEM.MOUSE_ITEM and
**            SYSTEM.MOUSE_BUTTON_SHIFT_STATE.
*/


SYSTEM.RECORD_STATUSシステム変数

 例 	    関連項目

構文:

SYSTEM.RECORD_STATUS

説明

SYSTEM.RECORD_STATUSにより、カーソルが位置しているレコードの状態が表示されます。その値は、次の4つの文字列のうちの1つになります。

CHANGED	問合せのあったレコードの検証ステータスがChangedであることを示します。
INSERT	レコードの検証ステータスがChangedであり、このレコードはデータベースに存在しないことを示します。
NEW	レコードの検証ステータスがNewであることを示します。
QUERY	レコードの検証ステータスが有効で、データベースから検索されたことを示します。
使用上の注意

SYSTEM.RECORD_STATUSおよびGET_RECORD_PROPERTYビルトイン処理は、どちらも提供されたブロックでレコードの状態に戻り、ほとんどの場合は同一の状態に戻ります。ただし、特定のケースでは、結果が異なることがあります。

SYSTEM.RECORD_STATUSは、現レコードがシステムになければ未定義であるため、特定の場合にNULLの値に戻すことができます。たとえば、When-Clear-Blockトリガーでは、Form Builderはその処理順序のブロック・ レベルにあります。このためレポートする現レコードがなく、SYSTEM.RECORD_STATUSの値はNULLになっています。

一方、GET_RECORD_PROPERTYは、処理順序またはそのレコードが現レコードであるかどうかに関わらず、特定のレコードの状態に戻るため、常にその値はNEW、CHANGED、QUERYまたはINSERTになります。


SYSTEM.RECORD_STATUSの例

変更されたレコードを消去する前に、コミットを実行するトリガーを作成する必要があると想定します。次のKey-CLRRECトリガーによって、このファンクションが実行されます。

IF :System.Record_Status IN ('CHANGED', 'INSERT') THEN
   Commit_Form;
END IF;
Clear_Record;


SYSTEM.SUPPRESS_WORKINGシステム変数

 例

構文:

SYSTEM.SUPPRESS_WORKING

説明

"Working..."メッセージの表示時に通常行われる画面の更新を防ぐため、SYSTEM.SUPPRESS_WORKINGは、ランフォーム内の"Working..."メッセージを抑止します。この変数の値は次の2つのCHAR値のうちの1つになります。

TRUE	Form Builderに"Working..."メッセージを出させないようにします。
FALSE	Form Builderに、引き続き"Working..."メッセージを出させるようにします。


SYSTEM.SUPPRESS_WORKINGの例

オペレータがフォームを入力する場合、フォームをデータで満杯にする必要があると想定します。次のWhen-New-Form-Instanceトリガーでは、ブロックをデータで満たすときに通常発生する、不要な更新が防止されます。

:System.Suppress_Working := 'TRUE';
Go_Block ('DEPT');
Execute_Query;
Go_Block ('EMP');
Execute_Query;
Go_Block ('DEPT');
:System.Suppress_Working := 'FALSE';


SYSTEM.TAB_NEW_PAGEシステム変数

 例 	    関連項目

構文:

SYSTEM.TAB_NEW_PAGE

説明

システム変数SYSTEM.TAB_NEW_PAGEでは、そこまでナビゲーションを実行するタブ・ページの名前が指定されます。この変数は、When-Tab-Page-Changedトリガーの内部で使用します。


SYSTEM.TAB_NEW_PAGEの例

/* Use system variable SYSTEM.TAB_NEW_PAGE inside a

** When-Tab-Page-Changed trigger to change the label of
** the tab page to UPPERCASE when an end user navigates
** into the tab page:
*/
DECLARE
  tp_nm   VARCHAR2(30);
  tp_id   TAB_PAGE;
  tp_lbl  VARCHAR2(30);
BEGIN
  tp_nm  := :SYSTEM.TAB_NEW_PAGE;
  tp_id  := FIND_TAB_PAGE(tp_nm);
  tp_lbl := GET_TAB_PAGE_PROPERTY(tp_id, label);
  IF tp_nm LIKE 'ORD%' THEN
    SET_TAB_PAGE_PROPERTY(tp_id, label, 'ORDERS');
  END IF;
END;


SYSTEM.TAB_PREVIOUS_PAGEシステム変数

 例 	    関連項目

構文:

SYSTEM.TAB_PREVIOUS_PAGE

説明

システム変数SYSTEM.TAB_PREVIOUS_PAGEでは、そこからナビゲーションを実行するタブ・ページの名前が指定されます。この変数は、When-Tab-Page-Changedトリガーの内部で使用します。


SYSTEM.TAB_PREVIOUS_PAGEの例

/* Use system variable SYSTEM.TAB_PREVIOUS_PAGE inside a

** When-Tab-Page-Changed trigger to change the label of the
** tab page to initial-cap after an end user navigates out
** of the tab page:
*/
DECLARE
  tp_nm   VARCHAR2(30);
  tp_id   TAB_PAGE;
  tp_lbl  VARCHAR2(30);
BEGIN
  tp_nm  := :SYSTEM.TAB_PREVIOUS_PAGE;
  tp_id  := FIND_TAB_PAGE(tp_nm);
  tp_lbl := GET_TAB_PAGE_PROPERTY(tp_id, label);
  IF tp_nm LIKE 'ORD%' THEN
    SET_TAB_PAGE_PROPERTY(tp_id, label, 'Orders');
  END IF;
END;


SYSTEM.TRIGGER_BLOCKシステム変数

 例 	 	  関連項目

構文:

SYSTEM.TRIGGER_BLOCK

説明

SYSTEM.TRIGGER_BLOCKでは、現行のトリガーが最初に起動されたときにカーソルが位置していたブロックの名前が表示されます。現行のトリガーがPre-またはPost-Formトリガーであれば、値はNULLになります。値は常に文字列です。


SYSTEM.TRIGGER_BLOCKの例

現行のトリガーが最初に起動されたときにカーソルが位置していたブロックまでナビゲートするフォーム・レベル・プロシージャを書き込む必要があると想定します。次の文により、このファンクションが実行されます。

Go_Block(Name_In('System.Trigger_Block'));


SYSTEM.TRIGGER_ITEMシステム変数

 例 	   制限事項

構文:

SYSTEM.TRIGGER_ITEM

説明

SYSTEM.TRIGGER_ITEMにより、現在起動されているトリガーの有効範囲にある項目（BLOCK.ITEM）が表示されます。キー・トリガー内で参照するときは、トリガーの開始時にカーソルが位置していた項目が表示されます。値は常に文字列です。

使用上の注意

SYSTEM.TRIGGER_ITEMは、提供されたトリガーの開始から終わりまで、同一のまま残ります。これは、ナビゲーションを実行したときに、提供されたトリガー内で変更されることもあるSYSTEM.CURSOR_ITEMとは異なります。


SYSTEM.TRIGGER_ITEMの制限事項

現行のナビゲーション単位が項目でないトリガー、つまり、Pre-およびPost-Record、Block、Formトリガーの場合は、SYSTEM.TRIGGER_ITEMの使用は避けてください。このようなトリガーでは、SYSTEM.TRIGGER_ITEMの値はNULLになります。


SYSTEM.TRIGGER_ITEMの例

現行のトリガーが最初に起動されたときにカーソルが位置していた項目までナビゲートするユーザー定義プロシージャを書き込む必要があると想定します。次の文により、このファンクションが実行されます。

Go_Item(:System.Trigger_Item);


SYSTEM.TRIGGER_NODE_SELECTEDシステム変数

構文:

SYSTEM.TRIGGER_NODE_SELECTED

説明

SYSTEM.TRIGGER_NODE_SELECTEDには、WHEN-TREE-NODE-SELECTEDトリガーにおいてのみ有効な値が組み込まれ、この値により、選択または選択解除を目的としてトリガーを起動するかどうかが示されます。この値はTRUEまたはFALSEです。


SYSTEM.TRIGGER_RECORDシステム変数

 例

構文:

SYSTEM.TRIGGER_RECORD

説明

SYSTEM.TRIGGER_RECORDにより、Form Builderで処理されているレコードの番号が表示されます。この数字は、ブロックのレコード・リスト内のレコードの現在の物理順序です。値は常に文字列です。


SYSTEM.TRIGGER_RECORDの例

次のアノニマス・ブロックでは、IF文でSYSTEM.TRIGGER_RECORDが使用され、処理を継続する前に現レコードを識別します。

IF :System.Trigger_Record = '1'
   THEN Message('First item in this order.');
END IF;


タイマーの使用方法


タイマー

関連項目

タイマーは、ユーザーがプログラムで作成して、タイマーの時間が切れるごとにアクションを実行する内部時計です。

タイマーの持続時間は、1～2,147,483,647ミリ秒（1秒=1000ミリ秒）。タイマーの最長持続時間は、約24.85日間です。

タイマーを使用して作業するときは、次のステップを実行します。

1	CREATE_TIMERビルトイン・サブプログラムを使用して、必要な回数の繰返しタイマーまたは繰返しなしタイマーを作成します。

2	タイマーの時間が切れたときに必要なアクションを実行するWhen-Timer-Expiredトリガーを作成します。


タイマーの使用規則

関連項目

タイマーを使用するときは、次の使用規則を考慮します。

•	When-Timer-Expiredトリガーは、トランザクション、トリガー処理、ナビゲーションなどの際には起動できません。したがって、When-Timer-Expiredトリガーは、Form Builderがユーザー入力の受入れの待機時のみに起動します。

結果として、タイマーはミリ秒で正確に時間切れしないことがありますが、指定したミリ秒数の経過後には起動します。

•	NO_REPEATを指定しない限り、タイマーはデフォルトにより時間切れを繰り返します。

•	作成されたタイマーは、Form Builderにより待ち行列に入れられます。

When-Timer-Expiredトリガーは、待ち行列内の各タイマーごとに1回のみ起動します。

•	繰返しタイマーは、待ち行列にある間は繰り返しません。When-Timer-Expiredトリガーによって待ち行列から外されてから、繰返しが始まります。したがって、同じタイマーが複数回待ち行列に入ることはありません。

•	オペレータがタイマーの時間切れ前にアプリケーションを終了する場合、待ち行列のタイマーは、When-Timer-Expiredトリガーによって実行されません。


タイマーの作成

例	   関連項目

タイマーを作成するには、CREATE_TIMERビルトイン・サブプログラムを使用します。

CREATE_TIMER(timer_name, milliseconds, iterate);

パラメータの内容は次のとおりです。

timer_name	最高30文字までの英数字でタイマー名を指定します。名前はアルファベット文字で始める必要があります。名前のデータ型はCHARです。
milliseconds	タイマーの持続時間をミリ秒単位で指定します。このパラメータに指定できる値の範囲は1～2147483648ミリ秒です。2147483648より大きい値は、2147483648に切り捨てられます。指定できるのは正の整数のみであることに注意してください。パラメータのデータ型はNUMBERです。詳細は、制限事項を参照してください。
iterate	時間切れ時にタイマーを繰り返すかどうかを指定します。引数として次の定数をとります。
	REPEAT  時間切れ時にタイマーを繰り返すことを示します。これがデフォルトです。
	NO_REPEAT  再び明示的にコールされるまで、時間切れ時にタイマーを繰り返さず、1回のみ使用することを示します。


タイマー作成の例

/*  Create a repeating timer that expires every hour */
DECLARE
     hour_timer TIMER;
     one_hour     NUMBER(7):=3600000;
BEGIN
     hour_timer:= CREATE_TIMER('alarm',one_hour,REPEAT);
END;


複数のタイマーへの対応

例	   関連項目

複数のタイマーを使用して作業するとき、When-Timer-Expiredはフォーム・レベルのトリガーであることに注意してください。このトリガーは、タイマーが時間切れになるといつでも起動します。アプリケーションに複数のタイマーが含まれる場合、When-Timer-Expiredトリガーには、異なるタイマーを処理するコードを含める必要があります。

注意: 最近実行されたタイマーのタイマー名を取り出すには、When-Timer-ExpiredトリガーからGET_APPLICATION_PROPERTYへのコールを起動します。それ以外の場合、ビルトインの結果は未定義です。


複数のタイマーへの対応の例

/*  Create a When-Timer-Expired trigger that can handle multiple
**  application timers.
*/
DECLARE
     expired_timer  CHAR(20);
BEGIN
     expired_timer:=GET_APPLICATION_PROPERTY(TIMER_NAME);
     IF expired_timer='T1'
        THEN /* handle timer T1 */;
     ELSIF expired_timer='T2'
        THEN /* handle timer T2 */;
     ELSE /* handle all other timers */;
     END IF;
END;


プログラムによるタイマーの変更

例	   関連項目

タイマーで作業するときには、次のビルトイン・サブプログラムを使用できます。

•	CREATE_TIMER

•	DELETE_TIMER

•	FIND_TIMER

•	GET_APPLICATION_PROPERTY

•	SET_TIMER

注意: タイマー名はプログラムにより変更できません。


プログラムによるタイマーの変更の例

/*
** Builtin:FIND_TIMER
**
** Example:If the timer exists, reset it.Otherwise create
**           it.
*/
PROCEDURE Reset_Timer_Interval( Timer_Name VARCHAR2,
Timer_Intv NUMBER ) IS
  tm_id       Timer;
  tm_interval NUMBER;
BEGIN
  /*
  ** User gives the interval in seconds, the timer routines
  ** expect milliseconds
  */
  tm_interval := 1000 * Timer_Intv;
  /* Lookup the timer by name */
  tm_id := Find_Timer(Timer_Name);
  /* If timer does not exist, create it */
  IF Id_Null(tm_id) THEN
    tm_id := Create_Timer(Timer_Name,tm_interval,NO_REPEAT);
  /*
  ** Otherwise, just restart the timer with the new interval
  */
  ELSE
    Set_Timer(tm_id,tm_interval,NO_REPEAT);
  END IF;
END;


タイマーの削除

例	   関連項目

繰返しタイマーおよび繰返しなしタイマーを削除するには、DELETE_TIMERビルトイン・サブプログラムを使用します。


タイマー削除の例

/*
** Builtin:DELETE_TIMER
** Example:Remove a timer after first checking to see if it
**           exists
*/
PROCEDURE Cancel_Timer (tm_name VARCHAR2) IS
     tm_id  TIMER;
BEGIN
  tm_id:=Find_Timer(tm_name);
  IF NOT Id_Null(tm_id) THEN
    Delete_Timer(tm_id);
  ELSE
    Message('Timer '||' has already been cancelled.');
  END IF;
END;


ツールチップについて

関連項目

ツールチップは、マウスで項目を指示したときにその項目についてのヘルプ情報が表示される、小さなテキスト・ボックスです。

ツールチップは、マウスが項目内に0.5秒間とどまっていれば表示されます。テキストは、項目中央の真下にあるボックス内に表示されます。ボックスのサイズは、テキストの表示に必要なスペースに応じて変わります。ボックスの縦と横は、細い境界線に囲まれたテキストを表示するのにちょうど十分な大きさです。

ツールチップは、指定した可視属性で表示されます。可視属性が指定されない場合、ツールチップには、表示されている項目と同じ可視属性情報が使用されます。

マウスを項目の外または別の項目に移動するか、別のウィンドウを表示するか、ユーザーがツールチップの表示されている項目内でアクションを実行するまで、ツールチップは表示されたままです。


ツールチップの作成

関連項目

ツールチップを作成する方法

1	オブジェクト・ナビゲータで、ツールチップを作成する項目のオブジェクト・アイコンをダブルクリックします。これで、「プロパティ・パレット」が表示されます。

2	「ヘルプ」ノードの下で、「ツールチップ」プロパティを選択します。

3	「ツールチップ」プロパティ・フィールドに必要なツールチップテキストを入力します。

プログラムによるツールチップの作成および操作 次のビルトイン・サブプログラムにより、TOOLTIP_TEXTおよびTOOLTIP_ATTRIBUTEを使用して、ツールチップをプログラムで作成および操作できます。

GET_ITEM_PROPERTY

SET_ITEM_PROPERTY


イベントおよびトリガーについて

  関連項目

トリガーとは、アプリケーション内で特定のイベントが発生したときに実行するタスクをPL/SQLで記述したコード・ブロックのことです。実際には、Form BuilderのトリガーはPL/SQLで記述されたイベント・ハンドラで、デフォルトの処理動作を補強する（または時として置き換える）ことを目的としています。すべてのトリガーには、名前と1つ以上のPL/SQL文が含まれます。トリガーは、PL/SQLコードのカプセル化によってイベントと関連付けて、個別のオブジェクトとして実行および保守できます。

イベントに応答してForm Builderでトリガー内のコードが実行したとき、そのトリガーが"起動した"と言います。ほとんどのフォーム・アプリケーションには、さまざまなイベントに応答して起動する多数のトリガーがあります。

フォーム内の特定のオブジェクト、すなわち項目またはブロック、フォーム自体のいずれかに、付加される必要がトリガーはあります。トリガーが付加されたオブジェクトによって、トリガーの有効範囲が定義されます。Form Builderで、この有効範囲は、対応するイベントが発生したときにどのトリガーを起動するかを判別するのに役立ちます。すべてのトリガーがすべてのオブジェクトに関連するとは限りません。たとえばWhen-Button-Pressedトリガーは、画面項目には連結されません。

トリガーの名前は、事前定義済みの実行時イベントに対応しています。たとえば、When-Button-Pressedトリガーは、オペレータがボタンを選択したときに発生する「ボタン押下」イベントに対応しています。トリガーの名前は、イベントとトリガー・コードとの間の関連付けを確立します。オペレータがマウスでボタンの上をクリックすると、Form BuilderはWhen-Button-Pressedトリガー内のコードを実行することによってそれに応答します。

たとえば、3つのボタンを持つフォームで、各ボタンにWhen-Button-Pressedトリガーが付加され、各トリガーにそれぞれ異なるPL/SQL文が含まれるとします。オペレータがボタンの1つを選ぶと、すなわち「ボタン押下」イベントが発生すると、それに応答して選択したボタンに付加されているWhen-Button-Pressedトリガーのみを起動します。他の2つのボタンに付加されているWhen-Button-Pressedトリガーは、イベントの有効範囲外にあるので無視されます。


イベントのタイプ

  関連項目

Form Builderは、それぞれ対応するビルトイン・トリガーと事前定義済み実行時イベントをセットで認識します。トリガーを作成してアプリケーションにコードを追加する場合には、どのイベントでトリガーを起動するかを決めることが重要です。選択したイベントによって、トリガーに割り当てられる名前が決まります。

インタフェース・イベント

トリガーを選択する場合、他のイベントとの関係およびフォーム処理との関係の両方からイベントの発生時期を正確に理解することが重要です。一部のイベントは外部インタフェースですが、これらのオカレンスはただちに明らかになります。このようなイベントの例と対応するトリガーを次に示します。イベントとそれに対応するトリガーの例は次のとおりです。

イベント	トリガー名
ボタンを押す	When-Button-Pressed
チェックボックスをクリックする	When-Checkbox-Changed
タブ・キーを押す	KEY-FN
内部処理イベント

内部イベントは、実行時処理の結果として発生します。これらのイベントは、Form Builderの処理モデルに従って発生します。

それぞれにテキスト項目があるブロックAとブロックBという2つのブロックを持つフォームがあるとします。GUIプラットフームでは、オペレータは、マウスでターゲット項目をクリックすることによって、ブロックAのテキスト項目からブロックBのテキスト項目へと、入力フォーカスを移動できます。この操作には、1つのインタフェース・アクション（ターゲット項目のマウス・クリック）のみですが、実際には一連の内部処理イベントが起動されており、各イベントには対応する1つ以上のトリガーが含まれています。

イベント	トリガー名
項目の妥当性チェック	When-Validate-Item
項目を出る	Post-Text-Item
レコードの妥当性チェック	When-Validate-Record
レコードを出る	Post-Record
ブロックを出る	Post-Block
ブロックに入る	Pre-Block
レコードに入る	Pre-Record
項目に入る	Pre-Text-Item
ブロック入力準備	When-New-Block-Instance
レコード入力準備	When-New-Record-Instance
項目入力準備	When-New-Item-Instance

「項目を出る」および「ブロックに入る」のようなナビゲーション・イベントは、内部フォーム処理のナビゲーションの結果として発生します。Form Builderでフォーム内のデータの妥当性をチェックし、オブジェクト階層を「ナビゲート」して、ある項目から別の項目へ移動したときに、これらのイベントが発生します。

たとえば、あるブロックのソース項目から別のブロックのターゲット項目に入力フォーカスを移すには、Form Builderでは、まずソース項目の値の妥当性をチェックした後で「レコードに入り」、そのレコードのすべての項目の妥当性がチェックされます。そして、レコードを出て「ブロックに入り」、妥当性チェックされるというように出入りを続けて妥当性がチェックされ、最後にターゲット項目に到達します。

Form Builder処理モデルでは、項目および、レコード、ブロック、フォームの各レベルでデータの整合性をとるようになっています。トリガー・コードで応答可能な豊富な種類のイベントによって、アプリケーションのあらゆる状況を完全に制御できます。

プロセスおよびサブプロセス

「プロセス」とは、特定のForm Builder Runform操作時に発生する、関連を持つ一連の個別イベントのことです。前述の例ではナビゲーション・プロセスを説明しました。このほかのプロセスは妥当性チェックおよびトランザクションに関連があります。たとえば、ポストおよびコミットのトランザクション処理には、複雑な一連のイベントとサブプロセスが含まれています。


トリガー定義レベルと有効範囲

  関連項目

トリガーが作成されると、そのトリガーは特定のオブジェクト（項目または、ブロック、フォーム）に付加されます。トリガーが付加されたオブジェクトによって、オブジェクト階層におけるトリガーの「定義レベル」が決まります。たとえば、Customerという名前のブロックに付加されたトリガーの定義レベルはブロックであり、そのトリガーは「ブロック・レベル・トリガー」と呼ばれます。

トリガーの定義レベルは、トリガーの有効範囲を決定するので重要です。トリガーの有効範囲は、Form Builderのオブジェクト階層内部のドメインであり、トリガーに応答してイベントが発生する場所を決定します。

トリガーの有効範囲は、トリガー定義レベル（フォームまたは、ブロック、項目）およびそれ以下に定義されます。したがって、ブロック・レベル・トリガーは、トリガー・イベントがそのブロック内で発生した場合に起動されますが、同じイベントが別のブロックで発生した場合には起動されません。

When-New-Item-Instanceトリガーの場合を考えてみましょう。このトリガーは、「項目に入る」イベントに応答して起動されます。このイベントはオペレータまたはアプリケーションが別の項目をナビゲートしたときに発生します。When-New-Item-Instanceトリガーがテキスト項目に付加されている場合には、オペレータがその特定の項目に入ると起動されます。同じWhen-New-Item-Instanceトリガーがブロックに付加されている場合には、オペレータがそのブロック内の任意の項目に入ると起動されます。同様に、このトリガーがフォームに付加されている場合は、オペレータがフォーム内の任意のブロックの任意の項目に入ると起動されます。

同じイベントに応答するトリガーの優先順位

同じイベントに応答するトリガーを異なるレベルで定義することがよくあります。2つ以上のトリガーの有効範囲内でイベントが発生したときには、最も低い定義レベルのトリガーが優先されます。

たとえば、When-New-Item-Instanceトリガーをブロックに付加し、別のWhen-New-Item-Instanceトリガーをそのブロック内のテキスト項目に付加したとします。オペレータがテキスト項目をナビゲートしたとき、項目レベルのトリガーが起動され、ブロック・レベルのトリガーは無視されます。

トリガー定義レベルの制限

一部のトリガーは、特定の定義レベルにのみしか定義できません。たとえば、「レコードの妥当性チェック」イベントが発生したとき起動するWhen-Validate-Recordトリガーは、ブロックまたはフォームに連結された場合にのみ有効で、項目には連結できません。ただし、ほとんどのトリガーは、フォームまたは、ブロック、項目レベルで定義できるようになっていますので、適切な定義レベルを選択してください。


オブジェクト・ナビゲータでのトリガーの作成

  関連項目

オブジェクト・ナビゲータにトリガーを作成する方法:

1	オブジェクト・ナビゲータで、トリガーを付加するフォームまたは、ブロック、項目の下の「トリガー」ノードにカーソルを置きます。

たとえば、トリガーをボタンに付加する場合、ボタンの名前の下の「トリガー」ノードをクリックします。

2	「ナビゲータ」 [image] 「作成」を選び、トリガーの値リストを起動します。

3	値リストから任意のトリガー名を選択して、「OK」をクリックします。

PL/SQLエディタが現れます。「タイプ」、「オブジェクト」および「名前」の各オプションが、トリガーを付加するオブジェクトと、ユーザーが選択したトリガー名に基づいて自動的に設定されます。

4	PL/SQLエディタで、必要なトリガー・コードを入力します。

5	「コンパイル」を選択して、トリガーをコンパイルします。

6	「クローズ」を選択して、エディタを完了します。


スマート・トリガーを使用したトリガーの作成

  関連項目

スマート・トリガーを使用してトリガーを作成する方法:

1	オブジェクト・ナビゲータで、トリガーを付加するオブジェクトをクリックします。

2	「プログラム」 [image] 「Smart Triggers_」を選択します。

3	サブメニューに表示されたものの中から、トリガーを選択します。

PL/SQLエディタが現れます。「タイプ」、「オブジェクト」および「名前」の各オプションが、トリガーを付加するオブジェクトと、ユーザーが選択したトリガー名に基づいて自動的に設定されます。

4	PL/SQLエディタで、必要なトリガー・コードを入力します。

5	「コンパイル」を選択して、トリガーをコンパイルします。

6	「クローズ」を選択して、エディタを完了します。


PL/SQLエディタでのトリガーの作成

  関連項目

PL/SQLエディタにトリガーを作成する方法:

1	PL/SQLエディタで、「タイプ」オプションを「トリガー」に設定します。

2	「オブジェクト」オプションを設定して、トリガーを定義するオブジェクト（フォーム、ブロックまたは項目）を指定します。

たとえば、トリガーをブロックに付加するには、最初のオプションのドロップダウン・リストにこのブロックの名前を設定し、2番目のドロップダウン・リストに「データ・ブロック・レベル」を設定します。

3	「作成」を選択して、トリガーの値リストを起動します。

4	値リストからトリガー名を選択して、「OK」をクリックします。

5	トリガー・コードを入力します。

6	「コンパイル」を選択してコンパイルします。

7	「クローズ」を選択して、エディタを完了します。


レイアウト・エディタでのトリガーの作成

  関連項目

レイアウト・エディタの項目にトリガーを作成する方法:

1	レイアウト・エディタで、トリガーを付加する項目を選びます。

2	ポップアップ・メニューから「トリガー」を選択し「PL/SQLエディタを」起動します（Microsoft Windowsの場合は右マウス・ボタンをクリックするとポップアップ・メニューが表示されます）。

エディタを起動したときに選択されていた項目に従って、PL/SQLエディタの「タイプ」と「オブジェクト」オプションが自動的に設定されます。その項目に付加済みのトリガーがすでにある場合、そのトリガーとコードがエディタに表示されます。

3	「作成」を選択して、トリガーの値リストを起動します。

4	値リストからトリガー名を選択して、「OK」をクリックします。

5	トリガー・コードを入力します。

6	「コンパイル」を選択してコンパイルします。

7	「クローズ」を選択して、エディタを完了します。


トリガー・プロパティの設定

他のオブジェクトと同様に、トリガーにもプロパティがあります。トリガーいったんを作成したら、オブジェクト・ナビゲータでそのトリガーを選択し、「プロパティ・パレット」でプロパティを編集して、設定します。


トリガーのコンパイルについて

  関連項目

Form Builderでは、フォームを生成してランタイム・ファイルを作成するときにフォームにある未コンパイルのトリガーがすべてコンパイルされます。トリガを個別にコンパイルする必要はありません。しかし、トリガーを個々にコンパイルすると、フォームの生成時ではなくトリガーの記述時に、トリガー・コードのエラーを検出して修正できます。

Form Builderでトリガーをコンパイルするときに、トリガー・テキストの構文エラーおよび、意味上のエラー、存在しないオブジェクトやサブプログラムの参照が検査されます。エラーが検出されると、エラーのある文の行番号とエラーの説明が表示されます。


ユーザー命名トリガーのコール

  関連項目

ユーザー命名トリガーとは、ユーザーが指定した一意の名前を持つトリガーです。この名前はどのForm Builderのイベントにも対応していません。したがってユーザー命名トリガーは、ビルトイン・トリガーまたは、メニュー項目コマンド、ユーザー命名サブプログラム内からのコールによってのみ実行できます。ユーザー命名トリガーを呼出すには、EXECUTE_TRIGGER built-inビルトイン・プロシージャを使用します。このプロシージャのパラメーターに起動するトリガー名を指定します。

Execute_Trigger('my_user_named_trigger');

ユーザー命名トリガーは特別な場合でのみ必要なものです。通常のアプリケーションでは、ユーザー命名サブプログラムを作成し、それをユーザー命名ではないトリガーまたは、メニュー項目コマンドからコールすることをお薦めします。


トリガー・コードの書き方について

  関連項目

Form Builderのトリガーおよびメニュー項目コマンドのコードは、OracleのPL/SQL言語で書きます。PL/SQLは、SQLデータベース言語の拡張であり、Form BuilderトリガーではSQL文およびPL/SQL文の両方が使用できます。Form Builderのビルトイン・サブプログラムおよびユーザー命名のPL/SQLサブプログラムのコールが認められています。

PL/SQLトリガー内部のPL/SQLプロシージャのコールは、プロシージャへのコールが存在するトリガー内の箇所で、プロシージャ・テキスト全体がインラインで置換されるかのように動作します。（FORM_TRIGGER_FAILを含む）例外はすべて、標準のPL/SQL例外ハンドラ有効範囲規則に従います。

Form Builderトリガーのテキストは、無名PL/SQLブロックです。ブロックは次の3つのセクションから構成されています。

1	変数および、定数、カーソル、例外などの宣言セクション

2	実行可能文のセクション

3	例外ハンドラのセクション

PL/SQLブロックのセクションを区切る構文は次のとおりです。

DECLARE
-- declarative statements (optional)
BEGIN
-- executable statements (required)
EXCEPTION
-- exception handlers (optional)
END;

トリガーでは、実行可能セクションのみが必須です。DECLAREセクションを持たないトリガーにはBEGINキーワードおよびENDキーワードが暗黙的に追加されるので、それらのキーワードは不要です。次に示すのはこのようなトリガーの例です。

/*  Key-CLRREC Trigger:*/
IF :System.Record_Status = 'CHANGED' OR
   :System.Record_Status = 'INSERT' THEN
Commit_Form;
END IF;
Clear_Record;

しかし、トリガーにDECLAREセクションがある場合は、コンパイラで実行可能セクションの始まりが検出できるように、BEGINキーワードおよびENDキーワードを併せて記述する必要があります。

/*  When-Button-Pressed Trigger:  */*/
DECLARE
discount_variable NUMBER (5);
BEGIN
SELECT discount into discount_variable from Promotions
WHERE custid = :cust_id;
:total := calculate_total(:amount, discount_variable);
END;


トリガーのビルトイン・サブプログラムのコールについて

  関連項目

Form Builderには、ユーザーがトリガーからコールする100以上のビルトイン・サブプログラムが含まれています。ビルトイン・サブプログラムは、Form Builder内部でいつでも使用できるパッケージ化されたプロシージャまたはファンクションです。ビルトイン・サブプログラムでは、さまざまなアプリケーション機能を処理できます。たとえば、プログラムによってある項目から別の項目へ入力フォーカスを移すには、次のビルトイン・サブプログラムの中の1つをコールします。

NEXT_ITEM	GO_ITEM
NEXT_BLOCK	GO_BLOCK
NEXT_RECORD

フォームまたはデータベースのデータに対する操作を実行するビルトイン・サブプログラムもあります。

CLEAR_RECORD	EXECUTE_QUERY
DELETE_RECORD	COMMIT_FORM
ENTER_QUERY

また、次のビルトイン・サブプログラムは、実行時のインタフェース・オブジェクトの表示方法の制御に使用されます。

MOVE_WINDOW	SHOW_LOV
HIDE_WINDOW	SHOW_ALERT
SHOW_EDITOR

次の例は、When-Button-Pressed triggerトリガーのテキストを示しています。ボタンを押すと、order_info_windowと呼ばれるダイアログ・ボックスが表示され、オペレータはそこに指示情報を入力します。

/*  When-Button-Pressed trigger:*/
Show_Window('order_info_window');

このトリガーには、ビルトイン・サブプログラムSHOW_WINDOWをコールする文が1つのみ含まれます。SHOW_WINDOWサブプログラムは、その引数リストで指定されたウィンドウを表示するプロシージャです。

オブジェクト・ナビゲータでは、「ビルトイン・パッケージ」ノードの下のForm Builderビルトインプログラムのリストを参照できます。「STANDARD拡張機能」パッケージにはForm Builderビルトインのコア（中核）が入っています。その他のパッケージには、特定のアプリケーションを目的とした特別な機能が用意されています。


制限付きビルトイン・サブプログラムについて

  関連項目

ナビゲーションを開始するすべてのビルトイン・サブプログラムは、制限付きです。この制限付きビルトイン・サブプログラムには、入力フォーカスをある項目から別の項目に移動するサブプログラムおよびデータベース・トランザクションに関係するサブプログラムが含まれます。制限付きビルトイン・サブプログラムは、ナビゲーションに応答して起動するトリガー内では無効です。

たとえば、GO_ITEMおよびNEXT_SETビルトイン・サブプログラムはどちらも制限付きプロシージャです。GO_ITEMは、ソース項目からナビゲーションが必要なターゲット項目に、入力フォーカスを移します。同様に、NEXT_SETプロシージャでは、Form Builderによりブロック・レベルまで内部がナビゲートされ、レコードの集合がフェッチされてから、その最初のレコードの最初の項目にナビゲートされます（このナビゲーションはデフォルト処理の結果として内部で発生し、オペレータには見えないため注意が必要です）。

GO_ITEMおよびNEXT_SETはどちらもナビゲーションを開始するため、内部ナビゲーション・イベントに応答して起動するトリガー、つまり、ナビゲーションがすでに発生していると起動するトリガーからはこれらをコールしません。したがって、制限付きプロシージャをPre-Blockトリガーからコールしません。これは、Pre-Blockトリガーが内部ナビゲーション中に起動するためです。実際には、制限付きサブプログラムは、どのPre-またはPost-ナビゲーション・トリガーからもコールしません。

しかし、When-New-Instanceトリガーからは制限付きビルトイン・サブプログラムをコールします。たとえば、When-New-Item-Instanceトリガーは、項目へのナビゲーションが完了した後、フォームが入力を待っているときに、起動されます。これは、アプリケーションの開発中にトリガーのタイプを選択するときの重要なポイントです。

『Form Builderリファレンス』の各トリガーの説明には、どのタイプのビルトイン・サブプログラム（制限付きまたは制限なし）をトリガーからコールするかが記述された「有効コマンド」のセクションがあります。また、各ビルトインの説明には、「ビルトイン・タイプ」セクションがあります。このセクションでは、ビルトインが制限付きまたは制限なしのプロシージャであるか、あるいはファンクションであるかが示されています。


トリガー内でのSQL文の書き方について

  関連項目

データ・ブロックは元来、例による問合せ、更新、挿入および削除などの機能をデフォルトでサポートしています。オペレータの操作とプログラム制御に応答して、SELECT、UPDATE 、INSERT、DELETEなどの適切なSQL文がForm Builderから発行されます。たとえば、プログラムによって問合せを実行する場合、ユーザーは（たとえばGO_BLOCKにより）必要なブロックをナビゲートして、次にEXECUTE_QUERYビルトイン・プロシージャをコールします。

SQL SELECT文を書いてブロック内に適切な項目を移入する必要はありません。これは、データ項目が対応するデータベース列に設計時に結び付けられ、Form Builderから自動的にSQLが発行されるからです。Form Builderからは、デフォルトのロック機能をサポートするために必要なSQL文も発行されます。

ほとんどのアプリケーションでは、トリガー内にSQL文を記述して、デフォルトのForm Builderの機能を拡張します。たとえば、ブロックのデータ表以外の表に対応する参照項目に値を挿入する場合には、Post-QueryトリガーにSELECT...INTO文を書きます。

block_name.item_nameの表記法を使用し、データベース値をフォーム項目の中に選択して、そのフォーム項目を参照できます。

SELECT column
INTO :block.item
FROM table
WHERE primarykey = :block.pri_key_item;

前述の文は、暗黙的なカーソルをオープンします。データベースの問合せを完全に制御するには、明示的なカーソルを宣言します。

一般的な規則として、DML文はトランザクション・トリガーでのみサポートされます。トランザクション・トリガーとは、トランザクション・プロセス・イベントに応答して起動するトリガーのことで、そのようなトリガーにはPre-Update、Post-InsertおよびOn-Deleteなどがあります。その時点までにForm Builderで発行されたデフォルトのSQLは、On-Eventトリガーにより、完全に置き換えられます。DML（データ操作言語: Data Manipulation Language）の任意の文を使用するトリガーを記述できますが、リファレンス項目で各トリガーについて述べられている推奨事項に従うことをオラクル社はお薦めします。

特定のトリガー内でDMLを使用すると、Form Builderとデータベース内の行との間で、レコード状態の同期が失われることがあります。これにより、予期せぬ結果が生じることがあります。Form Builderでは、項目および、レコード、ブロック、フォームの状態を調べることによって、フォーム内のデータへの変更が記録されます。

たとえば、オペレータが、テキスト項目の値を変更してから「保存」コマンドを発行するとき、Form Builderではレコードの状態を検査して、UPDATE処理が必要かどうかを判断します。

デフォルト処理とは別にDML文が発行されるときは、Form Builderではこういった変更を認識しません。したがって、デフォルトのコミット処理によって管理することはできません。

CREATE TABLEおよびDROP SEQUENCEのようなDDL（データ・ディクショナリ言語）コマンドを発行するにはFORMS_DDLビルトイン・プロシージャをコールします。FORMS_DDLビルトイン、文を実行した後で常に暗黙的なCOMMIT_FORMを発行します。そのためオペレータが後で取り消す可能性のある未保存の変更がアプリケーションに残している場合はFORMS_DDLビルトインをコールしないでください。


トリガー・カテゴリの概要

  関連項目

この項では、一般的に使用されるトリガーを、次のような機能カテゴリにグループ化して説明します。

•	ブロック処理トリガー

•	インタフェース・イベント・トリガー

•	マスター/ディテール・トリガー

•	メッセージ処理トリガー

•	ナビゲーション・トリガー

•	問合せ時トリガー

•	トランザクション・トリガー

•	妥当性チェック・トリガー

これらは、Form Builderで利用できるトリガーのすべてではありません。それらの大部分は非常に特殊な使用方法があります。トリガーのリストまたは特定のトリガーの詳細な情報は、トリガーの一覧のページを参照してください。


ブロック処理トリガー

  関連項目

ブロック処理トリガーは、ブロック内のレコード管理に関連したイベントに応答して起動します。

トリガー	一般的使用方法
When-Create-Record	Form Builderでブロック内にレコードの新規作成を試みるたびに、動作を実行します。たとえば、複合的なデフォルト値、計算済みデフォルト値、データ駆動のデフォルト値などの設計時ではなく実行時に指定する必要のあるデフォルト値を設定します。
When-Clear-Block	Form Builderで現行のブロックをフラッシュ（つまりブロックからすべてのレコードを削除）するたびに、動作を実行します。
When-Database-Record	Form Builderでレコードの状態を「挿入」または「更新」に変更する（つまり、次のCOMMIT_FORM操作でそのレコードを処理する必要があることを示す）たびに、動作を実行します。
When-Remove-Record	レコードを消去または削除するたびに動作を実行します。たとえば、ブロックに表示されるすべてのレコードに対して計算の合計を調整するために使用します。


インタフェース・イベント・トリガー

  関連項目

インタフェース・イベント・トリガーは、フォーム・インタフェース内で発生するイベントに応答して起動します。インタフェース・イベント・トリガーにはWhen-Button-Pressedのように、オペレータの入力または操作にのみ応答して起動するものがあります。あるいは、When-Window-Activatedのように、オペレータ入力にもプログラム制御のどちらにも応答して起動するものもあります。

トリガー	一般的使用方法
When-Button-Pressed	オペレータがマウスまたはキーボード選択でボタンを選択したときに動作を開始します。
When-Checkbox-Changed	オペレータがマウスまたはキーボード選択でチェックボックスの状態を切り替えたときに動作を開始します。
When-Image-Activated	オペレータがイメージ項目をダブルクリックするたびに動作を開始します。
When-Image-Pressed	オペレータがイメージ項目をクリックするたびに動作を開始します。
Key- [all]	ファンクション・キーに関係付けられたデフォルトのファンクションを置き換えられます。たとえば、Key-EXITトリガーの定義[ヘルプ]キーのデフォルト機能で置き換えることができます。
When-Radio-Changed	ラジオ・グループ項目で選択した現ラジオ・ボタンを変更したときに動作を開始します。
When-Timer-Expired	プログラムのよるタイマーが時間切れになったときに動作を開始します。
When-Window-Activated	オペレータまたはアプリケーションがウィンドウをアクティブにするたびに動作を開始します。
When-Window-Closed	オペレータがウィンドウ・マネージャの「クローズ」コマンドでウィンドウをクローズするたびに動作を開始します。
When-Window-Deactivated	別のウィンドウがアクティブ・ウィンドウとなった結果、前のウィンドウが非アクティブにされるたびに動作を開始します。
When-Window-Resized	オペレータまたはプログラムがウィンドウのサイズを変更するたびに動作を開始します。


マスター/ディテール・トリガー

  関連項目

ブロック間のマスター/ディテール・リレーションが定義されると、Form Builderで自動的にマスター/ディテール・トリガーが作成されます。デフォルトのマスター/ディテール・トリガーは、ディテール・ブロックのレコードとマスター・ブロックのマスター・レコードとの間の調整を施行します。ユーザー独自のカスタム・ブロック調整構造を開発しているのでない限り、これらのトリガーを定義する必要はありません。むしろ、リレーション・オブジェクトを作成するのみです。そのリレーションのマスターおよびディテール・ブロック間の調整を管理するために必要なトリガーは、Form Builderが生成してくれます。

トリガー	一般的使用方法
On-Check-Delete-Master	マスター/ディテール・リレーションでマスターブロック内のレコードの削除をForm Builderが試みたときに起動します。
On-Clear-Details	マスター/ディテール・リレーションのディテール・ブロックのレコードがマスター・ブロック内の現レコードと対応しなくなったために、Form Builderで対応しないレコードを削除する必要があるときに起動します。
On-Populate-Details	ディテール・レコードとマスター・ブロック内の現行のレコードを同期させるために、Form Builderでマスター/ディテール・リレーションのディテール・ブロックの中にレコードをフェッチするときに起動します。


メッセージ処理トリガー

  関連項目

Form Builderでは、ランタイム・イベントに対応して、適切なエラー・メッセージおよび情報メッセージが自動的に発行されます。メッセージ処理トリガーは、これらのデフォルト・メッセージ・イベントに応答して起動します。

トリガー	一般的使用方法
On-Error	デフォルトのエラー・メッセージをカスタム・エラー・メッセージと置き換えるか、またはエラーを検出して修復するために使用します。
On-Message	メッセージを検出して応答するときに使用します。たとえば、Form Builderで発行されたデフォルト・メッセージをカスタム・メッセージと置き換えるときに使用します。


ナビゲーション・トリガー

  関連項目

ナビゲーション・トリガーは、ナビゲーション・イベントに応答して起動します。たとえば、オペレータが別のブロックのテキスト項目をクリックすると、現行の項目からターゲット項目に入力フォーカスが移動し、ナビゲーション・トリガーが発生します。

ナビゲーション・イベントは、Form Builderのオブジェクト階層（フォーム、ブロック、レコード、項目）のさまざまなレベルで発生します。ナビゲーション・トリガーは、さらにPre-とPost-トリガー、そしてWhen-New-Instanceトリガーという2つのカテゴリに分かれます。

Pre-およびPost-トリガー   Pre-およびPost-トリガーは、Form Builderで異なるレベルのオブジェクト階層を内部的にナビゲートするときに起動します。ご想像どおり、これらのトリガーは、「次の項目へ」キーなどを押してオペレータが開始したナビゲーションに応答して起動します。しかし、これらのトリガーは、デフォルト処理中にForm Builderで実行されるナビゲーションにも応答して起動することに注意してください。予想外の結果を避けるため、これらのトリガーを使用するときは、このような内部でのナビゲーションを考慮する必要があります。

トリガー	一般的使用方法
Pre-Form	フォームの起動時のように、Form Builderでフォームの「外」からフォームにナビゲートする直前に動作を実行します。
Pre-Block	Form Builderでフォーム・レベルからブロック・レベルにナビゲートする直前に動作を実行します。
Pre-Record	Form Builderでブロック・レベルからレコード・レベルにナビゲートする直前に動作を実行します。
Pre-Text-Item	Form Builderでレコード・レベルからテキスト項目にナビゲートする直前に動作を実行します。
Post-Text-Item	Form Builderでテキスト項目を出てからレコード・レベルにナビゲートしたときに項目を操作します。
Post-Record	Form Builderでレコードを出てからブロック・レベルにナビゲートしたときにレコードを操作します。
Post-Block	Form Builderでブロックを出てからフォーム・レベルにナビゲートしたときに現行のレコードを操作します。
Post-Form	フォームを終了するときのように、Form Builderでフォームの"外"へナビゲートする前に動作を実行します。
When-New-Instanceトリガー  When-New-Instanceトリガーは、別の項目に入力フォーカスを移すナビゲーション・シーケンスの最後に起動します。特にこれらのトリガーは、Form Builderで入力フォーカスが別の項目に移った直後、フォームがオペレータの入力を待つ静止状態に戻ったときに起動します。

When-New-Instanceトリガーは、Pre-およびPost-ナビゲーション・トリガーと違い、デフォルトのフォーム処理中に発生する内部ナビゲーション・イベントに応答して起動することはありません。

トリガー	一般的使用方法
When-New-Form-Instance	フォームの起動時に動作を実行します（Pre-Formトリガーの起動後に発生します）。
When-New-Block-Instance	前に入力フォーカスのあったブロックとは別のブロックの項目に入力フォーカスが移動した直後に動作を実行します。
When-New-Record-Instance	別のレコードの項目に入力フォーカスが移動した直後に、動作を実行します。別のブロックに新しいレコードがある場合は、When-New-Block-Instance triggerトリガーの後で、When-New-Item-Instance triggerトリガーよりも前に起動します。
When-New-Item-Instance	別の項目に入力フォーカスが移動した直後に、動作を実行します。別のブロックに新しい項目がある場合は、When-New-Block-Instance triggerトリガーの後に起動します。


問合せ時トリガー

  関連項目

問合せ時トリガーは、オペレータまたはアプリケーションがブロックの問合せを実行する直前または直後に起動されます。

トリガー	一般的使用方法
Pre-Query	データベースにSELECT文を送る直前に、プログラムにより現行の問合せ基準の妥当性をチェックしたり、プログラムによって追加の問合せ基準を指定したりします。
Post-Query	レコードをフェッチした後に、現行のレコード内の値を基に他の表の値を参照するような動作を実行します。ブロックにレコードがフェッチされるごとに1回ずつ起動します。


トランザクション・トリガー

  関連項目

トランザクション・トリガーは、フォームとデータ・ソースとのやりとりを行う際に発生する、広範な種類のイベントに応答して起動します。

トリガー	一般的使用方法
On-Delete	トランザクションのポスト中に、削除したレコードを処理するデフォルトのForm Builder処理を置き換えます。
On-Insert	トランザクションのポスト中に、挿入したレコードを処理するデフォルトのForm Builder処理を置き換えます。
On-Lock	データベースの行をロックするために、デフォルトのForm Builder処理を置き換えます。
On-Logon	特にデータベース接続を必要としないフォームと接続する、またはOracle以外のデータ・ソースと接続するデフォルトのForm Builder処理を置き換えます。
On-Logout	Oracleからのログアウトを処理するデフォルトのForm Builder処理を置き換えます。
On-Update	トランザクションのポスト中に、更新したレコードを処理するデフォルトのForm Builder処理を置き換えます。
Post-Database-Commit	データベース・コミット後にデフォルトのForm Builder処理を補強します。
Post-Delete	データベースから行を削除した後にトランザクションを監査します。
Post-Forms-Commit	トランザクションをコミットする前に、デフォルトのForm Builderのコミット文を補強します。
Post-Insert	データベースに行を挿入した後にトランザクションを監査します。
Post-Update	データベースの行を更新した後のトランザクションを監査します。
Pre-Commit	ポストおよびコミット・トランザクション処理の直前で、Form Builderがフォームにポストまたはコミットすべき変更があると判断したとき動作を実行します。
Pre-Delete	デフォルトのポストおよびコミット・トランザクション処理の直前で、データベースからレコードが削除される前にそのレコードを操作します。たとえば、特定の条件が存在する場合にそのレコードの削除を防ぎます。
Pre-Insert	デフォルトのポストおよびコミット・トランザクション処理で、データベースに挿入する前のレコードを処理します。
Pre-Update	デフォルトのポストおよびコミット・トランザクション処理の直前で、データベースのレコードが更新される前にそのレコードの妥当性チェックまたは変更をします。

注意: これらは、利用可能なトランザクション・トリガーの一部にすぎません。ここに記載されていない多くのトリガーは、主にOracle以外のデータ・ソースに対して実行されるアプリケーション用に提供されているOn-イベント・トリガーです。


妥当性チェック・トリガー

  関連項目

妥当性チェック・トリガーは、Form Builderで項目内またはレコード内のデータの妥当性チェックを行うときに起動します。Form Builderでは、オペレータ入力、プログラム制御、あるいはコミット操作のようなデフォルト処理に応答して発生するナビゲーションの際に、妥当性チェックを実行します。

トリガー	一般的使用方法
When-Validate-Item	項目のデフォルトの妥当性チェックを補強します。
When-Validate-Record	レコードのデフォルトの妥当性チェックを補強します。


その他のトリガーのカテゴリ

  関連項目

前セクションでは、トリガーをそのファンクションで分類したグループごとに表示しています。トリガーは、名前で分類することができます。このようなカテゴリは5つあり、それぞれ実行時の処理中に発生するイベントの特定のタイプに関係しています。

When-イベント・トリガー   追加のタスクや操作によってForm Builderのデフォルト処理を補強できるポイントを示します。たとえば、When-Validate-Item triggerトリガーは、Form Builderが項目のデータの妥当性をチェックした直後に起動します。

Form Builderが実行するデフォルトの妥当性チェックを補強するには、When-Validate-Item triggerトリガーに追加の妥当性チェックをコーディングします。ほとんどのWhen-イベント・トリガーに、制限付きビルトイン・サブプログラムのコールを組み込むことができます。

On-イベント・トリガー   Form Builderのデフォルト処理を置き換えできるポイントを示します。たとえば、On-Logonトリガーは、Form BuilderからOracleデータ・ソースにログオンする準備ができたときに起動します。アプリケーションがOracle以外のデータ・ソースへの接続を必要とする場合、Oracle以外のデータ・ソースに適切なログオン・パラメータを渡すOn-Logonトリガーをコーディングします。これにより、デフォルトのOracleのログ・オン処理を完全に置き換えることができます。On-イベント・トリガーには、制限なしビルトイン・サブプログラムのコールを組み込むことができます。

Pre-イベント・トリガー   When-イベントまたはOn-イベントのどちらかが発生する直前のポイントを示します。次のイベントのためのオブジェクトまたはデータを準備するには、これらのイベントのトリガーを使用します。Pre-イベント・トリガーには、制限なしのビルトイン・サブプログラムを組み込むことができます。

Post-イベント・トリガー   When-イベントまたはOn-イベントのどちらかが発生した直後のポイントを示します。オブジェクトまたはデータの妥当性をチェックするイベント、あるいは前にイベントをもとにタスクの監査を実行するイベントに対して、トリガーを記述します。Post-イベント・トリガーには、制限なしビルトイン・サブプログラムを組み込むことができます。

キー・トリガー   キー・トリガーは、特定のキーと1対1の関係を持っています。すなわちこのトリガーは、オペレータが特定のキーまたはキー・シーケンスを押したときに起動します。

ほとんどのGUIアプリケーションでは、オペレータがコマンドを実行する方法が１つ以上用意されています。たとえばオペレータが問合せを実行する場合は、ボタンのクリック、メニュー・コマンドの選択、「問合せ実行」キーなどという方法があります。

このような状況では、決して起動されないようなキー・トリガーにすべてのアプリケーション・ロジックを置くことは間違いです。同様に、マウス駆動アプリケーションでは、「次の項目」や「次のブロックへ」のようなナビゲーション・キーのキー・トリガーに依存することはできません。この場合、オペレータはマウスでナビゲートできるので、これらのキーをナビゲーションに使用さないように選択します。こうすると、対応付けられたトリガーは起動しません。


Delete-Procedureトリガー

全トリガー

説明

削除データ・ソースがストアド・プロシージャのときに、Form Builderによって自動的に作成されます。このトリガーは、削除操作が必要なときにコールされます。これは、デフォルトの削除操作を実行する代わりにシステムによってコールされるOnDeleteトリガーであると考えてください。

このトリガーは変更しないでください。

問合せ入力モード  適用不可

失敗時

影響なし


ファンクション・キー・トリガー

制限事項	全トリガー

説明

ファンクション・キー・トリガーは、個々のランタイム・ファンクション・キーに対応付けられています。ファンクション・キー・トリガーは、対応するファンクション・キーをオペレータが押したときにのみ起動されます。ファンクション・キー・トリガーで定義された動作に、ファンクション・キーが通常実行するデフォルトの処理が置き換わります。

次の表に、すべてのファンクション・キーとそれに対応するランタイム・ファンクション・キーを示します。

キー・トリガー	対応付けられたファンクション・キー
Key-CLRBLK	[ブロック消去]
Key-CLRFRM	[フォーム消去]
Key-CLRREC	[レコード消去]
Key-COMMIT	[アクセプト]
Key-CQUERY	[問合せ件数]
Key-CREREC	[レコード作成]
Key-DELREC	[レコード削除]
Key-DOWN	[下へ]
Key-DUP-ITEM	[項目の複製]
Key-DUPREC	[レコードの複製]
Key-EDIT	[編集]
Key-ENTQRY	[問合せ入力]
Key-EXEQRY	[問合せ実行]
Key-EXIT	[終了]
Key-HELP	[ヘルプ]
Key-LISTVAL	[値リスト]
Key-MENU	[ブロック・メニュー]
Key-NXTBLK	[次のブロックへ]
Key-NXT-ITEM	[次の項目へ]
Key-NXTKEY	[次の主キーへ]
Key-NXTREC	[次のレコードへ]
Key-NXTSET	[次のレコード・セットへ]
Key-PRINT	[印刷]
Key-PRVBLK	[前のブロックへ]
Key-PRV-ITEM	[前の項目へ]
Key-PRVREC	[前のレコードへ]
Key-SCRDOWN	[上方へスクロール]
Key-SCRUP	[下方へスクロール]
Key-UP	[上へ]
Key-UPDREC	[レコード・ブロック]

ファンクション・キー・トリガーを持つすべてのランタイム・ファンクション・キーを再定義できるわけではないことに注意してください。特に、次の静的ファンクション・キーは、Form Builderによってではなく端末またはユーザー・インタフェース管理でしばしば実行されるため、決して再定義できません。

[項目消去]	[先頭行]	[左のスクロール]
[コピー]	[行挿入]	[右のスクロール]
[カツト	[最後行]	[検索]
[文字削除]	[左へ]	[選択]
[行削除]	[ペースト]	[キー表示]
[エラー表示]	[リフレッシュ]	[挿入/置換トグル
[行の終わり]	[右へ]	[転送]

定義レベル  フォーム、ブロックまたは項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

失敗時

影響なし

問合せ入力モード  可

使用上の注意

次のキーで実行されるデフォルトの機能は、問合せ入力モードでは使用できません。

[ブロック消去]	[下へ]	[次のレコードへ]
[フォーム消去]	[項目の複製]	[次のレコード・セットへ]
[レコード消去]	[レコードの複製]	[前のブロックへ]
[アクセプト]	[ブロック・メニュー]	[前のレコードへ]
[レコード作成]	[次のブロックへ]	[上へ]
[レコード削除]	[次の主キーへ]	[レコード・ロック]

一般的な用途

ファンクション・キー・トリガーは、次のタスクを実行するときに使用します。

ファンクション・キーを動的に使用不可にします。

ファンクション・キーのデフォルト動作を置き換えます。

ファンクション・キーを動的に再設定します。

1つのキーまたはキー・シーケンスで、複雑な機能または複数の機能を実行します。


ファンクション・キー・トリガーの制限事項

Form Builderでは、オペレータがダイアログ・ボックスで[コミット/アクセプト]を押したときは、Key-Commitトリガーは無視されます。


Insert-Procedureトリガー

全トリガー

説明

挿入データ・ソースがストアド・プロシージャであるときに、Form Builderによって自動的に作成されます。このトリガーは、挿入操作が必要なときにコールされます。これは、デフォルトの挿入操作を実行する代わりにシステムによってコールされるOnInsertトリガーであると考えてください。

定義レベル

このトリガーは変更しないでください。

問合せ入力モード 適用不可

失敗時

影響なし


Key-Fnトリガー

制限事項	全トリガー

説明

Key-Fnトリガーは、対応付けられたキーをオペレータが押したときに起動されます。

通常は、Key-FnトリガーをForm Builder操作を実行しない10個のキーまたはキー・シーケンスに付加できます。これらのキーはKey-F0～Key-F9と呼ばれます。これらのキーをキー・トリガーに付加する前に、ユーザーまたはDBAはOracle Terminalを使用して適切な機能にキーをマップする必要があります。

定義レベル  フォーム、ブロックまたは項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード  可

使用上の注意

Key-Fnトリガーで、カスタム機能の追加ファンクション・キーを作成します。

デフォルト・メニューの「ヘルプ」 [image] 「キー」メニューに示されているキー説明は常に、そのキーに対して定義されているフォーム・レベルのトリガーに対してのものです。同じくそのキーに対して定義されている下位のトリガー（ブロック・レベルのトリガーなど）が存在する場合、下位のほうのトリガーの説明は、フォーカスが下位レベル（ブロックなど）にあり、かつ[キー表示]が押されているときに表示されますが、デフォルト・メニューの「ヘルプ」 [image] 「キー」メニューには表示されません。

特定のオペレーティング・システム上では、すべてのキーを再マッピングできるとは限りません。たとえば、Microsoft Windowsオペレーティング・システムでは、[F1]が押されると常にWindowsのヘルプ・システムが表示され、[Alt]+[F4]が押されるとアプリケーション・ウィンドウが閉じられようとします。


Key-Fnトリガーの制限事項

Form Builderでは、「編集」モードのKey-Fnトリガーは無視されます。


Key-Othersトリガー

制限事項	全トリガー

説明

Key-Othersトリガーは、対応付けられたキーをオペレータが押すと起動されます。

Key-Othersトリガーは、キーに対応付けられたキー・トリガーがあり、ファンクション・キー・トリガーが（どのレベルにも）現在定義されていないすべてのキーに対応付けられます。

Key-Othersトリガーは、ランタイムのファンクション・キーのデフォルト動作を上書きします（ただし、制限が適用されない場合）。しかしデフォルト動作を上書きしても、Form Builderでは、ファンクション・キーのデフォルト操作がキー一覧表示画面にまだ表示されています。

トリガーのタイプ キー

定義レベル  フォーム、ブロックまたは項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード  可

使用上の注意

Key-Othersトリガーで、オペレータの操作を制限します。特に、Key-Othersトリガーは、次のようなタスクの実行に使用されます。

特定の状況で、関係のないキーをすべて使用不可にします

オペレータが任意のキーを押したとき、ある特定の動作を実行します

次のことにも注意してください。

デフォルト・メニューの「ヘルプ」 [image] 「キー」メニューに示されているキー説明は常に、そのキーに対して定義されているフォーム・レベルのトリガーに対してのものです。同じくそのキーに対して定義されている下位のトリガー（ブロック・レベルのトリガーなど）が存在する場合、下位のほうのトリガーの説明は、フォーカスが下位レベル（ブロックなど）にあり、かつ[キー表示]が押されているときに表示されますが、デフォルト・メニューの「ヘルプ」 [image] 「キー」メニューには表示されません。


Key-Othersトリガーの制限事項

Form Builderでは、次の条件の場合に、Key-Othersトリガーは無視されます。

フォームが「問合せ入力」モードであり「問合せ入力モードで起動」プロパティが「いいえ」になっている場合

値リストまたは、キー一覧表示画面、ヘルプ画面、エラー画面が表示されている場合

オペレータがランタイムのプロンプトに応答している場合

オペレータが静的ファンクション・キーを押している場合


Lock-Procedureトリガー

全トリガー

説明

ロック・データ・ソースがストアド・プロシージャであるときに、Form Builderによって自動的に作成されます。このトリガーは、ロック操作が必要なときにコールされます。これは、デフォルトのロック操作を実行する代わりにシステムによってコールされるOnLockトリガーであると考えてください。

このトリガーは変更しないでください。

問合せ入力モード 適用不可

失敗時

影響なし


On-Check-Delete-Masterトリガー

例	全トリガー

説明

Form Builderでは、ユーザーがマスター/ディテール・リレーションを定義して「レコード削除時の動作」プロパティを「非孤立」に設定したときに、このトリガーが自動的に作成されます。また、このトリガーは、マスター/ディテール・リレーションのマスター・ブロック内のレコードを削除しようとすると起動します。

定義レベル  フォームまたはブロック

有効コマンド

制限付きビルトインを含むすべてのコマンド

問合せ入力モード  不可

失敗時

現行のマスター・レコードの削除を防ぎます。

起動条件

マスター/ディテール調整


On-Check-Delete-Masterトリガーの例

例

次の例は、マスター/ディテール・リレーション用にデフォルトで生成されるOn-Check-Delete-Masterトリガーです。このトリガーは、配送合計が購入注文合計と等しくない場合に失敗します。

DECLARE
  the_sum NUMBER;
BEGIN
  SELECT SUM(dollar_amt)
    INTO the_sum
    FROM po_distribution
   WHERE po_number = :purchase_order.number;

/* Check for errors */
  IF the_sum <> :purchase_order.total THEN
    Message('PO Distributions do not reconcile.');
    RAISE Form_Trigger_Failure;
     ELSIF form_fatal OR form_failure THEN
     raise form_trigger_failure;
  end if;
END;


On-Check-Uniqueトリガー

例	   関連項目	全トリガー

説明

コミット操作中、データベースにレコードを挿入または更新する前に、Form Builderで主キーの値が一意であることがチェックされると、On-Check-Uniqueトリガーが起動されます。このトリガーは、レコードが挿入または更新されるごとに1回起動されます。

レコードの一意性をチェックするデフォルト処理を置換します。ブロックのDeleteProcedureトリガープロパティが「はい」に設定されているとき、Form Builderは、デフォルトにより適切なSQL文を組み立て実行して、レコードの一意性をチェックし、現行のレコードの主キー値に一致する行を選択します。重複する行が見つかると、メッセージ「FRM-40600: レコードは既に挿入されています。」が表示されます。

挿入がマークされているレコードの場合、Form Builderでは常に主キー値の一意性がチェックされます。更新の場合には、「主キー」プロパティが「はい」に設定された項目が変更されると、主キー値の一意性がチェックされます。

定義レベル

フォーム、ブロック

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

このトリガーからデフォルト処理を実行するには、CHECK_RECORD_UNIQUENESSビルトインをコールします。

失敗時

影響なし

起動条件

レコードの一意性のチェック

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


On-Check-Uniqueトリガーの例

例

次の例では、問合せ中の現行のレコードがDEPT表にもう存在しないことを検証しています。

DECLARE
  CURSOR chk_unique IS SELECT 'x'
                         FROM dept
                        WHERE deptno = :dept.deptno;
  tmp VARCHAR2(1);
BEGIN
  OPEN chk_unique;
  FETCH chk_unique INTO tmp;
  CLOSE chk_unique;
  IF tmp IS NOT NULL THEN
    Message('This department already exists.');
    RAISE Form_Trigger_Failure;
     ELSIF form_fatal OR form_failure THEN
     raise form_trigger_failure;
  END IF;
END;


On-Clear-Detailsトリガー

全トリガー

説明

マスター/ディテール・リレーションのマスター・ブロックであるブロックに調整の原因となるイベントが発生したときに起動されます。調整の原因となるイベントとは、別のレコードをマスター・ブロック内の現行のレコードにするイベントです。

定義レベル  フォーム、ブロック

有効コマンド

制限付きビルトインを含むすべてのコマンド

問合せ入力モード  不可

使用上の注意

マスター/ディテール・ブロック・リレーションが定義されると、Form Builderで自動的にOn-Clear-Detailsトリガーが作成されます。

失敗時

調整の原因となる操作トリガーおよび予定の調整トリガーが異常終了します。

起動条件

マスター/ディテール調整

プロセス・フローチャートを参照してください。


On-Closeトリガー

例	   関連項目	全トリガー

説明

オペレータまたはアプリケーションが問合せをクローズさせたときに起動されます。デフォルトでは、問合せ基準で識別されたレコードがすべてフェッチされたとき、またはオペレータかアプリケーションが問合せを取り消したときに、Form Builderで問合せがクローズされます。

On-Closeトリガーにより、標準のForm Builderの問合せの「クローズ・カーソル」フェーズが補強されます。

定義レベル  フォーム

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

特に、On-CloseトリガーをOn-SelectトリガーまたはOn-Fetchトリガーの使用後に使用すると、ファイルおよびカーソルがクローズされてメモリーが解放にされます。

On-Closeトリガーは、ABORT_QUERYビルトインがOn-Selectトリガーからコールされたときに、自動的に起動されます。

失敗時

影響なし

起動条件

ABORT_QUERY

問合せのクローズ

プロセス・フローチャートを参照してください。


On-Closeトリガーの例

例

次の例では、トランザクション・トリガーを使用したユーザー定義のデータ・アクセス・メソッドで使用されているメモリーが解放されます。

BEGIN
  IF NOT my_data source_open('DX110_DEPT') THEN
    my_datasource_close('DX110_DEPT');
     ELSIF form_fatal OR form_failure THEN
     raise form_trigger_failure;
  END IF;
END;


On-Column-Securityトリガー

例	   関連項目	全トリガー

説明

このトリガーは、「列セキュリティの強化」ブロック・プロパティを持つ各ブロックの列レベルのセキュリティ設定が「はい」にされているときに起動されます。

デフォルトでは、データベースに問合せて列のセキュリティが施行され、現行のフォーム・オペレータが更新権限を持つデータベースの列が判別されます。オペレータに更新権限がない列の場合、「更新可」項目プロパティが動的に「いいえ」に設定され、フォーム内の対応するデータベース項目が更新不可能になります。Form Builderでは、フォームの起動時に各ブロックを順番に処理しながらこの操作が実行されます。

定義レベル  フォーム、ブロック

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

このトリガーからデフォルト処理を実行するには、ENFORCE_COLUMN_SECURITYビルトインをコールします。

失敗時

影響なし


On-Column-Securityトリガーの例

例

次の例では、SUPERUSERロールが使用可能でない限り、現行のブロック内の給料および歩合テキスト項目を、使用不可および更新不可能に設定します。ユーザー定義のSUPERUSERロールを持つユーザーのみがこれらの番号フィールドを変更できます。

DECLARE
  itm_id Item;
  on_or_off NUMBER;
BEGIN
  IF NOT role_is_set('SUPERUSER') THEN
     on_or_off := PROPERTY_OFF;
  ELSE
    on_or_off := PROPERTY_ON;
  END IF;
  itm_id := Find_Item('Emp.Sal');
  Set_Item_Property(itm_id,ENABLED,on_or_off);
  Set_Item_Property(itm_id,UPDATEABLE,on_or_off);
  itm_id := Find_Item('Emp.Comm');
  Set_Item_Property(itm_id,ENABLED,on_or_off);
  Set_Item_Property(itm_id,UPDATEABLE,on_or_off);

IF form_fatal OR form_failure THEN
     raise form_trigger_failure;
END IF;
END;


On-Commitトリガー

例	関連項目	全トリガー

説明

Form Builderで、トランザクションを終了するデータベース・コミット文が通常に発行されるときに起動されます。デフォルトでは、この操作は、更新および、挿入、削除のマークが付いているすべてのレコードがデータベースにポストされた後に発生します。

このトリガーは、「トランザクションのポストおよびコミット」プロセス中に、トランザクションを終了させるためにForm Builderで発行されたデフォルトのCOMMIT文を置き換えます。

定義レベル  フォーム

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Commitトリガーは、通常のForm Builderのコミット処理の条件を変更し、Oracle以外のデータベースの特定のコミット要件に適合させるために使用されます。

このトリガーからデフォルト処理を実行するには、COMMIT_FORMビルトインをコールします。

失敗時

ポストおよびコミット処理が中止されます。

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


On-Commitトリガーの例

例

この例では、トランザクション制御がサポートされていないデータ・ソースに対して処理が実行される場合に、コミット操作を使用不可能にしています。アプリケーションがOracleに対して実行される場合は、コミット操作は正常に動作します。

BEGIN
  IF Get_Application_Property(DATA_SOURCE) = 'ORACLE' THEN
    Commit_Form;
     ELSIF form_fatal OR form_failure THEN
     raise form_trigger_failure;
  END IF;

/*
  ** Otherwise, no action is performed
  */
END;


On-Countトリガー

例	   関連項目	全トリガー

説明

Form Builderでデフォルトの問合せ件数のカウント処理が正常に実行されて、現行の問合せ基準に一致するデータベース内の行数が判断されたとき起動されます。On-Countトリガーの実行が終了すると、標準的な問合せヒット・メッセージ「FRM-40355:問合せによって<レコード件数>件のレコードが取り出されます。」が表示されます。

定義レベル  フォーム、ブロック

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム

問合せ入力モード  可

使用上の注意

On-Countトリガーは、Oracle以外のデータ・ソースで実行されるアプリケーション内の「問合せ件数のカウント」のデフォルト処理を置き換えます。

このトリガーからデフォルト処理を実行するには、COUNT_QUERYビルトインをコールします。

デフォルト処理を置き換えていると、「Query_Hits」ブロック・プロパティの値を設定して、問合せ基準に一致するOracle以外のデータ・ソース内のレコード数を指定できます。

Form Builderでは、On-Countトリガーが「Query_Hits」ブロック・プロパティの値の設定に失敗した場合でも、問合せヒット・メッセージ（FRM-40355)が表示されます。その場合、メッセージには指定レコード数0が表示されます。

失敗時

影響なし

起動条件

COUNT_QUERYCOUNTQUE>referenc

プロセス・フローチャートを参照してください。


On-Countトリガーの例

例

この例では、ユーザー命名サブプログラムがコールされて現行の問合せ基準で検索されたレコード数がカウントされ、「Query_Hits」プロパティが適切に設定されます。

DECLARE
  j NUMBER;
BEGIN
  j := Recs_Returned('DEPT',Name_In('DEPT.DNAME'));
  Set_Block_Property('DEPT',QUERY_HITS,j);
END;


On-Deleteトリガー

例	   関連項目	全トリガー

説明

「トランザクションのポストおよびコミット」プロセスの間に起動し、トランザクションのポスト中に削除されたレコードを取り扱うForm Builderのデフォルト処理を置き換えます。特に、このトリガーはPre-Deleteトリガーの起動後およびPost-Deleteトリガーの起動前に起動し、指定された行の実際のデータベース削除を置き換えます。データベースからの削除のマークが付けられた行ごとに、このトリガーが1回起動されます。

定義レベル  フォームまたはブロック

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Deleteトリガーにより、トランザクションのポスト中に削除されたレコードを取り扱うForm Builderのデフォルト処理を置き換えます。

このトリガーからデフォルトのForm Builderのデフォルト処理を実行するには、すなわちフォームまたはデータベースからレコードを削除するには、DELETE_RECORDビルトインのコールを組み込みます。

失敗時

最後のセーブポイントまでロールバックします。

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


On-Deleteトリガーの例

例

この例では、実際にデータベースから従業員を削除せずに、Termination_Dateを設定して従業員表を更新します。

BEGIN
  UPDATE emp
     SET termination_date = SYSDATE
   WHERE empno = :Emp.Empno;
IF form_fatal OR form_failure THEN
   raise form_trigger_failure;
END IF;
END;


On-Dispatch-Eventトリガー

全トリガー

説明

このトリガーは、ActiveXコントロール・イベントの発生時にコールされます。このトリガーの内部からDISPATCH_EVENTビルトインをコールして、ディスパッチ・モードを制限付きまたは制限なしのどちらかに指定できます。ActiveXコントロール・イベントを使用した作業の詳細は、ActiveXコントロール・イベントへの応答を参照してください。

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

失敗時

影響なし


On-Dispatch-Eventトリガーの例

例

/*

ON-DISPATCH-EVENT trigger
*/
BEGIN
IF SYSTEM.CUSTOM_ITEM_EVENT = 4294966696 THEN
/*when event occurs, allow it to apply to different items */.
FORMS4W.DISPATCH_EVENT(RESTRICTED_ALLOWED);
ELSE
/*run the default, that does not allow applying any other	item */
FORMS4W.DISPATCH_EVENT(RESTRICTED_UNALLOWED);
ENDIF;

IF form_fatal OR form_failure THEN
     raise form_trigger_failure;
  END IF;

END;


On-Errorトリガー

例	   関連項目	全トリガー

説明

On-Errorトリガーは、Form Builderで正常にエラー・メッセージが表示されると起動されます。

置換

メッセージ行へのエラー・メッセージの書込み。

定義レベル  フォーム、ブロックまたは項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード  可

使用上の注意

On-Errorトリガーは、次の目的に使用します。

エラーを検出および修復します

標準エラー・メッセージをカスタム・メッセージと置き換えます。

On-ErrorトリガーのERROR_CODE、ERROR_TEXT、ERROR_TYPE、DBMS_ERROR_TEXTまたはDBMS_ERROR_CODEのいずれかのビルトイン・ファンクションを使用して、特定のエラー条件を識別します。

ほとんどの場合、On-Errorトリガーは、ブロックまたは項目ではなく、フォームに付加してください。コミット処理中のようなForm Builderの内部ナビゲーション実行中にエラーが発生すると、ブロックまたは項目レベルで特定のエラーの検出が困難なことがあります。

失敗時

影響なし


On-Errorトリガーの例

例

次の例では、特定のエラー・メッセージ・コードをチェックし、適切に対応します。

DECLARE
   lv_errcod  NUMBER       := ERROR_CODE;
   lv_errtyp  VARCHAR2(3)  := ERROR_TYPE;
   lv_errtxt  VARCHAR2(80) := ERROR_TEXT;
BEGIN
   IF (lv_errcod = 40nnn) THEN
   /*
   **  Perform some tasks here
   */
   ELSIF (lv_errcod = 40mmm) THEN
   /*
   **  More tasks here
   */
   ...
...
ELSIF (lv_errcod = 40zzz) THEN
   /*
   **  More tasks here
   */
ELSE
   Message(lv_errtyp||'-'||to_char(lv_errcod)||':'||lv_errtxt);
   RAISE Form_Trigger_Failure;
END IF;
END;


On-Fetchトリガー

例	   関連項目	全トリガー

説明

問合せが最初にオープンされると、最初のレコードがブロックにフェッチされたときにOn-Selectトリガーが起動され、そのすぐ後にこのOn-Fetchトリガーが起動されます。問合せがオープンしている間、行のセットをブロックにフェッチする必要があるごとに再度起動されます。

定義レベル  フォームまたはブロック

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Fetchトリガーを書いてデフォルトのフェッチ処理と置き換えたとき、トリガーは次のことを行う必要があります。

「Records_To_Fetch」プロパティの設定で指定されているように、Oracle以外のデータ・ソースから適切なレコード数を検索します。

現行のブロック内に問合せされたレコード件数分のレコードを作成します。

ブロック内のレコードに検索データを移入します。

CREATE_QUERIED_RECORDビルトイン・サブプログラムをコールすることによって、On-Fetchトリガーから問合せレコードを作成します。

問合せがオープンしている間、ブロック内に必要なレコードがある限りOn-Fetchトリガーを起動し続ける。この動作は、次の時点まで続きます。

問合せレコードがトリガーの1回の実行で作成されなくなるまで。レコードの作成に失敗すると、フェッチ終了を指示するシグナルがForm Builderに送られて、検索するレコードがもう存在しないことを示します。

オペレータまたはプログラムによりABORT_QUERYビルトインがコールされて問合せがクローズされるまで。

トリガー内でビルトイン例外状況FORM_TRIGGER_FAILUREが発生するまで。

このトリガーからForm Builderのデフォルト処理を実行するには、トリガーにFETCH_RECORDSビルトインのコールを組み込みます。

ABORT_QUERYビルトインをOn-Fetchトリガー内で使用しないでください。ABORT_QUERYは、On-Fetchトリガー内では無効であり、一貫性に欠けた結果が生じます。

失敗時

影響なし

起動条件

レコードのフェッチ

プロセス・フローチャートを参照してください。


On-Fetchトリガーの例

この例では、クライアント側のパッケージ・ファンクションがコールされて、パッケージ・カーソルから適切な行数が検索されます。

DECLARE
  j NUMBER := Get_Block_Property(blk_name, RECORDS_TO_FETCH);
  emprow emp%ROWTYPE;

BEGIN
  FOR ctr IN 1..j LOOP
    /*
    ** Try to get the next row.
    */
    EXIT WHEN NOT MyPackage.Get_Next_Row(emprow);
    Create_Queried_Record;
    :Emp.rowid := emprow.ROWID;
    :Emp.empno := emprow.EMPNO;
    :Emp.ename := emprow.ENAME;
       :
       :
  END LOOP;
    IF form_fatal OR form_failure THEN
     raise form_trigger_failure;
  END IF;

END;


On-Insertトリガー

関連項目	全トリガー

説明

「トランザクションのポストおよびコミット」プロセス中、レコードの挿入時に起動されます。このトリガーは特に、Form Builderでデータベースに正常にレコードが挿入されるときに、Pre-Insertトリガーの起動後およびPost-Insertトリガーの起動前に起動されます。データベースへの挿入のマークが付けられている行ごとに、このトリガーが1回起動されます。

定義レベル  フォームまたはブロック

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Insertトリガーでは、トランザクションのポスト中にレコード挿入を処理するForm Builderのデフォルト処理が置き換わります。

このトリガーからForm Builderのデフォルト処理を実行するには、トリガーにINSERT_RECORDビルトインのコールを組み込みます。

失敗時

On-Insertトリガーが失敗すると、Form Builderでは次のステップが実行されます。

エラー位置の設定

最後のセーブポイントまでロールバック

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


On-Lockトリガー

関連項目	全トリガー

説明

オペレータが項目のデータを変更するためにキーを押し、Form Builderで正常に行のロックが試みられたときに起動します。このトリガーは、キーの押下と変更データの表示の間に起動します。

定義レベル  フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Lockトリガーは、行をロックするForm Builderのデフォルト処理を置き換えます。たとえば、単一ユーザー・システムで使用するアプリケーションに対してOn-Lockトリガーを使用すると、すべてのロック処理が迂回され、処理が速くなります。また、Open Gatewayによってではなく、Oracle以外のデータ・ソースに直接アクセスしているときにも、On-Lockトリガーを使用します。

オペレータがデータ変更を試みた結果On-Lockトリガーが起動されるときは、オペレータがレコード内の項目を最初に変更しようとしたときのみです。同じレコードの項目に対するその後の変更には起動されません。つまり、このトリガーは、ロックされるすべての行ごとに1回のみ起動されます。

このトリガーからForm Builderのデフォルト処理を実行するには、トリガーにLOCK_RECORDビルトインのコールを組み込みます。

このトリガーで、更新不可能なビューのひな型となる表をロックします。

注意

特殊な状況では、On-LockトリガーにLOCK TABLE DML文を使用できます。しかし、これは他のユーザーを表から締め出してしまう可能性があるので、使用の際は注意が必要です。LOCK TABLEを使用する前に、『Oracle7 Serverアプリケーション開発者ガイド』を参照してください。

失敗時

On-Lockトリガーが失敗すると、ターゲット・レコードはロックされず、現行の項目に入力フォーカスが置かれます。何らかの理由で現行の項目に入力できない場合、Form Builderでは前のナビゲート可能な項目に入力フォーカスが移ります。

起動条件

行のロック

プロセス・フローチャートを参照してください。


On-Logonトリガー

関連項目	全トリガー

説明

Form Builderで正常にログオン・シーケンスが開始されると、ログオンごとに1回起動されます。

定義レベル  フォーム

有効コマンド

制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Logonトリガーでは、Oracle以外のデータ・ソースへのログオン・プロシージャのために使用されます。

Pre-LogonトリガーおよびPost-Logonトリガーは、ログオン・プロシージャの一部として起動されます。

データ・ソースを必要としないアプリケーションを作成するには、このトリガーにNULLコマンドを指定してデータ・ソースへの接続を迂回します。

このトリガーからForm Builderのデフォルト処理を実行するには、トリガーにLOGONビルトインのコールを組み込みます。

失敗時

フォームの終了が試みられますが、Post-Logonトリガーは起動されません。

起動条件

LOGON

プロセス・フローチャートを参照してください。


On-Logoutトリガー

関連項目	全トリガー

説明

Form BuilderとRDBMSで正常にログアウト・プロシージャが開始されたときに起動されます。

定義レベル  フォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Logoutトリガーは、OracleまたはOracle以外のデータ・ソースからのデフォルト・ログアウト処理を置き換えるときに使用します。

このトリガーからForm Builderのデフォルト処理を実行するには、トリガーにLOGOUTビルトインのコールを組み込みます。

ログアウト・トリガーの1つの中から特定のビルトインをコールしても、結果は未定義です。たとえば、Pre-Logoutは「フォームを出る」イベントの後で起動されるため、Pre-LogoutトリガーからCOPYビルトインはコールできません。フォームはもうアクセスできないため、COPYビルトイン操作はできません。

失敗時

On-Logoutトリガーに例外状況が生じ、現行のランタイム・セッションが終了されると、Form Builderで、Post-Logoutのような他のトリガーは起動されません。

起動条件

LOGOUT

プロセス・フローチャートを参照してください。


On-Messageトリガー

例	   関連項目	全トリガー

説明

Form Builderで正常にメッセージが表示されたときに起動され、そのメッセージを差し替えます。

定義レベル  フォーム、ブロックまたは項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード  可

使用上の注意

On-Messageトリガーは次の目的に使用します

情報メッセージを検出し応答する場合。

標準情報メッセージをカスタム・メッセージと置き換える場合。

不適切なメッセージを除外する場合

On-Messageトリガーの中のMESSAGE_CODE、MESSAGE_TEXTまたはMESSAGE_TYPEの各ビルトインを使用して、特定のメッセージ条件の発生を識別します。

On-Messageトリガーを使用してメッセージを検出しても、メッセージ行にそれが表示されない場合は、GET_MESSAGEビルトインは値を戻しません。このトリガーから現行のメッセージを表示するには、メッセージを検出してそれを表示デバイスに明示的に書く必要があります。

ほとんどの場合、On-Messageトリガーはブロックや項目ではなく、フォームに付加します。コミット処理中のようなForm Builderの内部ナビゲーション実行中にエラーが発生すると、ブロックまたは項目レベルで特定のエラーの検出が困難なことがあります。

失敗時

影響なし


On-Messageトリガーの例

例

次の例では、ユーザーにメッセージが表示され、継続または停止の選択警告が表示されて、エラー・メッセージに対応します。

DECLARE
  alert_button NUMBER;
  lv_errtype VARCHAR2(3) := MESSAGE_TYPE;
  lv_errcod NUMBER := MESSAGE_CODE;
  lv_errtxt VARCHAR2(80) := MESSAGE_TEXT;
BEGIN
  IF lv_errcod = 40350 THEN
    alert_button := Show_Alert('continue_alert');
    IF alert_button = ALERT_BUTTON1 THEN
      ...
    ELSE
      ...
    END IF;
  ELSE
    Message(lv_errtyp||'-'||to_char(lv_errcod)||':'||lv_errtxt);
    RAISE Form_Trigger_Failure;
  END IF;
    IF form_fatal OR form_failure THEN
     raise form_trigger_failure;
  END IF;

END;


On-Populate-Detailsトリガー

全トリガー

説明

マスター/ディテール・リレーションが定義されると、Form Builderで自動的にこのトリガーが作成されます。このトリガーは、Form Builderで通常どおりにマスター/ディテール・リレーションのディテール・ブロックにデータを入れる必要がある場合に起動します。

定義レベル  フォーム、ブロック

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Populate-Detailsトリガーは、マスター/ディテール・リレーションを確立した後で問合せのデフォルトのデータ入力フェーズを置き換えるときに使用します。

On-Populate-Detailsトリガーは、On-Clear-Detailsトリガーが存在しない限り起動されません。デフォルトのマスター/ディテール機能を使用している場合、Form Builderで必要なトリガーが自動的に作成されます。しかし、ユーザー独自のマスター/ディテール論理を書いた場合には、NULL文のみを含む場合でもOn-Clear-Detailsトリガーが必要です。

「延期」プロパティが「いいえ」に設定されていると、マスターのディテール項目へレコードの挿入が即座に行われます。「いいえ」はデフォルト設定です。

「延期」プロパティが「はい」に設定されているときにこのトリガーが起動すると、ブロックに調整の必要があるというマークが付けられます。

ブロック調整をユーザーが管理する場合には、SET_BLOCK_PROPERTY（COORDINATION_STATUS）ビルトインをコールできます。

失敗時

フォームに矛盾が生じる場合があります。

起動条件

マスター/ディテール調整

プロセス・フローチャートを参照してください。


On-Rollbackトリガー

関連項目	全トリガー

説明

Form Builderで正常にROLLBACK文を発行されたときに起動され、発行された最後のセーブポイントまでトランザクションがロールバックされます。

定義レベル  フォーム

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Rollbackトリガーは、標準Form Builderロールバック処理を置き換えるときに使用します。

このトリガーからデフォルトのForm Builder処理を実行するには、トリガーにISSUE_ROLLBACKビルトインのコールを組み込む。

起動条件

CLEAR_FORM

トランザクションのポストおよびコミット

ROLLBACK_FORM

プロセス・フローチャートを参照してください。


On-Savepointトリガー

関連項目	全トリガー

説明

Form Builderで正常にSavepoint文が発行されたときに起動されます。デフォルトでは、フォームの起動時および「トランザクションのポストおよびコミット」処理の起動時にセーブポイントが発行されます。

定義レベル  フォーム

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

このトリガーからForm Builderのデフォルトを実行するには、トリガーにISSUE_SAVEPOINTビルトインのコールを組み込みます。

On-Savepointトリガーでは、「Savepoint_Name」アプリケーション・プロパティにより、On-Savepointトリガーが存在しない場合にデフォルトで発行される次のセーブポイントの名前が返されます。On-Rollbackトリガーでは、Savepoint_NameからForm Builderがロールバックするセーブポイントの名前が返されます。

「Savepoint Mode」フォーム・モジュール・プロパティを「PROPERTY_FALSE」に設定して、セーブポイントのデフォルト処理を抑止できます。「SAVEPOINT_MODE」が「PROPERTY_OFF」のときは、Form Builderではセーブポイントが発行されず、On-Savepointトリガーは起動されません。

失敗時

影響なし

起動条件

CALL_FORM

トランザクションのポストおよびコミット

SAVEPOINT

プロセス・フローチャートを参照してください。


On-Selectトリガー

例	   関連項目	全トリガー

説明

Form Builderでカーソルのオープン、解析および問合せの実行フェーズが正常に実行されたときに起動され、現行の問合せ基準に一致するデータベースのレコードを識別します。

定義レベル  フォームまたはブロック

有効コマンド

SELECT文、PL/SQL、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Selectトリガーは、データベース・カーソルをオープンして実行します。特に、Oracle以外のデータ・ソースからデータを検索するときには、このトリガーが使用されます。On-Selectトリガーは、On-Fetchトリガーと共に使用され、EXECUTE_QUERYビルトイン・サブプログラムに通常発生する処理を置き換えます。

このトリガーからForm Builderのデフォルト処理を実行するには、SELECT_RECORDSビルトインのコールを組み込みます。

失敗時

影響なし

起動条件

EXECUTE_QUERY

問合せのオープン

プロセス・フローチャートを参照してください。


On-Selectトリガーの例

例

次の例では、On-Selectトリガーを使用してユーザー・イグジット、「問合せ」ビルトイン・サブプログラムSELECT_RECORDSがコールされ、データベースに対する問合せが実行されます。

IF Get_Application_Property(DATASOURCE) = 'DB2' THEN
  User_Exit ( 'Query' );
  IF Form_Failure OR Form_Fatal THEN
    ABORT_QUERY;
  END IF;
ELSE
  /*
  **  Perform the default Form Builder task of opening the query.
  */
  Select_Records;
END IF;


On-Sequence-Numberトリガー

全トリガー

説明

Form Builderで通常どおりにデフォルトの項目値の順序番号を生成するデフォルト処理を実行するときに起動されます。このトリガーは、Form Builderとデータベースとの対話時に、データベースに定義されたSEQUENCEオブジェクトから次の値を得たときに発生する一連のデフォルトのイベントを置き換えます。

定義レベル  フォーム、ブロックまたは項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

SEQUENCEがデフォルト項目値として使用されるとき「レコード作成」イベントが発生すると、Form Builderではデータベースへの問合せが行われ、SEQUENCEから次の値が得られます。On-Sequence-Numberトリガーでこの機能を抑止または上書きします。

このトリガーからForm Builderのデフォルト処理を実行するには、トリガーにGENERATE_SEQUENCE_NUMBERビルトインのコールを組み込みます。

失敗時

影響なし

起動条件

GENERATE_SEQUENCE_NUMBER

プロセス・フローチャートを参照してください。


On-Updateトリガー

全トリガー

説明

「トランザクションのポストおよびコミット」プロセス中、レコードの更新時に起動されます。特に、Form Builderで正常にデータベース内のレコードが更新されたときに、Pre-Updateトリガーの起動後およびPost-Updateトリガーの起動前に起動されます。フォームの中で更新のマークが付いている行ごとに1回起動されます。

定義レベル  フォームまたはブロック

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード  不可

使用上の注意

On-Updateトリガーは、トランザクションのポスト中にレコードを更新するForm Builderのデフォルト処理を置き換えます。

このトリガーからForm Builderのデフォルト処理を実行するには、トリガーにUPDATE_RECORDビルトインのコールを組み込みます。

失敗時

On-Updateトリガーが失敗すると、Form Builderでは次のステップが実行されます。

エラー位置の設定

最後に発行されたセーブポイントまでロールバック

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Post-Blockトリガー

 制限事項	  全トリガー

説明

「ブロックを出る」プロセスの間、フォーカスが現在のブロックを離れたときに起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Blockトリガーは、ブロックの現行のレコード、すなわち「ブロックを出る」イベントが発生したときに入力フォーカスのあったレコードを検証します。

ユーザーがこの条件に基づくブロックから出るのを防ぐには、このトリガーを使用して条件をテストします。

失敗時

フォームにナビゲーション単位を作成させるときにこのトリガーが失敗すると、Form Builderで特定のブロックまたはレコード、項目へのターゲットが設定されます。これに失敗すると、Form Builderによりターゲットの位置にカーソルが置かれます。しかし、ターゲットが現行の単位の外にある場合またはオペレータがプロセスの終了を指示した場合には、フォームは中止されます。

起動条件

ブロックを出る

プロセス・フローチャートを参照してください。


Post-Blockトリガーの制限

Post-Blockトリガーは、「有効単位」フォーム・モジュール・プロパティが「フォーム」に設定されているときは起動されません。


Post-Changeトリガー

 制限事項	    関連項目	  全トリガー

説明

次の条件のいずれかで起動されます。

•	「項目の妥当性チェック」プロセスで、項目が「変更」とマークされNULLではないと判断されたとき。

•	オペレータが値リストから選択して項目に値を返し、その項目がNULLではないとき。

•	Form BuilderでNULLでない値が項目にフェッチされたとき。この場合、When-Validate-Itemトリガーは起動されません。この状況を回避し、Post-Changeトリガーを効率的に除去するには、When-Validate-ItemトリガーにPost-Queryトリガーを含める必要があります。後述の「使用上の注意」を参照してください。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Changeトリガーは、Form Builderの以前のバージョンと互換性のある場合にのみ含まれます。新しいアプリケーションでの使用はお薦めしません。

Post-Queryトリガーには、Post-Changeトリガーの制限はありません。Post-Queryを使用して、フェッチしたデータベースの値を変更できます。このような変更を指定した場合、Form Builderで、対応する項目およびレコードが変更とマークされます。

失敗時

ナビゲーションにより開始された妥当性チェックの一部として起動された場合、ナビゲーションは失敗し、フォーカスは元の項目のままです。

フォーム内にV2-スタイル・トリガーがあり、フェッチされた値をForm Builderでレコードに挿入する場合、次の制限が適用されます。

•	Form Builderでは、レコード内のデータベース項目の値を変更する試みはすべて無視されます。

•	Form Builderでは、レコード内のデータベース項目に影響するのみのSELECT文は実行されません。

•	Form Builderでは、INTO句を持たないSELECT文は実行されません。

•	Form Builderにより、V2-スタイル・トリガー・ステップのSELECT文が実行されない場合、「逆戻りコード」トリガー・ステップ・プロパティが設定されているときでも、トリガー・ステップは正常終了したステップであるかのように扱われます。

フェッチ処理中には、PL/SQLトリガーとして定義されたPost-Changeトリガーでは、これらの制限は実行されません。トリガー・スタイルにかかわらず、レコードのフェッチ中は、Form Builderで妥当性チェックは実行されませんが、各項目ごとにPost-Changeトリガーを起動した後で、レコードおよび項目が有効とマークされます。

起動条件

項目の妥当性チェック

レコードのフェッチ

プロセス・フローチャートを参照してください。


Post-Changeトリガーの制限

Form Builderで検証されている項目の値を変更するPost-Changeトリガーを書き込むことができます。妥当性チェックが正常終了すると、Form Builderは変更された項目に有効のマークを付けるので、変更した項目をもう一度妥当性チェックすることはありません。この動作は妥当性チェックのループを避けるために必要ですが、ユーザーはデータベースに無効な値もコミットできてしまいます。


Post-Database-Commitトリガー

 例	     関連項目	  全トリガー

説明

このトリガーは、「トランザクションのポストおよびコミット」プロセスの間、データベースのコミットが発生した後に起動されます。Post-Forms-Commitトリガーは、データベースに挿入、更新、削除がポストされた後で起動されますが、トランザクションがコミットを発行して終了する前であることに注意してください。Post-Database-Commitトリガーは、Form Builderでコミットが発行されてトランザクションが終了した後に起動されます。

定義レベルフォーム

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Database-Commitトリガーは、データベース・コミットが発生したときにある動作を実行するために使用します。

失敗時

このトリガーが失敗した時点では、Form Builderではすでに正常終了のロールバック操作を失敗の応答として開始できる場所を過ぎてしまっているため、ロールバックしません。

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Post-Database-Commitトリガーの例

例

/*

** FUNCTION recs_posted_and_not_committed
**  RETURN BOOLEAN IS
** BEGIN
**  Default_Value('TRUE','Global.Did_DB_Commit');
**  RETURN (:System.Form_Status = 'QUERY'
**         AND :Global.Did_DB_Commit = 'FALSE');
** END;
*/
BEGIN
  :Global.Did_DB_Commit := 'FALSE';
END;


Post-Deleteトリガー

  全トリガー

説明

「トランザクションのポストおよびコミット」プロセスの間、行が削除された後に起動されます。コミット・プロセス中に行がデータベースから削除されるごとに1回起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Deleteトリガーは、トランザクションを監査するために使用します。

失敗時

Post-Deleteトリガーが失敗すると、Form Builderでは次のステップが実行されます。

•	エラー位置の設定

•	最後のセーブポイントまでロールバック

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Post-Formトリガー

  全トリガー

説明

「フォームを出る」プロセス中、フォームが終了されると起動されます。

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Formトリガーは、次のタスクに使用します。

•	終了前にフォームをクリーンアップします。たとえば、Post-Formトリガーを使用して、フォームで今後必要としないグローバル変数を消去します。

•	フォームの終了時にオペレータにメッセージを表示します。

このトリガーは、フォームが異常終了したとき、たとえばフォームの妥当性チェックに失敗したときは起動されません。

失敗時

処理が停止します。

起動条件

フォームを出る

プロセス・フローチャートを参照してください。


Post-Forms-Commitトリガー

 例	     関連項目	  全トリガー

説明

「トランザクションのポストおよびコミット」プロセス中に起動されます。挿入または更新、削除とマークされたレコードがフォーム内にある場合、Post-Forms-Commitトリガーは、これらの変更がデータベースに書き込まれた後、Form Builderでデータベース・コミットが発行されてトランザクションが終了する前に起動されます。

フォームに挿入または更新、削除とマークされたレコードがないときに、オペレータが、またはアプリケーションでコミットを開始した場合、Form BuilderではPost-Forms-Commitトリガーがすぐに起動され、データベースには変更がポストされません。

定義レベルフォーム

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Forms-Commitトリガーは、データベース・コミットが発生しそうなときに、監査証跡のような処理を実行するために使用します。

失敗時

ポストおよびコミット・プロセスが中止されます。Form Builderによりロールバックが発行され、内部のセーブポイント・カウンタが減分されます。

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Post-Forms-Commitトリガーの例

例

この例では、Post-Database-Commitトリガーとともに使用し、ポストされてもコミットされていないレコードがないか検出されます。

/*
** FUNCTION recs_posted_and_not_committed
** RETURN BOOLEAN IS
** BEGIN
**    Default_Value('TRUE','Global.Did_DB_Commit');
**    RETURN (:System.Form_Status = 'QUERY'
**       AND :Global.Did_DB_Commit = 'FALSE');
** END;
*/
BEGIN
  :Global.Did_DB_Commit := 'FALSE';
END;


Post-Insertトリガー

  全トリガー

説明

「トランザクションのポストおよびコミット」プロセス中、列が挿入されたすぐ後に起動されます。コミット・プロセス中、データベースにレコードが挿入されるごとに1回起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Insertトリガーは、トランザクションを監査するために使用します。

失敗時

Post-Insertトリガーが失敗すると、Form Builderでは次のステップが実行されます。

•	エラー位置の設定

•	最後のセーブポイントまでロールバック

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Post-Logonトリガー

 例	  関連項目	  全トリガー

説明

次のいずれかのイベントの後に起動されます。

•	Form Builderのデフォルトのログオン処理が正常終了したとき

•	On-Logonトリガーの実行が正常終了したとき

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Logonトリガーは、フォームごとではなくアプリケーション・レベルで開始する特殊な変数のカスタム環境を設定するようなタスクに、イベント・ポイントを用意するために使用します。このトリガーから特殊なグローバル変数を開始すると実行できます。

失敗時

条件により異なります。

•	トリガーが最初のログオン・プロセス中に失敗した場合、Form Builderによりフォームが終了され、オペレーティング・システムに戻ります。

•	ログオンを正常終了した後にトリガーの起動が失敗した場合、Form Builderでビルトイン例外状況FORM_TRIGGER_FAILUREが発生します。

起動条件

LOGON

プロセス・フローチャートを参照してください。


Post-Logonトリガーの例

例

この例では、ユーザー・イグジットがコールされ、セキュリティー上の理由からデータベースの外部にあるファイル・システムの暗号化監査証跡ファイルに、ユーザー名と時間が記録されます。

BEGIN
  User_Exit('LogCrypt '||
            USER||' '  ||
            TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'));
END;


Post-Logoutトリガー

  関連項目	  全トリガー

説明

次のいずれかのイベントの後に起動されます。

•	Form BuilderがORACLEからのログアウトを正常に終了したとき

•	On-Logoutトリガーの実行が正常終了したとき

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Logoutトリガーは、RDBMSまたはその他のデータ・ソースを必要としない、または影響しないForm Builderのアプリケーション上のタスクを、監査または実行するために使用します。

ログアウト・トリガーの1つの中から特定のビルトインをコールしても、結果は未定義です。たとえば、Pre-Logoutトリガーは「フォームを出る」イベントの後に起動されるため、COPYビルトインはPre-Logoutトリガーからコールできません。フォームはもうアクセスできないため、COPYビルトイン操作はできません。

失敗時

フォームを出るときにこのトリガーが失敗しても、影響はありません。

このトリガーが失敗し、ユーザーがトリガーからLOGOUTビルトインのコールを開始した場合、FORM_FAILUREビルトインの戻り値は「TRUE」に設定されます。

起動条件

LOGOUT

プロセス・フローチャートを参照してください。


Post-Queryトリガー

 例	     関連項目	  全トリガー

説明

ブロック内で問合せがオープンしているとき、Post-QueryトリガーはForm Builderでブロックにレコードがフェッチされるごとに起動されます。このトリガーは、レコードがレコードのブロック・リストに置かれるごとに起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Queryトリガーは、次のタスクに使用します。

•	他のブロックに制御項目を挿入します。

•	問合せで検索されたレコードに関する統計を計算します。

•	実行合計を計算します。

•	Post-Queryトリガーを使用して制御項目に実表以外の値を返すとき、各レコードは変更とマークされ、デフォルトでWhen-Validate-Itemトリガーが起動されます。Post-Queryトリガー内で、各レコードの「Status」プロパティを明示的に「QUERY」に設定することにより、When-Validate-Itemトリガーの実行を回避できます。プログラムによってレコード状況を設定するには、SET_RECORD_PROPERTYビルトインを使用します。

失敗時

Form Builderではブロックからレコードがフラッシュされて、データベースから次のレコードをフェッチしようとします。データベースに他のレコードが存在しなくなると、Form Builderでは問合せがクローズされ、オペレータの次の操作を待ちます。

起動条件

レコードのフェッチ

プロセス・フローチャートを参照してください。


Post-Queryトリガーの例

例

この例では、現行のブロック内のデータベース以外の項目に表示するため、コード・フィールドの説明を検索します。

DECLARE

  CURSOR lookup_payplan IS SELECT Payplan_Desc
                             FROM Payplan
                            WHERE Payplan_Id =
                                  :Employee.Payplan_Id;

  CURSOR lookup_area    IS SELECT Area_Name
                             FROM Zip_Code
                             WHERE Zip = :Employee.Zip;

BEGIN
  /*
  ** Lookup the Payment Plan Description given the
  ** Payplan_Id in the Employee Record just fetched.
  ** Use Explicit Cursor for highest efficiency.
  */
  OPEN lookup_payplan;
  FETCH lookup_payplan INTO :Employee.Payplan_Desc_Nondb;
  CLOSE lookup_payplan;

  /*
  ** Lookup Area Descript given the Zipcode in
  ** the Employee Record just fetched.Use Explicit
  ** Cursor for highest efficiency.
  */
  OPEN lookup_area;
  FETCH lookup_area INTO :Employee.Area_Desc_Nondb;
  CLOSE lookup_area;
END;


Post-Recordトリガー

 制限事項	  全トリガー

説明

「レコードを出る」プロセス中に起動されます。特に、Post-Recordトリガーは、オペレータが、またはアプリケーションで入力フォーカスをあるレコードから別のレコードに移すときに起動されます。「レコードを出る」プロセスは、INSERT_RECORD、DELETE_RECORD、NEXT_RECORD、NEXT_BLOCK、CREATE_RECORD、PREVIOUS_BLOCKなどを含む多数の操作の結果、発生します。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

オペレータまたはアプリケーションが入力フォーカスをレコード間で移動するたびにある動作を実行するには、Post-Recordトリガーを使用します。たとえば、オペレータがレコード・セットをスクロールしたときに項目の可視属性を設定するには、このトリガーの内部にコードを配置します。

失敗時

入力フォーカスは現行のレコードのままです。

起動条件

レコードを出る

プロセス・フローチャートを参照してください。


Post-Recordトリガーの制限

Post-Recordトリガーは、「有効単位」フォーム・モジュール・プロパティで指定されるように、フォームが項目またはレコード単位の妥当性チェックを実行するときのみ、起動されます。


Post-Selectトリガー

  全トリガー

説明

Post-Selectトリガーは、問合せ処理のデフォルト選択フェーズ後、またはOn-Selectトリガーの正常終了後に起動されます。また、フェッチ処理によってレコードが実際に検索される前に起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Selectトリガーは、問合せ基準に一致するレコード数に基づく動作など、問合せ処理の選択フェーズの発生に基づいた動作を実行するために使用します。

失敗時

影響なし

起動条件

問合せの実行

問合せのオープン

プロセス・フローチャートを参照してください。


Post-Text-Itemトリガー

 制限事項	    関連項目	  全トリガー

説明

テキスト項目の「項目を出る」プロセス中に起動されます。特に、あるテキストから別のテキストに入力フォーカスが移ったときに、このトリガーが起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Post-Text-Itemトリガーは、項目値の計算または変更に使用します。

失敗時

ナビゲーションが失敗し、フォーカスは現テキスト項目のままです。

起動条件

項目を出る

プロセス・フローチャートを参照してください。


Post-Text-Itemトリガーの制限

Post-Text-Itemトリガーは、入力フォーカスがテキスト項目にあり、オペレータがマウスを使用して「マウス・ナビゲート」「マウス・ナビゲート」プロパティが「いいえ」になっているボタンまたは、チェックボックス、リスト項目、ラジオ・グループ項目をクリックするときには起動されません。これらの項目で「マウス・ナビゲート」が「いいえ」のとき、マウスでこれらをクリックするのはナビゲーション以外のイベントであり、入力フォーカスは現行の項目のままです（この例ではテキスト項目）。


Post-Updateトリガー

  全トリガー

説明

「トランザクションのポストおよびコミット」プロセス中、行が更新された後に起動されます。コミット・プロセス中に行がデータベース内で更新されるごとに1回起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、DML文（DELETE、INSERT、UPDATE）、制限なしビルトイン

問合せ入力モード 不可

使用上の注意

Post-Updateトリガーは、トランザクションを監査するために使用します。

失敗時

Post-Updateトリガーが失敗すると、Form Builderでは次のステップが実行されます。

•	エラー位置の設定

•	最後のセーブポイントまでロールバック

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Pre-Blockトリガー

 制限事項	  全トリガー

説明

あるブロックから別のブロックへナビゲーションする際、「ブロックに入る」プロセス中に起動されます。

定義レベル  フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Blockトリガーは、次の目的に使用します。

•	ブロックへのアクセスを許可または禁止します。

•	変数の値を設定します。

失敗時

ナビゲーションが失敗し、フォーカスは現項目のままです。

起動条件

ブロックに入る

プロセス・フローチャートを参照してください。


Pre-Blockトリガーの制限

Pre-Blockトリガーは、「有効単位」フォーム・モジュール・プロパティで指定されるように、フォームが項目またはレコード、ブロック単位の妥当性チェックを実行するときのみ起動されます。


Pre-Commitトリガー

  全トリガー

説明

「トランザクションのポストおよびコミット」プロセス中、Form Builderでレコードの変更が処理される前に起動されます。特に、フォームにポストまたはコミットを要する挿入、更新または削除があるとForm Builderで判断された後、変更のコミット前に起動されます。このトリガーは、コミットの試みがあってもフォーム内に変更されたレコードがないと判断された場合には起動されません。

定義レベルフォーム

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Commitトリガーは、データベース・コミットが発生しそうな任意の時点で、特殊なロック要件の設定などの動作を常に実行するときに使用します。

失敗時

「ポストおよびコミット」プロセスが失敗します。データベースにレコードは書き込まれず、フォーカスは現行の項目のままです。

注意: Pre-CommitトリガーでDMLを実行してトリガーが失敗した場合、Form Builderでは自動ロールバックが実行されないため、手動ロールバックが必要になります。手動ロールバックをするために、GET_APPLICATION_PROPERTY（Savepoint_Name）を使用して、On-Savepointトリガーにセーブポイント名を保存しておきます。それから、ISSUE_ROLLBACK（Savepoint_Name）を使用してロールバックします。

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Pre-Delete トリガー

  全トリガー

説明

「トランザクションのポストおよびコミット」プロセス中、行が削除される前に起動されます。削除がマークされたレコードごとに1回ずつ起動されます。

注意: Form Builderでは、「レコード削除時の動作」プロパティが「カスケード」に設定されているマスター/ディテール・リレーションの場合には、Pre-Deleteトリガーが自動作成されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、DML文（DELETE、INSERT、UPDATEなど）、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Deleteトリガーは、マスター・レコードのディテール・レコードを削除するために使用します。

Pre-Deleteを使用すると、まだ存在するディテール・レコードのマスター・レコードであるレコードの削除が回避できます。

失敗時

Post-Deleteトリガーが失敗すると、Form Builderでは次のステップが実行されます。

•	エラー位置の設定

•	最後のセーブポイントまでロールバック

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Pre-Formトリガー

  関連項目	  全トリガー

説明

フォームの起動時、「フォームに入る」イベント中に起動されます。

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Formトリガーは、次のタスクに使用します。

•	シーケンスから一意の主キーを割り当てます。

•	フォームへのアクセスを制限します。

•	グローバル変数を初期化します。

失敗時

Form Builderで現行のフォームが終了され、他のトリガーは起動されません。

起動条件

フォームに入る

プロセス・フローチャートを参照してください。


Pre-Insertトリガー

 例	  全トリガー

説明

「トランザクションのポストおよびコミット」プロセス中に行が挿入される前に起動されます。挿入がマークされたレコードごとに1回ずつ起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Insertトリガーは、次のタスクに使用します。

•	項目の値を変更します。

•	レコードの作成日を記録し、コミット前にレコードにそれを保存します。

失敗時

Pre-Insertトリガーが失敗すると、Form Builderでは次のステップが実行されます。

•	エラー位置の設定

•	最後のセーブポイントまでロールバック

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Pre-Insertトリガーの例

例

この例では、シーケンス番号を基にした主キー・フィールドが割り当てられ、新しいシーケンス作成のフラッグが付いた監査表に行が書き込まれます。

DECLARE
  CURSOR next_ord IS SELECT orderid_seq.NEXTVAL FROM dual;
BEGIN

  /*
  ** Fetch the next sequence number from the
  ** explicit cursor directly into the item in
  ** the Order record.Could use SELECT...INTO,
  ** but explicit cursor is more efficient.
  */
  OPEN next_ord;
  FETCH next_ord INTO :Order.OrderId;
  CLOSE next_ord;

  /*
  ** Make sure we populated a new order id ok...
  */
  IF :Order.OrderId IS NULL THEN
    Message('Error Generating Next Order Id');
    RAISE Form_Trigger_Failure;
  END IF;

  /*
  ** Insert a row into the audit table
  */
  INSERT INTO ord_audit( orderid, operation, username, timestamp )
  VALUES ( :Order.OrderId,
           'New Order',
           USER,
           SYSDATE );

END;


Pre-Logonトリガー

  全トリガー

説明

Form Builderでデータ・ソースへのログオンが開始される直前に起動されます。

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Logonトリガーは、フォームの、特にOracle以外のデータ・ソースのログオン・プロシージャを準備するために使用します。

失敗時

失敗時の結果は、次のいずれの条件が適用されるかによって異なります。

•	Form Builderがフォームに初めて入ってトリガーが失敗した場合は、フォームは正常に終了され、他のトリガーは起動されません。

•	Form Builderでトリガー内からLOGONビルトインの実行が試みられたときにトリガーが失敗した場合、Form BuilderではFORM_TRIGGER_FAILURE例外状況が発生します。

起動条件

LOGON

プロセス・フローチャートを参照してください。


Pre-Logoutトリガー

  全トリガー

説明

Form Builderでログアウト・プロシージャが開始される前に起動されます。

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Logoutトリガーは、フォームの、特にOracle以外のデータ・ソースからログアウトを準備するために使用します。

ログアウト・トリガーの1つの中から特定のビルトインをコールしても、結果は未定義です。たとえば、Pre-Logoutは「フォームを出る」イベントの後で起動されるため、Pre-LogoutトリガーからCOPYビルトインをコールできません。フォームにはこの時点ですでにアクセスできないため、COPYビルトイン操作はできません。

失敗時

失敗時の結果は、次のいずれの条件が適用されるかによって異なります。

•	Form Builderでフォームが終了されてトリガーが失敗した場合、フォームは正常に終了され、他のトリガーは起動されません。

•	Form Builderによりトリガー内からLOGOUTビルトインの実行が試みられたときにトリガーが失敗した場合は、Form BuilderではFORM_TRIGGER_FAILURE例外状況が発生します。

Pre-Logoutトリガーに例外が生じた場合、Form BuilderではOn-LogoutおよびPost-Logoutのような他のトリガーは起動されません。

起動条件

LOGOUT

プロセス・フローチャートを参照してください。


Pre-Popup-Menuトリガー

  全トリガー

説明

このトリガーは、ユーザーがポップアップ・メニューを表示させたときにコールされます（Microsoft Windows環境では、これはユーザーがマウスの右ボタンを押したときに発生します）。このトリガーに対して定義された動作は、ポップアップ・メニューが表示される前に実行されます。

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

ポップアップ・メニューが表示される前に、メニュー上のメニュー項目の有効/無効を切り換えるには、このトリガーを使用します。

失敗時

影響なし


Pre-Queryトリガー

 例	     関連項目	  全トリガー

説明

「問合せ実行」または「問合せ件数のカウント」の処理中、Form BuilderでSELECT文が作成および発行され、問合せ基準に一致する行が識別される直前に起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Queryトリガーは、どの行が問合せで識別されるか判断する条件を変更するために使用します。

失敗時

問合せは取り消されます。オペレータが、またはアプリケーションでフォームを「問合せ入力」モードにした場合、フォームは「問合せ入力」モードのままです。

起動条件

COUNT_QUERY

EXECUTE_QUERY

問合せのオープン

問合せの準備

プロセス・フローチャートを参照してください。


Pre-Queryトリガーの例

例

この例では、データベース・ブロック問合せの問合せ基準が検査または変更されます。

BEGIN
  /*
  ** Set the ORDER BY clause for the current block
  ** being queried, based on a radio group
  ** called 'Sort_Column' in a control block named
  ** 'Switches'.The Radio Group has three buttons
  ** with character values giving the names of
  ** three different columns in the table this
  ** block is based on:
  **
  **     SAL
  **     MGR,ENAME
  **     ENAME
  */
  Set_Block_Property('EMP',ORDER_BY, :Switches.Sort_Column);
  /*
  ** Make sure the user has given one of the two
  ** Columns which we have indexed in their search
  ** criteria, otherwise fail the query with a helpful
  ** message
  */
  IF :Employee.Ename IS NULL AND :Employee.Mgr IS NULL THEN
    Message('Supply Employee Name and/or Manager Id '||
            'for Query.');
    RAISE Form_Trigger_Failure;
  END IF;

  /*
  ** Change the default where clause to either show "Current
  ** Employees Only" or "Terminated Employees" based on the
  ** setting of a check box named 'Show_Term' in a control
  ** block named 'Switches'.
  */
  IF Check box_Checked('Switches.Show_Term') THEN
    Set_Block_Property('EMP',DEFAULT_WHERE,'TERM_DATE IS NOT NULL');
  ELSE
    Set_Block_Property('EMP',DEFAULT_WHERE,'TERM_DATE IS NULL');
  END IF;
END;


Pre-Recordトリガー

 例	   制限事項	    関連項目	  全トリガー

説明

「レコードに入る」プロセス中、別のレコードへのナビゲーションの際に起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Recordトリガーは、実行合計を記録するために使用します。

失敗時

ナビゲーションが失敗し、フォーカスは現行の項目のままです。

起動条件

レコードに入る

プロセス・フローチャートを参照してください。


Pre-Recordトリガーの制限

Pre-Recordトリガーは、「有効単位」フォーム・モジュール・プロパティで指定されるように、フォームが項目またはレコードの検証単位で実行される場合にのみ起動されます。


Pre-Recordトリガーの例

例

次のトリガーは、いくつかの動的条件とSYSTEM.RECORD_STATUSの状態が「NEW」と指定されている新規レコードに、ユーザーが入力することを防ぐときに使用します。

IF (( dynamic-condition)
   AND :System.Record_Status = 'NEW') THEN
   RAISE Form_Trigger_Failure;
END IF;


Pre-Selectトリガー

  関連項目	  全トリガー

説明

発行されるSELECT文がForm Builderで作成された後で、まだ文が実際に実行される前、「問合せ実行」および「問合せ件数のカウント」プロセス中に起動されます。システム変数SYSTEM.LAST_QUERYの値を読むことで、Pre-Selectトリガー内でSELEST文を検査できます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Selectトリガーは、Oracle以外のデータ・ソースの問合せを実行する前の準備に使用します。

失敗時

影響はありません。現問合せでその表からフェッチされたレコードはありません。表が空であるか、問合せの検索基準に合うレコードがありません。

起動条件

EXECUTE_QUERY

問合せのオープン

問合せの準備

プロセス・フローチャートを参照してください。


Pre-Text-Itemトリガー

  制限      [image]  全トリガー

説明

「項目に入る」プロセス中、ある項目から別の項目へナビゲーションする際に起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Text-Itemトリガーは、次のようなタスクに使用します。

•	同じレコードに以前入力されていた他の項目に基づいて、複雑なデフォルト値を引き出します。

•	後で参照できるようにテキスト項目の現行値を記録し、その値をグローバル変数またはフォーム・パラメータ内に格納します。

失敗時

ナビゲーションが失敗し、フォーカスは現行の項目のままです。

起動条件

項目に入る

プロセス・フローチャートを参照してください。


Pre-Text-Itemトリガーの制限

Pre-Text-Itemトリガーは、「有効単位」フォーム・モジュール・プロパティで指定されるようにフォームが項目の検証単位で実行されるときのみ起動されます.


Pre-Updateトリガー

 例	  全トリガー

説明

「トランザクションのポストおよびコミット」プロセス中に行が更新される前に起動されます。更新がマークされたレコードごとに1回ずつ起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、DML文(DELETE、INSERT、UPDATE）、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

Pre-Updateトリガーは、トランザクションの監査に使用します。

失敗時

Pre-Updateトリガーが失敗すると、Form Builderでは次のステップが実行されます。

•	エラー位置の設定

•	最後のセーブポイントまでロールバック

起動条件

トランザクションのポストおよびコミット

プロセス・フローチャートを参照してください。


Pre-Updateトリガーの例

例

次の例では、変更を行うタイムスタンプとユーザー名も含めた指定顧客の旧割引および新割引を示す監査表に行が書き込まれます。

DECLARE
  old_discount NUMBER;
  new_discount NUMBER := :Customer.Discount_Pct;
  oper_desc    VARCHAR2(80);
  CURSOR old_value IS SELECT discount_pct FROM customer
                      WHERE CustId = :Customer.CustId;
BEGIN
  /*
  ** Fetch the old value of discount percentage from the
  ** database by CustomerId.We need to do this since the
  ** value of :Customer.Discount_Pct will be the *new* value
  ** we're getting ready to commit and we want to record for
  ** posterity the old and new values.We could use
  ** SELECT...INTO but choose an explicit cursor for
  ** efficiency.
  */
  OPEN old_value;
  FETCH old_value INTO old_discount;
  CLOSE old_value;

  /*
  ** If the old and current values are different, then
  ** we need to write out an audit record
  */
  IF old_discount <> new_discount THEN
    /*
    ** Construct a string that shows the operation of
    ** Changing the old value to the new value. e.g.
    **
    **   'Changed Discount from 13.5% to 20%'
    */
    oper_desc := 'Changed Discount from '||
                 TO_CHAR(old_discount)||'% to '||
                 TO_CHAR(new_discount)||'%';

    /*
    ** Insert the audit record with timestamp and user
    */
    INSERT INTO cust_audit( custid, operation, username,
       timestamp )
    VALUES ( :Customer.CustId,
             oper_desc,
             USER,
             SYSDATE );
  END IF;
END;


Query-Procedureトリガー

  全トリガー

説明

問合せデータ・ソースがストアド・プロシージャのときに、Form Builderによって自動的に作成されます。このトリガーは、問合せ操作が必要なときにコールされます。これは、デフォルトの問合せ操作を実行するかわりにシステムによってコールされるOn-Queryトリガーであると考えてください。

このトリガーは変更しないでください。

問合せ入力モード  「使用上の注意」を参照

使用上の注意

問合せの構成時には任意の項目を使用できますが、それらの項目を問合せストアド・プロシージャに渡せるように、「問合せデータ・ソース列」プロパティが設定されている必要があります。また、問合せストアド・プロシージャは、それらの値を使用してデータをフィルタリングする必要があります。これは、ユーザーが指定しない限り、問合せ入力モードに自動的に入らないことを意味します。

失敗時

影響なし


Update-Procedureトリガー

  全トリガー

説明

更新データ・ソースがストアド・プロシージャのときに、Form Builderによって自動的に作成されます。このトリガーは、更新操作が必要なときにコールされます。これは、デフォルトの更新操作を実行するかわりにシステムによってコールされるOn-Updateトリガーであると考えてください。

このトリガーは変更しないでください。

問合せ入力モード  適用不可

失敗時

影響なし


User-Namedトリガー

  全トリガー

説明

ユーザー命名トリガーは、開発者によってフォーム内で定義されるトリガーです。User-Namedトリガーは、Form Builderのイベントに応答して自動的に起動するトリガーではなく、他のトリガーまたはユーザー命名のサブプログラムから明示的にコールする必要があります。同じ定義レベルで定義されるユーザー命名トリガーは、他と重複しない名前にする必要があります。

ユーザー命名トリガーを実行するには、次に示すようにEXECUTE_TRIGGERビルトイン・プロシージャをコールする必要があります。

Execute_Trigger('my_user_named_trigger');

定義レベルフォームまたは、ブロック、項目

有効コマンド

ユーザー命名トリガーがコールされる親トリガーの中で有効なすべてのコマンド。

問合せ入力モード 不可

使用上の注意

ユーザー命名トリガーを使用して実行するタスクの大半は、ユーザー命名のPL/SQLサブプログラムを記述することによっても実行できます。

すべてのトリガーと同様に、ユーザー命名トリガーの有効範囲は、定義レベルおよびそれ以下です。1つ以上のユーザー命名トリガーが同じ名前を持っている場合、最も低いレベルで定義されているトリガーが優先されます。

ユーザー命名トリガーは、フォーム・レベルに定義するのが最も実用的です。

メニューのPL/SQLコマンドおよびユーザー命名サブプログラムからフォーム・モジュールに定義されているユーザー命名サブプログラムを実行するときに、ユーザー命名トリガーが作成されます（フォームに定義されているユーザー命名サブプログラムは、別のモジュールに定義されているメニューPL/SQLからは直接コールできません）。メニューPL/SQL内でEXECUTE_TRIGGERビルトインをコールして、ユーザー命名トリガーを実行します。このトリガーで今度は現行のフォームで定義されているユーザー命名サブプログラムがコールされます。

失敗時

FORM_FAILUREビルトインの戻り値を「TRUE」に設定します。ユーザー命名トリガーは常にEXECUTE_TRIGGERビルトインでコールされるため、ビルトイン・サブプログラムの結果テストと同じ方法、すなわちビルトイン・ファンクションFORM_FAILURE、FORM_SUCCESS、FORM_FATALなどでエラーをテストして、ユーザー命名トリガーの結果をテストします。


When-Button-Pressedトリガー

 例	  全トリガー

説明

マウス・ボタンをクリックしたりキーボードを使用したりして、オペレータがボタンを選択したときに起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Button-Pressedトリガーは、ナビゲーションの実行、テキスト項目値の計算、他の項目、ブロック、フォーム・レベル機能の実行に使用します。

失敗時

影響なし


When-Button-Pressedトリガーの例

例

この例では、フォームに変更があった場合にCOMMIT_FORMビルトインが実行されます。

BEGIN
  IF :System.Form_Status = 'CHANGED' THEN
    Commit_Form;
    /*
    ** If the Form_Status is not back to 'QUERY'
    ** following a commit, then the commit was
    ** not successful.
    */
    IF :System.Form_Status <> 'QUERY' THEN
      Message('Unable to commit order to database...');
      RAISE Form_Trigger_Failure;
    END IF;
  END IF;
END;


When-Checkbox-Changedトリガー

  全トリガー

説明

マウス・ボタンをクリックしたりキーボードを使用したりして、オペレータがチェックボックスの状態を変更したときに起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Checkbox-Changedトリガーは、チェックボックスの状態によってタスクを開始するために使用されます。

オペレータがチェックボックスをクリックしたとき、その項目の内部値は、ナビゲーションが正常に終了するまで変化されません。したがって、When-Checkbox-Changedトリガーはチェックボックス項目の変更値を登録する最初のトリガーになります。When-Checkbox-Changedトリガーの前に起動されるすべてのナビゲーション・トリガーの場合、チェックボックス項目の値は、オペレータがナビゲートする前の値のまま保持されます。

失敗時

影響なし


When-Clear-Blockトリガー

  関連項目	  全トリガー

説明

Form Builderで現行のブロックからデータが消去される直前に起動されます。

When-Clear-Blockトリガーは、CLEAR_FORMイベントの際に現行のブロックがForm Builderで消去されていると起動できないため注意してください。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

•	When-Clear-Blockトリガーは、Form Builderで現行のブロックが消去されるごとに動作を実行します。たとえば、この条件が発生したらいつでも自動的にコミットさせる、という場合に使用します。

•	When-Clear-Blockトリガーでは、現行のレコードが存在しないためSYSTEM.RECORD_STATUSの値は信頼できません。かわりにGET_RECORD_PROPERTYビルトインを使用して、レコードの状態を獲得します。GET_RECORD_PROPERTYビルトインでは特定レコードの参照が必要とされるため、その値は常に正確です。

失敗時

ブロックの消去には影響しません。

起動条件

CLEAR_BLOCK

COUNT_QUERY

ENTER_QUERY

問合せのオープン

プロセス・フローチャートを参照してください。


When-Create-Recordトリガー

 例	  関連項目	  全トリガー

説明

Form Builderで新規レコードが作成されたときに起動します。たとえば、オペレータがレコード作成キーを押したとき、あるいはスクロール中にセット内のレコードをナビゲートしたとき、このトリガーが起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

When-Create-Recordトリガーは、Form Builderで新規レコードの作成が試みられるごとに、動作を実行します。またこのトリガーは、設計時よりも実行時に指定する必要のある複合デフォルト値、計算済みのデフォルト値、データ駆動のデフォルト値などの設定にも役立ちます。

失敗時

新規レコードの作成が妨げられます。可能ならば、前の位置に戻ります。

起動条件

CREATE_RECORD

プロセス・フローチャートを参照してください。


When-Create-Recordトリガーの例

例

この例では、レコードに変更のマークを付けずにデータ駆動または計算済みのデフォルト値が割り当てられます。

DECLARE
  CURSOR ship_dflt IS SELECT val
                        FROM cust_pref
                       WHERE Custid = :Customer.Custid
                         AND pref   = 'SHIP';
BEGIN
  /*
  ** Default Invoice Due Date based on Customer's
  ** Net Days Allowed value from the Customer block.
  */
  :Invoice.Due_Date := SYSDATE + :Customer.Net_Days_Allowed;
  /*
  ** Default the shipping method based on this customers
  ** preference, stored in a preference table.We could
  ** use SELECT...INTO, but explicit cursor is more
  ** efficient.
  */
  OPEN ship_dflt;
  FETCH ship_dflt INTO :Invoice.Ship_Method;
  CLOSE ship_dflt;
END;


When-Custom-Item-Eventトリガー

 例	     関連項目	  全トリガー

説明

フォーム内でJavaBean、ActiveXカスタム・コンポーネント（32ビットWindowsの場合）またはVBXカスタム・コンポーネント（16ビットのMicrosoft Windows 3.xの場合）でイベントが発生される場合に常時起動されます。

定義レベル

フォーム、ブロック、項目

有効コマンド

制限付きビルトイン・サブプログラム

問合せ入力モード

可

使用上の注意

When-Custom-Item-Eventトリガーを使用して、カスタム・コンポーネントの値の選択または変更に応答します。システム変数SYSTEM.CUSTOM_ITEM_EVENTには、発生したイベント名が大文字小文字を区別して格納されます。また、システム変数SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERSには、カスタム・コントロールによって起動されたイベントの補足引数を含むパラメータ名が格納されます。

コントロール・イベント名は状況に応じて変化します。

失敗時

影響なし


When-Custom-Item-Eventトリガーの例

JavaBeansの例

これは、2つのJavaBeansを使用するフォームのWhen-Custom-Item-Eventトリガーにコールされるプロシージャの例です（コンテキストについては、完全例を参照してください）。

トリガーは、値の変更に呼応してJavaBeansの一方のカスタム・イベントのディスパッチから起動されます。

CustomEvent ce = new CustomEvent(mHandler, VALUECHANGED);

dispatchCustomEvent(ce);

フォームでは、このJavaBeanのBean領域の項目に連結されたWhen_Custom_Item_Eventトリガーがこのカスタム・イベントに呼応して自動的に起動されます。

トリガー・コードでは、次のプロシージャが実行されます。このプロシージャでは、System.Custom_Item_Event_Parametersにアクセスして、JavaBeanコンテナに設定された新規の値（新しいアニメーション率など）がピック・アップされることに注意してください。

この例では、次にSet_Custom_Propertyビルトインを使用して、もう一方のJavaBeanに値が渡されます。

PROCEDURE Slider_Event_Trap IS

BeanHdl          Item;

BeanValListHdl   ParamList;

paramType        Number;

EventName        VarChar2(20);

CurrentValue     Number(4);

NewAnimationRate Number(4);

Begin

-- Update data items and Display fields with current radius information

BeanValListHdl := get_parameter_list(:SYSTEM.Custom_Item_Event_Parameters);

EventName      := :SYSTEM.Custom_Item_Event;

:event_name    := EventName;

if (EventName = 'ValueChanged') then

   get_parameter_attr(BeanValListHdl,'Value',ParamType, CurrentValue);

   NewAnimationRate := (300 - CurrentValue);

   :Animation_Rate  := NewAnimationRate;

set_custom_item_property('Juggler_Bean','SetAnimationRate', NewAnimationRate);

elsif (EventName = 'mouseReleased') then

   get_parameter_attr(BeanValListHdl,'Value',ParamType, CurrentValue);

set_custom_item_property('Juggler_Bean','SetAnimationRate', CurrentValue);

end if;

End;

VBXの例

これは、Form BuilderでWhen-Custom-Item-Eventトリガーが起動されたときにコールされるプロシージャの例です。

DECLARE
 TabEvent  varchar2(80);
 TabNumber Number;
BEGIN
 TabEvent := :system.custom_item_event;
 /*
 ** After detecting a Click event, identify the
 ** tab selected, and use the user-defined Goto_Tab_Page
 ** procedure to navigate to the selected page.
 */
 IF (UPPER(TabEvent) = 'CLICK') THEN
  TabNumber := VBX.Get_Property('TABCONTROL','CurrTab');
  Goto_Tab_Page(TabNumber);
 END IF;
END;


When-Database-Recordトリガー

  全トリガー

説明

Form Builderでレコードに挿入または更新のマークが最初に付けられると起動します。すなわち、このトリガーは、挿入または更新のときに次のポストまたはコミットでレコードを処理する必要があるとForm Builderで判断されると、すぐに起動します。一般的には、オペレータがレコード内の最初の項目を変更し、その項目の外へナビゲートしようとしたときに起こります。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

When-Database-Recordトリガーは、レコードに挿入または更新が初めてマークされるたびに動作を実行します。

失敗時

影響なし


When-Form-Navigateトリガー

 例	  全トリガー

説明

ユーザーが別のロード済みフォームにフォーカスを移したときなど、フォーム間のナビゲーションが発生したときに起動します。

定義レベルフォーム

有効コマンド

制限付きビルトイン・サブプログラム

問合せ入力モード

不可

使用上の注意

When-Form-Navigateトリガーは、フォーム全体にわたるナビゲーションが、ウィンドウをアクティブおよび非アクティブにするイベントに依らずに実行されるときに、動作を実行します。

失敗時

影響なし


When-Form-Navigateトリガーの例

例

これは、Form BuilderでWhen-Form-Navigateトリガーが起動されたときにコールされるプロシージャの例です。

DECLARE
 win_id WINDOW := FIND_WINDOW('WINDOW12');
BEGIN
 if (GET_WINDOW_PROPERTY(win_id,WINDOW_STATE) = 'MAXIMIZE' THEN
  SET_WINDOW_PROPERTY(win_id,WINDOW_STATE,MINIMIZE);
 else
  SET_WINDOW_PROPERTY(win_id,WINDOW_STATE,MAXIMIZE);
 end if;
END;


When-Image-Activatedトリガー

  全トリガー

説明

オペレータがマウスを次のように使用したとき起動されます。

•	イメージ項目をシングルクリックしたとき

•	イメージ項目をダブルクリックしたとき

ダブルクリックの場合、When-Image-Pressedトリガーも同時に起動することに注意してください。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

失敗時

影響なし


When-Image-Pressedトリガー

  全トリガー

説明

オペレータがマウスを次のように使用したとき起動されます。

•	イメージ項目をシングルクリックしたとき

•	イメージ項目をダブルクリックしたとき

ダブルクリックの場合、When-Image-Activatedトリガーも同時に起動することに注意してください。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Image-Pressedトリガーは、オペレータがイメージ項目をクリックまたはダブルクリックしたときに動作を実行します。

失敗時

影響なし


When-List-Activatedトリガー

  関連項目	  全トリガー

説明

Tリストとして表示されるリスト項目の要素をオペレータがダブルクリックすると起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-List-Activatedトリガーは、ドロップダウン・リストまたはコンボ・ボックス・スタイルのリスト項目の場合ではなく、Tリストスタイルのリスト項目の場合にのみ起動されます。リスト項目の表示スタイルは、「リスト形式」プロパティで決まります。

失敗時

影響なし


When-List-Changedトリガー

  関連項目	  全トリガー

説明

エンド・ユーザーがリスト項目から別の要素を選択したとき、または現在選択されている要素を選択解除したときに起動されます。さらに、When-List-Changedトリガーがコンボ・ボックス・スタイルのリスト項目に付加されると、このトリガーはエンド・ユーザーが入力済みテキストを入力または変更するたびに起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

リストの値がエンド・ユーザーによって直接変更されたときに動作を開始するには、When-List-Changedトリガーを使用します。DUPLICATE_ITEMビルトインなどのプログラムによってリストの値が変更された場合、あるいはリストの値を変更するプロシージャの起動をエンド・ユーザーが促した場合には、When-List-Changedトリガーは起動しません。たとえばエンド・ユーザーが、DUPLICATE_ITEMビルトインにマッピングされたキーを使用して項目を複製しても、When-List-Changedトリガーは起動しません。

失敗時

影響なし


When-Mouse-Clickトリガー

  全トリガー

説明

次のイベントの1つが発生すると、オペレータがマウスをクリックした後でこのトリガーが起動されます。

•	フォームに付加されていて、フォームの中の任意のキャンバスまたは項目内でマウスをクリックしたとき

•	ブロックに付加されていて、ブロックの中の任意の項目内でマウスをクリックしたとき

•	項目に付加されていて、項目内でマウスをクリックしたとき

When-Mouse-Clickトリガーが起動するには、次の3つのイベントが起こらなくてはなりません。

•	マウスを押します。

•	マウスを放します。

•	マウスをクリックします。

これらのイベントに対応付けられるトリガーは、When-Mouse-Clickトリガーが起動する前に起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Mouse-Clickトリガーは、オペレータが項目またはキャンバス、あるいはその両方の中でマウスをクリックするたびに動作を実行します。

失敗時

影響なし


When-Mouse-DoubleClickトリガー

 例	  全トリガー

説明

次のイベントの1つが発生すると、オペレータがマウスをダブルクリックした後にこのトリガーが起動されます。

•	フォームに付加されていて、フォームの中の任意のキャンバスまたは項目内でマウスをダブルクリックしたとき

•	ブロックに付加されていて、ブロックの中の任意の項目内でマウスをダブルクリックしたとき

•	項目に付加されていて、項目内でマウスをダブルクリックしたとき

When-Mouse-DoubleClickトリガーが起動するには次の6つのイベントが起こらなくてはなりません。

•	マウスを押します。

•	マウスを放します。

•	マウスをクリックします。

•	マウスを押します。

•	マウスを放します。

•	マウスをダブルクリックします。

これらのイベントに対応付けられるトリガーは、When-Mouse-DoubleClickトリガーの起動前に起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Mouse-Clickトリガーは、オペレータが項目またはキャンバス、あるいはその両方の中でマウスをダブルクリックするたびに動作を実行します。

失敗時

影響なし


When-Mouse-DoubleClickトリガーの例

例

オペレータがマウスをクリックしたとき、アプリケーションには動作Aが必要で、ダブルクリックをしたときは動作Bが必要であるとします。たとえば、オペレータがマウスをクリックした場合は情報ウィンドウが表示され、オペレータがマウスをダブルクリックした場合はオンライン・ヘルプ・ウィンドウが表示されるようにします。

この例では、3つのトリガー（When-Mouse-Clickトリガー、When-Timer-Expiredトリガー、When-Mouse-DoubleClickトリガー）が使用されています。

/*
**  Trigger:When-Mouse-Click
**  Example:When the operator clicks the mouse, create a timer
**            that will expire within .5 seconds.
*/

DECLARE
   timer_id        TIMER;
   timer_duration  NUMBER(5) := 500;
BEGIN
   timer_id := Create_Timer('doubleclick_timer', timer_duration,
     NO_REPEAT);
END;

/*
**  Trigger:When-Timer-Expired
**  Example:When the timer expires display the online help
**            window if the operator has double-clicked the mouse
**            within .5 seconds, otherwise display the product
**            information window.
*/
BEGIN
   IF :Global.double_click_flag = 'TRUE' THEN
     Show_Window('online_help');
     :Global.double_click := 'FALSE';
   ELSE
     Show_Window('product_information');
   END IF;
END;

/*
**  Trigger:When-Mouse-DoubleClick
**  Example:If the operator double-clicks the mouse, set a
**            flag that indicates that a double-click event
**            occurred.
*/
BEGIN
   :Global.double_click_flag := 'TRUE';
END;


When-Mouse-Downトリガー

 制限事項	  全トリガー

説明

次のイベントの1つが発生すると、オペレータがマウス・ボタンを押した後にこのトリガーが起動されます。

•	フォームに付加されていて、フォームの中の任意のキャンバスまたは項目内でマウスを押したとき

•	ブロックに付加されていて、ブロックの中の任意の項目内でマウスを押したとき

•	項目に付加されていて、項目内でマウスを押したとき

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Mouse-Downトリガーは、オペレータが項目またはキャンバス、あるいはその両方の中でマウスを押すごとに動作を実行します。

注意: 「マウスを押す」イベントの後には常に「マウスを放す」イベントが続きます。

失敗時

影響なし


When-Mouse-Downトリガーの制限

ウィンドウ・マネージャによっては、When-Mouse-Downトリガーの中のナビゲーション・コードが失敗することがあります。Microsoft Windows 95/NTの例では、オペレータがフィールド（Item_One）内でマウス・ボタンをクリックした場合、GO_ITEM（'item two'）をコールするWhen-Mouse-Downトリガーは失敗します。これは、When-Mouse-UpがItem_Twoで発生しているので、Windows 95/NTではItem_TwoではなくItem_Oneにフォーカスが戻るためです。


When-Mouse-Enterトリガー

  全トリガー

説明

次のイベントの1つが発生すると、マウスが項目またはキャンバスに入ったときこのトリガーが起動されます。

•	フォームに付加されていて、フォームの中の任意のキャンバスまたは項目にマウスが入ったとき

•	ブロックに付加されていて、ブロックの中の任意の項目にマウスが入ったとき

•	項目に付加されていて、マウスが項目に入ったとき

定義レベル  フォーム、ブロックまたは項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Mouse-Enterトリガーは、マウスが項目またはキャンバスに入るごとに動作を実行します。

ウィンドウよりも大きなキャンバス上では、When-Mouse-Enterトリガーを使用しないでください。初期ウィンドウの下にあるキャンバス上のアイコン・ボタンおよびアイコン項目は選択できません。ユーザーはキャンバスをスクロールして項目を表示することができます。ただし、マウスがその領域に入るとただちに、トリガーが起動して、前ターゲットにフォーカスが戻るため、ユーザーはこの項目をクリックすることができません。

When-Mouse-Enterトリガーの「ツールチップ」プロパティを変更すると、表示前にツールチップが取り消されます。

When-Mouse-Enterトリガーからモーダル・ウィンドウをコールするときは注意してください。コールすることでモーダル・ウィンドウが不必要に表示されることがあります。

たとえば、マウスがCanvas_Oneに入るたびにWhen-Mouse-EnterトリガーがAlert_Oneを表示させるとします。また、アプリケーションにCanvas_OneおよびCanvas_Twoの2つのキャンバスが含まれるものとします。Canvas_OneおよびCanvas_Twoは、お互いに重複せず、画面に並んで表示されます。さらに、Alert_OneはCanvas_Twoの境界内に表示されるものとします。

最後に、マウスはCanvas_Oneに入ると、Alert_Oneを表示させるWhen-Mouse-Enterトリガーが起動されるものとします。

オペレータがメッセージ・ボックスを閉じたとき、続けてマウスでCanvas_Oneに入った場合、必要もないのにまたAlert_Oneが表示されます。さらに、オペレータがマウスをCanvas_Twoから移動させると、このイベントに関連するWhen-Mouse-Leaveトリガーが起動されます。このような動作は、不要なはずです。

失敗時

影響なし


When-Mouse-Leaveトリガー

  全トリガー

説明

次のイベントの1つが発生すると、マウスが項目またはキャンバスを出た後でこのトリガーが起動されます。

•	フォームに付加されていて、フォームの中の任意のキャンバスまたは項目からマウスが出たとき

•	ブロックに付加されていて、ブロックの中の任意の項目からマウスが出たとき

•	項目に付加されていて、マウスが項目から出たとき

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Mouse-Leaveトリガーは、マウスが項目またはキャンバス、あるいはその両方を出るたびに動作を実行します。

失敗時

影響なし


When-Mouse-Moveトリガー

  全トリガー

説明

次のイベントの1つが発生すると、マウスが移動するたびにこのトリガーが起動されます。

•	フォームに付加されていて、フォームの中の任意のキャンバスまたは項目内部でマウスが移動したとき

•	ブロックに付加されていて、ブロックの中の任意の項目内でマウスが移動したとき

•	項目に付加されていて、項目内でマウスが移動したとき

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Mouse-Moveトリガーを使用すると、オペレータがマウスを移動するたびに動作が実行されます。

When-Mouse-Moveトリガーが何回も起動される可能性があるため、パフォーマンスに影響が生じることがあります。

失敗時

影響なし


When-Mouse-Upトリガー

  全トリガー

説明

次のイベントの1つが発生すると、オペレータがマウス・ボタンを押して放すたびに起動されます。

•	フォームに付加されていて、フォームの中の任意のキャンバスまたは項目内で「マウスを放す」イベントを受け取ったとき

•	ブロックに付加されていて、ブロックの中の任意の項目内で「マウスを放す」イベントを受け取ったとき

•	項目に付加されていて、項目内で「マウスを放す」イベントを受け取ったとき

When-Mouse-Upトリガーが起動するには次の2つのイベントが起こらなくてはなりません。

•	マウスを押します。

•	マウスを放します。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Mouse-Upトリガーは、オペレータがマウスを押して放すたびに動作を実行します。

「マウスを放す」イベントは、常に「マウスを押す」イベントを受け取った項目に対応付けられます。たとえば、Item_Oneに付加されたWhen-Mouse-Upトリガーがあるとします。オペレータがItem_One上でマウスを押してからItem_Two上でマウスを放した場合、「マウスを放す」トリガーは、Item_TwoではなくItem_Oneに対して起動されます。

失敗時

影響なし


When-New-Block-Instanceトリガー

  関連項目	  全トリガー

説明

別のブロック内の項目に入力フォーカスが移ったときに起動されます。特に、以前に入力フォーカスのあったブロックとは別のブロックに入力フォーカスが移ることをForm Builderで受け入れる準備ができたときに起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

When-New-Block-Instanceトリガーは、Form Builderで新しいブロックに移るたびに動作を実行します。

失敗時

影響なし

起動条件

入力のための戻り

プロセス・フローチャートを参照してください。


When-New-Form-Instanceトリガー

 例	 制限事項	  関連項目	  全トリガー

説明

フォームの起動時、最初にナビゲート可能なブロックで最初にナビゲート可能な項目が、Form Builderによってナビゲートされます。When-New-Form-Instanceトリガーは、ナビゲーションの初期順序に起動される任意のナビゲーション・トリガーが正常終了した後に起動されます。

このトリガーは、コール先フォームからコール側フォームに制御が戻ったときには起動されません。

マルチフォームのアプリケーションでは、あるフォームから別のフォームにフォーカスが変更されるときには起動されません。

定義レベルフォーム

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

失敗時

影響なし

起動条件

フォームの実行

プロセス・フローチャートを参照してください。


When-New-Form-Instanceトリガーの制限

1	FORMS_OLE.GET_INTERFACE_POINTERビルトインをWhen-New-Form-Instanceトリガーからコールすると、SYNCHRONIZEビルトインによってOLE項目またはActiveXコントロールを初期化するのでない限り、例外（ORA-305500）が発生します。

2	この時点ではForm BuilderでOLE項目が初期化されていないため、例外が発生します。新しいフォームがコールされると、そのフォームは画面上のデフォルトのx-y位置に表示されます。この位置が希望と異なる場合、x-y座標を変更できます。ただし、このWhen-New-Form-Instanceトリガーではその座標を変更できません（このトリガーの起動順が遅いためです）。座標を変更するには、Pre-Formトリガーを使用します。


When-New-Form-Instanceトリガーの例

例

この例では、動的イメージを表示するルーチンをコールし、画面クロックをリフレッシュするためのタイマーを始動してから、最初のブロックを問い合わせます。

BEGIN
  Populate_Dynamic_Boilerplate;
  Start_OnScreen_Clock_Timer;
  Go_Block('Primary_Ord_Info');

  /*
  ** Query the block without showing
  ** the working message.
  */
  :System.Suppress_Working := 'TRUE';
  Execute_Query;
  :System.Suppress_Working := 'FALSE';
END;


When-New-Item-Instanceトリガー

 制限事項	    関連項目	  全トリガー

説明

入力フォーカスが項目に移ったときに起動されます。特に、項目のナビゲーション後、以前に入力フォーカスがあった項目とは別の項目への入力を、Form Builderで受け入れる準備ができたときに起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限付きビルトイン・サブプログラム、制限なしビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-New-Item-Instanceトリガーは、項目に入力フォーカスが移ったときに動作を実行します。When-New-Item-Instanceトリガーは、制限付き（ナビゲーションの）ビルトインをコールする場合に特に役立ちます。

失敗時

影響なし

起動条件

入力のための戻り

プロセス・フローチャートを参照してください。


When-New-Item-Instanceトリガーの制限

このトリガーを起動するための条件は、次の状況の下では適合されません。

•	入力の受入れを停止せずに、Form Builderで項目がナビゲートされる場合

•	入力フォーカスが警告ウィンドウ内のフィールドまたはForm Builderメニューの任意の部分に移される場合


When-New-Record-Instanceトリガー

  関連項目	  全トリガー

説明

以前に入力フォーカスのあったレコードと違うレコード内の項目に入力フォーカスが移されるときに起動されます。特に、レコード内の項目のナビゲーション後、以前に入力フォーカスがあったレコードとは別のレコードへの入力を、Form Builderで受け入れる準備ができたときに起動されます。

Form Builderで新しいレコードにナビゲートすると起動されます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-New-Record-Instanceトリガーは、新しいレコードにForm Builderで移るたびに起動されます。たとえば、オペレータが「下へ」を押してレコード・セットをスクロールするとき、入力フォーカスが次のレコードに移るたびにForm Builderでこのトリガーが起動されます。すなわち、Form Builderでブロック内に新しいレコードに移るたびにこのトリガーが起動されます。

失敗時

影響なし

起動条件

入力のための戻り

プロセス・フローチャートを参照してください。


When-Radio-Changedトリガー

  全トリガー

説明

マウス・ボタンをクリックするかキーボードを使用するかして、オペレータがラジオ・グループの別のラジオ・ボタンを選択するか、現行の選択ラジオボタンを選択解除するときに起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

When-Radio-Changedトリガーは、ラジオ・グループの状態によって異なる動作を実行します（ラジオ・グループ内でラジオボタンを選択解除するとラジオ・グループの値はNULLに設定されます。オペレータは「問合せ入力」モードでこの方法を使用し、問合せからラジオ・グループを除外します）。

オペレータがラジオ・グループ内の項目をクリックすると、その項目の内部値は、ナビゲーションが正常に終了するまで変更されません。したがって、When-Radio-Changedトリガーはラジオ・グループの変更された値を登録するための最初のトリガーになります。When-Radio-Changedトリガーの前に起動されるすべてのナビゲーション・トリガーに対して、ラジオ・グループの値はオペレータがナビゲートするまで保持されます。

失敗時

影響なし


When-Remove-Recordトリガー

  全トリガー

説明

オペレータが、またはアプリケーションでレコードを消去または削除すると起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

When-Remove-Recordトリガーは、Form Builderでレコードが消去または削除されるたびに動作を実行します。

失敗時

Form Builderでブロック・レベルがナビゲートされます。現行の操作によって妥当性チェックがされたりされなかったりします。また、ターゲット・ブロックにカーソルが置かれます。

起動条件

CLEAR_RECORD

DELETE_RECORD

プロセス・フローチャートを参照してください。


When-Tab-Page-Changedトリガー

 例	  関連項目	  全トリガー

説明

あるタブ・ページから別のタブ・キャンバスに明示的に項目へまたはマウスでナビゲーションが実行されると、このトリガーを起動します。

定義レベルフォーム

有効コマンド

制限付きビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

•	When-Tab-Page-Changedトリガーは、項目またはマウスのナビゲーション中に任意のタブ・ページが変更されるときに動作を実行します。

•	When-Tab-Page-Changedトリガーは、タブ・ページのナビゲーションが明示的な場合にのみ起動され、暗示的なナビゲーションには応答しません。たとえば、マウスまたはキーボードを使用してタブ・ページをナビゲートすると、このトリガーは起動されますが、エンド・ユーザーが「次の項目へ」（タブ）を押して、あるフィールドから同じブロックでも異なるタブ・ページの別のフィールドにナビゲートするときには、このトリガーは起動しません。

•	When-Tab-Page-Changedトリガーは、タブ・ページがプログラムによって変更されたときには起動しません。

失敗時

影響なし


When-Tab-Page-Changedの例

例

/* Use a When-Tab-Page-Changed trigger to dynamically

** change a tab page's label from lower- to upper-case
** (to indicate to end users if they already have
** navigated to the tab page):
*/
DECLARE
  tp_nm   VARCHAR2(30);
  tp_id   TAB_PAGE;
  tp_lb   VARCHAR2(30);

BEGIN
  tp_nm := GET_CANVAS_PROPERTY('emp_cvs', topmost_tab_page);
  tp_id := FIND_TAB_PAGE(tp_nm);
  tp_lb := GET_TAB_PAGE_PROPERTY(tp_id, label);

  IF tp_lb LIKE 'Sa%' THEN
    SET_TAB_PAGE_PROPERTY(tp_id, label, 'SALARY');
  ELSIF tp_lb LIKE 'Va%' THEN
    SET_TAB_PAGE_PROPERTY(tp_id, label, 'VACATION');
  ELSE null;
  END IF;
END;


When-Timer-Expiredトリガー

 例	 制限事項	  関連項目	  全トリガー

説明

タイマーが時間切れになると起動します。

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

タイマーはCREATE_TIMERビルトイン・プロシージャのコールによって、プログラムで作成されます。

•	When-Timer-Expiredトリガーは、トリガー、ナビゲーション、トランザクションなどの処理中には起動できません。

•	When-Timer-Expiredトリガーは、イベントの開始、項目値の更新、指定した間隔で発生させるタスクなどを実行するときに使用します。

•	When-Timer-Expiredトリガー内でGET_APPLICATION_PROPERTY（TIMER_NAME）をコールすると、最後に時間切れになったタイマーの名前が判別できます。

失敗時

影響なし

起動条件

タイマーの時間切れ

プロセス・フローチャートを参照してください。


When-Timer-Expiredトリガーの制限

When-Timer-Expiredトリガーは、ユーザーが現行のメニューをナビゲートしているときは起動しません。


When-Timer-Expiredトリガーの例

例

次の例では、タイマーの時間切れになるたびにメッセージ・ボックスを表示します。この例は電話販売のアプリケーションの例で、販売のために電話をかける時刻になるとメッセージ・ボックスが表示されて、電話をかける各段階で販売担当員に確認します。メッセージ・ボックスは、タイマーの時間切れになるたびに表示されます。

DECLARE
  timer_id  TIMER;
  alert_id  ALERT;
  call_status NUMBER;
  msg_1       VARCHAR2(80) := 'Wrap up the first phase of your
                               presentation';
  msg_2       VARCHAR2(80) := 'Move into your close.';
  msg_3       VARCHAR2(80) := 'Ask for the order or
                               repeat the close.' two_minutes NUMBER(6) := (120 * 1000);
  one_and_half NUMBER(5) := (90 * 1000);
BEGIN
  :GLOBAL.timer_count := 1
  BEGIN
    timer_id := FIND_TIMER('tele_timer');
    alert_id := FIND_ALERT('tele_alert');
  IF :GLOBAL.timer_count = 1 THEN
    Set_Alert_Property(alert_id, ALERT_MESSAGE_TEXT, msg_1);
  call_status := Show_Alert(alert_id);
  IF call_status = ALERT_BUTTON1 THEN
    Delete_Timer(timer_id);
    Next_Record;
  ELSIF
    call_status = ALERT_BUTTON2 THEN
    :GLOBAL.timer_count := 0;
  ELSE
    Set_Timer(timer_id, two_minutes, NO_CHANGE);
  END IF;
ELSIF :GLOBAL.timer_count = 2 THEN
    Change_Alert_Message(alert_id, msg_2);
    call_status := Show_Alert(alert_id);
    IF call_status = ALERT_BUTTON1 THEN
      Delete_Timer(timer_id);
      Next_Record;
    ELSIF
      call_status = ALERT_BUTTON2 THEN
      :GLOBAL.timer_count := 0;
    ELSE
      Set_Timer(timer_id, one_and_half, NO_CHANGE);
    END IF;
  ELSE
    Change_Alert_Message(alert_id, msg_3);
    call_status := Show_Alert(alert_id);
    IF call_status = ALERT_BUTTON1 THEN
      Delete_Timer(timer_id);
      Next_Record;
    ELSIF
     call_status = ALERT_BUTTON2 THEN
     :GLOBAL.timer_count := 0;
    ELSE
      Set_Timer(timer_id, NO_CHANGE, NO_REPEAT);
    END IF;
  END IF;
  :GLOBAL.timer_count = 2;
  END;
END;


When-Tree-Node-Activatedトリガー

  全トリガー

説明

オペレータがノードをダブルクリックしたとき、あるいはノードが選択された状態で[Enter]キーを押したときに起動します。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

•	SYSTEM.TRIGGER_NODEはユーザーがクリックするノードです。SYSTEM.TRIGGER_NODEからはタイプNODEの値が戻されます。

•	プログラムによる動作でWhen-Tree-Node-Activatedトリガーが起動されることはありません。エンド・ユーザーの動作のみがイベントを生成します。

失敗時

影響なし


When-Tree-Node-Expandedトリガー

  全トリガー

説明

ノードが拡張または縮小されたときに起動します。

定義レベル  フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

•	SYSTEM.TRIGGER_NODEはユーザーがクリックするノードです。SYSTEM.TRIGGER_NODEからはタイプNODEの値が戻されます。

•	プログラムによる動作でWhen-Tree-Node-Expandedトリガーが起動されることはありません。エンド・ユーザーの動作のみがイベントを生成します。

失敗時

影響なし


When-Tree-Node-Selectedトリガー

  全トリガー

説明

ノードが選択または選択解除されたときに起動します。

定義レベル  フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

•	SYSTEM.TRIGGER_NODEはユーザーがクリックするノードです。SYSTEM.TRIGGER_NODEからはタイプNODEの値が戻されます。

•	プログラムによる動作でWhen-Tree-Node-Selectedトリガーが起動されることはありません。エンド・ユーザーの動作だけがイベントを生成します。

失敗時

影響なし


When-Validate-Itemトリガー

 例	  関連項目	  全トリガー

説明

「項目の妥当性チェック」プロセス中に起動します。特に、新規または変更のチェック状態の項目に対する妥当性チェックの最後の部分で起動されます。

定義レベルフォームまたは、ブロック、項目

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

•	When-Validate-Itemトリガーは、Form Builderでデフォルト項目の妥当性チェックのプロセスを補足するために使用します。

•	作成したWhen-Validate-Itemトリガーによって、Form Builderが妥当性チェックを行っている項目の値が変更されてしまう可能性があることに注意してください。妥当性チェックが正常終了すると、Form Builderは変更された項目に有効のマークを付けるので、変更した項目をもう一度妥当性チェックすることはありません。この動作は、妥当性チェックのループを防ぐために必要です。 ただし他方ではユーザーのアプリケーションが無効な値をデータベースにコミットしてしまう可能性があります。

•	「Defer_Required_Enforcement」プロパティは、項目の妥当性チェックからレコードの妥当性チェックまでに「必須」プロパティの施行を延期します。項目の「必須」プロパティが「はい」に設定されていると、デフォルトでは、有効な値が入力されるまでその項目外にナビゲーションすることはできません。しかし、「Defer_Required_Enforcement」プロパティを「PROPERTY TRUE」に設定しておくと、レコード内の項目間を自由に移動できます。

注意: 「Defer_Required_Enforcement」が「TRUE」であっても、その他のすべての項目の妥当性チェックは通常どおりに実行されます。「必須」プロパティのチェックのみが、オペレータがレコードを放すまで延期されます。

失敗時

ナビゲーションによって開始される妥当性チェックの一部としてこのトリガーが起動されると、ナビゲーションは失敗し、フォーカスは元の項目上に残ります。

起動条件

項目の妥当性チェック

プロセス・フローチャートを参照してください。


When-Validate-Itemトリガーの例

例

次の例では、フォームのEMPLOYEEブロック内のcommcode項目の現行の設定値に基づいたCOMMPLAN表で、コミッション計画を検出し、コードが有効であるかをチェックします。COMMPLAN表の中でコードの位置が決まると、COMMPLANのdescription項目が取得され、データベース以外の Description 項目に預けられます。それ以外の場合は、エラーが発生します。

** Method 1:Using a SELECT...INTO statement, the trigger
**           looks more readable but can be less efficient
**           than Method 2 because for ANSI Standard
**           compliance, the SELECT...INTO statement must
**           return an error if more than one row is
**           retrieved that matches the criteria.This
**           implies PL/SQL may attempt to fetch data twice
**           from the table in question to insure that there
**           aren't two matching rows.
*/
BEGIN
  SELECT description
    INTO :Employee.Commplan_Desc
    FROM commplan
   WHERE commcode = :Employee.Commcode;
EXCEPTION
  WHEN No.Data_Found THEN
    Message('Invalid Commission Plan, Use <List> for help');
    RAISE Form_Trigger_Failure;
  WHEN Too_Many_Rows THEN
    Message('Error.Duplicate entries in COMMPLAN table!');
    RAISE Form_Trigger_Failure;
END;

/*
** Method 2:Using an Explicit Cursor looks a bit more
**           daunting but is actually quite simple.The
**           SELECT statement is declared as a named cursor
**           in the DECLARE section and then is OPENed,
**           FETCHed, and CLOSEd in the code explicitly
**           (hence the name).Here we guarantee that only a
**           single FETCH will be performed against the
**           database.
*/
DECLARE
  noneFound BOOLEAN;
  CURSOR cp IS SELECT description
                 FROM commplan
                WHERE commcode = :Employee.Commcode;
BEGIN
  OPEN cp;
  FETCH cp INTO :Employee.Commplan_Desc;
  noneFound := cp%NOTFOUND;
  CLOSE cp;
  IF noneFound THEN
    Message('Invalid Commission Plan, Use <List> for help');
    RAISE Form_Trigger_Failure;
  END IF;
END;


When-Validate-Recordトリガー

 例	  関連項目	  全トリガー

説明

「レコードの妥当性チェック」プロセス中に起動します。特に、新規または変更のチェック状態のレコードに対して妥当性チェックの最後の部分で起動しれます。

定義レベル フォームまたはブロック

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム

問合せ入力モード 不可

使用上の注意

When-Validate-Recordトリガーは、Form Builderでデフォルトのレコードの妥当性チェックのプロセスを補足するために使用します。

作成したWhen-Validate-Recordトリガーによって、Form Bilderが妥当性チェックを行っているレコード内の項目の値が変更されてしまう可能性があることに注意してください。妥当性チェックが正常に終了すると、Form Bilderはレコードおよびすべてのフィールトに有効のマークを付け、もう一度妥当性チェックすることはありません。この動作は、妥当性チェックのループを防ぐために必要です。ただし他方ではユーザーのアプリケーションが無効な値をデータベースにコミットしてしまう可能性があります。

失敗時

ナビゲーションによって開始される妥当性チェックの一部としてこのトリガーが起動されると、ナビゲーションは失敗し、フォーカスは元の項目上に残ります。

起動条件

レコードの妥当性チェック

プロセス・フローチャートを参照してください。


When-Validate-Recordトリガーの例

例

次の例では、Start_DateがEnd_Dateよりも小さいことを検証します。これら2つのテキスト項目は、値が関連しているため、各項目を別々にチェックするよりもレコード・レベルで1回チェックした方が便利です。このコードは、両方の日付項目が必須でどちらもNULLではないものとします。

/* Method 1:Hardcode the item names into the trigger.
**           Structured this way, the chance this code will
**           be reusable in other forms we write is pretty
**           low because of dependency on block and item
**           names.
*/
BEGIN
  IF :Experiment.Start_Date > :Experiment.End_Date THEN
    Message('Your date range ends before it starts!');
    RAISE Form_Trigger_Failure;
  END IF;
END;

/* Method 2:*/
BEGIN
  IF :Experiment.Start_Date > :Experiment.End_Date THEN
    Message('Your date range ends before it starts!');
    RAISE Form_Trigger_Failure;
  END IF;
END;

/* Method 2: Call a generic procedure to check the date
**           range.This way our date check can be used in
**           any validation trigger where we want to check
**           that a starting date in a range comes before
**           the ending date.Another bonus is that with the
**           error message in one standard place, i.e. the
**           procedure, the user will always get a
**           consistent failure message, regardless of the
**           form they're currently in.
*/
BEGIN
  Check_Date_Range(:Experiment.Start_Date,:Experiment.End_Date);
END;

/*
** The procedure looks like this
*/
PROCEDURE Check_Date_Range( d1 DATE, d2 DATE ) IS
BEGIN
  IF d1 > d2 THEN
    Message('Your date range ends before it starts!');
    RAISE Form_Trigger_Failure;
  END IF;
END;


When-Window-Activatedトリガー

  関連項目	  全トリガー

説明

ウィンドウがアクティブ・ウィンドウになると起動します。これは、フォームの起動時および別のウィンドウにフォーカスが移ると発生します。一部のウィンドウ・マネージャでは、タイトル・バーをクリックすることでウィンドウをアクティブにできます。この操作は、そのウィンドウ内の項目へのナビゲーションとは独立しています。したがって、別のウィンドウ内の項目へナビゲートすると、いつもそのウィンドウがアクティブになります。ただし、ウィンドウはナビゲーションとは関係なくアクティブにすることができます。

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

このトリガーは、次のタイプのタスクを実行するときに使用します。

•	GET_WINDOW_PROPERTYビルトインによって、「ウィンドウ」プロパティの初期設定値を取得します。

•	ウィンドウがアクティブになるたびに、特定の項目へのナビゲーションを強制します。

•	SYSTEM.EVENT_WINDOWから変数またはグローバル変数に値を割り当てて、最後に起動されたウィンドウ・トリガーを記録します。

失敗時

影響なし


When-Window-Closedトリガー

 例	  関連項目	  全トリガー

説明

オペレータがウィンドウ・マネージャ固有の「閉じる」コマンドを使用して、ウィンドウを閉じるときに起動します。

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

このトリガーは、オペレータがウィンドウ・マネージャの「閉じる」コマンドを発行したときにプログラムによってウィンドウを閉じるときに使用します。

現行の項目を含むウィンドウを非表示にできます。

失敗時

影響なし


When-Window-Closedトリガーの例

例

次の例では、オペレータがウィンドウ・マネージャの操作によってウィンドウを閉じるたびに、このトリガーからSET_WINDOW_PROPERTYが常にコールされ、ウィンドウを閉じます。

Set_Window_Property('window_name', VISIBLE, PROPERTY_OFF);


When-Window-Deactivatedトリガー

  関連項目	  全トリガー

説明

オペレータが入力フォーカスを同じフォーム内の別のウィンドウに設定してウィンドウをアクティブ解除にするときに起動します。

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

このトリガーは、オペレータが入力フォーカスを別のウィンドウに設定してウィンドウをアクティブ解除にするたびにウィンドウの状態を監査するときに使用します。

このフォームが別のフォームを開く場合、このアクティブ解除トリガーは即時には起動しないので注意が必要です。即時ではなく、制御がこのフォームに戻ってから起動します（このウィンドウにアクティブ化トリガーが同時に存在する場合、制御がこのフォームに戻ると、まずアクティブ化トリガーが起動し、それに続いて直ちにアクティブ解除トリガーが起動します）。

失敗時

影響なし


When-Window-Resizedトリガー

  関連項目	  全トリガー

説明

オペレータが、またはプログラムによって、RESIZE_WINDOWまたはSET_WINDOW_PROPERTYのコールを使用して、ウィンドウのサイズが変更される場合に起動します（ウィンドウが現在表示されていない場合でも、プログラムによりウィンドウのサイズが変更されると、When-Window-Resizedトリガーが起動されます）。このトリガーは、フォームの起動時にルート・ウィンドウが最初にコールされるときにも起動されます。ウィンドウがアイコン化されているときには起動しません。

定義レベルフォーム

有効コマンド

SELECT文、制限なしビルトイン・サブプログラム、制限付きビルトイン・サブプログラム

問合せ入力モード 可

使用上の注意

このトリガーは、次のタイプのタスクの1つを実行するときに使用します。

•	幅または、高さ、x座標、y座標のような変更されたウィンドウ・プロパティを取得します。

•	オペレータの操作を監査します。

•	ターゲット・ウィンドウの項目に入力フォーカスを設定します。

•	ウィンドウが不適切にサイズ変更された場合、ウィンドウ・サイズを再設定して、特定の可視基準を保持します。

失敗時

影響なし


エラー・メッセージについて

•	メッセージ接頭辞と番号

•	エラーの説明

•	考えられるエラーの原因

•	エラーを解決するためにとる処置

エラー・メッセージが出されたら、まずメッセージの接頭辞を調べて、どのコンポーネントからメッセージが生成されたのかを判別します。次に、メッセージ番号と説明を確認します。さらに詳しい情報が必要な場合は、コンポーネントのオンライン・ヘルプ・システムを使用してエラー・メッセージの詳しい説明（原因とアクションを含む）を参照してください。

エラー・メッセージ接頭辞

各コンポーネントには、そのエラー・メッセージに付けられる一意の接頭辞があります。次に、Forms Developerのエラー・メッセージの接頭辞をリストします。

接頭辞	コンポーネント

FRM	Form Builder

OG	Graphics Builder

PDE	Procedure Builder

Forms Developerのエラー・メッセージに加えて、他の製品からのメッセージが出されることもあります。次のリストは、出される可能性のあるエラー・メッセージの接頭辞と、エラーを調べるための情報のソースのリストです。

接頭辞	ソース	ヘルプ

REP	Reports Builder	Reports Developerオンライン・ヘルプ

ORA	Oracleサーバー	『Oracle Serverメッセージとコード・マニュアル』

PLS	PL/SQL	『Oracle Serverメッセージとコード・マニュアル』

NET	SQL*Net	『Oracleネットワーク製品メッセージ・マニュアル』

『Oracle Serverメッセージとコード・マニュアル』には、エラー・メッセージ接頭辞と SQL*DBA、SQL*Loader、SQL*Module、Export、ImportおよびOracleプリコンパイラのような、すべてのデータベース・ユーティリティについての説明が含まれています。

システム固有のエラー・メッセージは、オペレーティング・システムのマニュアルに記載されています。


メッセージ内の埋込み変数について

エラーを見つけて修正するために、Forms Developerでは、一部のエラー・メッセージにオブジェクト名、数値および文字列が埋め込まれています。オンライン・ヘルプ内で、これらの埋込み変数は、カッコ（< >）に囲まれた用語によって表されています。

たとえば、次のようなエラー・メッセージがあるとします。

PDE-CCM002:LIB1はオープン・ライブラリではありません。

これは、オンライン・ヘルプでは次のように表示されます。

PDE-CCM002:<ライブラリ名>はオープン・ライブラリではありません。


Forms Runtimeのメッセージ処理

関連項目

エンド・ユーザーがForm Builderアプリケーションを使用するときに表示されるメッセージを制御する方法は次の通りです。

•	システム変数SYSTEM.MESSAGE_LEVELを使用して、メッセージの"重大度レベル"を制御します。

•	メッセージの標準処理を置き換えるには、On-ErrorおよびOn-Messageトリガーを使用します。

•	システム変数SYSTEM.SUPPRESS_WORKINGを使用して、エンド・ユーザーのスクリーンの更新を防止します（SYSTEM.SUPPRESS_WORKINGメッセージを抑止します）。

メッセージの重大度レベル

Forms Runtimeのメッセージは重大度によって分類されています。Forms Runtimeのメッセージは重大度によって分類されています。エンド・ユーザーに表示される重大度レベルを制御するためには、SYSTEM.MESSAGE_LEVELシステム変数を使用します。

ユーザーが影響を与えることのできるメッセージの重大度には6つのレベルがあり、次にその重大度を昇順にリストします。

レベル	メッセージの記述
0	重大度とは無関係のすべてのメッセージ・タイプ。
5	条件の明示的な再確認。
10	エンド・ユーザーの手順に誤りがあったことを示します。
15	エンド・ユーザーがフォームに設計されていない機能を実行しようとしていることを示します。
20	トリガーまたは別の外部的な要因のため、エンド・ユーザーが目的の処理を継続できないような条件が示されます。
25	フォームが正常に実行しなくなるような条件が示されます。
>25	SYSTEM.MESSAGE_LEVELシステム変数では抑止できないメッセージの重大度レベルが示されます。

個々のForms Runtimeのメッセージの重大度は、Form Builderオンライン・ヘルプ・システム中の"レベル"でラベル付けされます。

メッセージのタイプ

On-ErrorおよびOn-Messageトリガーを使用して、Forms Runtimeのメッセージを置き換えるには、次の3つのタイプのForms Runtimeのメッセージを知っておく必要があります。

通知	エンド・ユーザーに現在の処理状態を知らせます（たとえば、最後の値が検索されました。など）。またはエンド・ユーザにコンテキスト依存ガイダンスを提供します（たとえば、答えを入力して、[OK]を押してください。など）。これらのメッセージの表示を抑止するには、On-Messageトリガーを使用します。

エラー	エンド・ユーザーのアクションを防止するエラー条件を知らせます（たとえば、使用できないファンクション・キーです。使用可能なキーのリストを表示するには「ファンクション・キーを表示」を押してください。など）。これらのメッセージの表示を抑止するには、On-Errorトリガーを使用します。ただし、コマンド・ラインに表示されるエラー・メッセージの表示は抑止できません（たとえば、コマンド行の引数が多すぎます。など）。

処理中	現在、Form Builderの処理中であることをエンド・ユーザーに知らせます（たとえば、しばらくお待ち下さい.... など）。On-ErrorまたはOn-Messageトリガー、あるいはSYSTEM.MESSAGE_LEVELシステム変数を使用しても、これらのメッセージを抑止できません。

個々のForms Runtimeメッセージのメッセージ・タイプは、Form Builderヘルプ・システム中の"タイプ"でラベル付けされます。


オラクル社カスタマ・サポートへの連絡

エラーによっては（内部エラーなど）、エラー報告のためオラクル社カスタマ・サポートに連絡が必要なものがあります。連絡する際には、次の情報の提供をお願いします。

1	氏名、会社名、およびOracleサポートID番号。

2	ハードウェア、オペレーティング・システム、製品を稼働しているオペレーティング・システムのリリース番号。

3	エラーが出されたときに使用していたコンポーネントの完全なバージョン番号。改訂番号とポート・リリース番号がある場合はそれらも含みます。（構成部品のバージョン番号がはっきりしない場合は、メニューから「ヘルプ」 [image] <製品名>についてを選択します）。

4	エラーが出されたときに使用していた他のすべての製品およびそれらのバージョン番号（たとえば、Oracle 7.1.4など）。

5	1つ以上のエラー・メッセージが発生した場合、それらが現れた順に、正確なメッセージ番号と説明。

6	問題の説明（異常な状態など）。

7	次のコードに基づいた、問題の重大度。

• 1: プログラムが使用できません。操作に重大な影響があります。

• 2: プログラムは使用できます。操作がかなり制限されます。

• 3: プログラムは使用できるが機能に制限があります。全体の操作に重大な影響はありません。

• 4: 使い方が限定されます。最小限の（もしあれば）操作に対する影響しかありません。


フォームのアップグレードについて

  関連項目

Forms Developerには、Oracle Formsのバージョン3.0、4.0、4.5および5.0を含む以前のバージョンからのアップグレード互換性があります。

注意: オラクルでは、ご使用のフォームまたはメニューを変換する前に、すべてのファイルのバックアップ・コピーを作成することをお薦めしています。一度モジュールをアップグレードすると、それを以前のバージョンのForms Developerではオープンできなくなります。


フォームのアップグレード

  関連項目

バージョン4.xまたは5.xのフォームをForms Developer 6iにアップグレードするには:

1	Forms Developer Form Builderを起動します。

2	「ファイル」 [image] 「オープン」を選択して、ファイルまたはデータベース･ダイアログを表示させます。

3	アップグレードする場合はモジュールを選択します。

4	「OK」をクリックします。

5	「ファイル」 [image] 「保存」を選択します。

6	「プログラム」 [image] 「コンパイル」 [image] 「すべて」を選択して、新たにアップグレードされたモジュールをコンパイルします。

注意: フォームのすべてのモジュールとライブラリをアップグレードし、リコンパイルする必要があります。

バージョン4.0より前のフォームをForms Developer6iにアップグレードするには:

バージョン4.0より前のフォームをForms Developer6iにアップグレードするには、フォームをバージョン4.5（アップグレードにはForms 4.5を使用）にアップグレードしてから、前述の指示に従ってバージョン4.5からバージョン6iにアップグレードします。

バージョン4.0より前のフォームをバージョン4.5にアップグレードするには、コマンド行で次の文を入力することにより、使用している環境から、適切なフォームのForms 4.5生成コマンドに置き換えます。

f45gen32 <module_name> <username>/<password> upgrade=yes version=<version_number>

アップグレードするフォーム:	使用するバージョン番号:
バージョン 3.0	30
バージョン 2.3	23
バージョン 2,0	20


データ・ブロックの作成

  次へ	     関連項目

表からデータ・ブロックを作成するには:

「ツール」「データ・ブロック・ウィザード」を選択し、データ・ブロックの構築をガイドするウィザードを起動します。

または

1	オブジェクト・ナビゲータ内で、「データ・ブロック」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

3	新規に挿入された「ブロック・オブジェクト」アイコン [image] をダブルクリックして、「プロパティ・パレット」を表示します。

4	「データベース」ノードの下で:

•	「問合せデータ・ソース・タイプ」プロパティを「表」に設定します。

•	「問合せデータ・ソース名」プロパティにデータベースの表の名前を入力します。

5	「拡張データベース」ノードの下で:

•	「DMLデータ宛先タイプ」プロパティを「表」に設定します。

•	「DMLデータ宛先名」プロパティにデータ・ソースの名前を入力します。

6	「一般」ノードの下で「名前」プロパティをクリックして、次に名前を入力するか、またはデフォルト名を受け入れます。

Oracle命名規則に準じていて、かつフォーム内のブロック間で他と重複しない任意の名前を使用できます。ブロック名は内部記述子であり、実行時には表示されません。


インタフェース項目の作成

  次へ

インタフェース項目を作成するには:

1	オブジェクト・ナビゲータで、希望する「データ・ブロック」ノードの横のプラス・アイコンをクリックします。

Form Builderによって、「データ・ブロック」ノードが拡張され、そのサブノードが表示されます。

2	「項目」ノードをクリックします。

3	ツールバーの「作成」ボタン [image] をクリックします。

デフォルト名が付けられた新規項目が、「項目」ノードの下に挿入されます。

4	新しく作成された項目の横のオブジェクト・アイコンをダブルクリックして、「プロパティ・パレット」を表示します。

5	「データベース」ノードの下で、「データベース項目」プロパティを「いいえ」に設定します。

注意: データ・ブロック内の項目を作成するとき、フォームはその項目がデータ項目であると想定して、データベース項目プロパティを「はい」に設定します。データ項目は、データベースに発行されるSELECT、UPDATEおよびINSERT文に自動的に組み込まれます。作成する項目がデータ・ブロック内の制御項目である場合は、その項目の「データベース項目」プロパティを明示的に「いいえ」に設定する必要があります。

6	「一般」ノードの下で、「項目タイプ」プロパティを希望する項目タイプに設定します。

デフォルトの項目タイプはテキスト項目です。デフォルトは、「項目タイプ」プロパティを必要な項目タイプ（チェックボックス、ラジオ・グループ、リスト項目など）に設定することによって、変更できます。

7	「表示」ノードの下で、「キャンバス」プロパティを希望するキャンバスの名前に設定します。

注意: 実行時に項目を表示するには、フォーム内の各インタフェース項目をキャンバスに割り当てる必要があります。


データ・ブロック定義の変更

  関連項目

データ・ブロックの定義を変更するには:

オブジェクト・ナビゲータ内で、希望するブロックをクリックし、「ツール」 [image] 「データ・ブロック・ウィザード」を選択して、データ・ブロックの定義の変更をガイドするウィザードを起動します。


Forms Runtime Diagnosticsについて

  関連項目

Forms Runtime Diagnostics (FRD)は、アプリケーションのデバッグに役立つ実行時イベント・ベースのロギング・システムです。

FRDを有効にしてフォームを実行すると、外部のユーザー・アプリケーションとの対話と内部のForms処理イベントの両方が、ファイル・システム上のログに時系列順に書き込まれます。これらが正しいイベントかどうかを分析できます。

次の情報を収集できます。

•	トリガーの起動

•	ビルトインの実行

•	メッセージ

•	オープンされたファイル

•	未処理の例外

•	外部ユーザー・イベント


Forms Runtime Diagnosticsの使用

  関連項目

データ収集を開始するには:

次のように、実行時の引数recordに文字列collectを与えます。

f60runm module=foo userid=scott/tiger@hockey record=collect

これによって、現行の作業ディレクトリに次の名前のファイルが作成されます。collect_<process ID>.ファイルの名前を自分で選択するには、log=引数の値となる文字列を入力します。

f60runm module=foo userid=scott/tiger@hockey record=collect log=myfile


Forms Runtime Diagnosticsの出力例

  関連項目

Forms Runtime Diagnosticsを使用すると、次のような形式で各イベントに対する出力が行われます。

トリガー

任意のタイプのトリガーをオブジェクト階層内の任意のレベルに配置します。トリガーは、起動と同時に次の形式でログに記録されます。

<trigger_name> Trigger Fired:

Form:<form_name>

Block:<block_name>

Item:<item_name>

トリガーのレベルはリスト内の最後の項目に対応します。このため、Formレベルのトリガーは、トリガー名の下にあるフォーム名のみを持ちます。

トリガーの起動に続き、状態変化がログに書き込まれます。状態変化は、前の状態変化が発生してから変更があったすべての内部状態の情報のダンプです。最初の状態変化によって、フォームのすべての状態がログにダンプされます。

ビルトイン

PL/SQL Formsのビルトインを実行すると、診断の結果が次のように出力されます。

Executing <built-in name> Built-In:

In Argument 0 -Type:<type> Value:原因:

In Argument 1 -Type:<type> Value:原因:

�

Out Argument 0 -Type:<type> Value:原因:

�

テスト対象のパラメータ・タイプには次のものがあります。テスト対象のパラメータ・タイプには、文字列、数値、整数、Float、Oracle番号、日付があります。Out引数0は、通常ファンクション戻り値を表します。

メッセージ

Formsによって生成されるすべてのメッセージは、表示されたとおりにログにも記録されます。

Error Message:<message>

ファイルのオープン

オープンされたファイルは、次の形式でログに書き込まれます。

Opened file:<file_name>

ファイルのオープンが失敗すると、次の形式でログに書き込まれます。

Failed to open file:<file_name>

未処理の例外

処理されない例外が発生すると、次の形式でログに書き込まれます。

Unhandled Exception:<exception_name>

名前を記録できない場合は、FRDによって参照用の例外番号が記録されます。

Unhandled Exception ORA- <exception_number>

ログには、未処理の例外の後に状態変化が記録されます。

実行時の外部ユーザー・イベント

FRDでは、既存のランタイム機構によってユーザー・イベントのログが記録されます。ログに書き込まれるランタイム情報は、常に#記号とイベントの発生順序を示す番号に続いて記録されます。通常、各イベントについて、ランタイム機構によって2つの情報ブロックが書き込まれます。最初のブロックはイベント自体の詳細を示し、2つ目のブロックは状態変化を表します。


ユーザー・イグジット・インタフェースについて

 関連項目

外部ファンクションは、3GLのプログラミング言語で書かれたサブプログラムです。この外部ファンクションを使用して、Form Builderアプリケーションをユーザー固有の要件を満たすようにカスタマイズできます。外部ファンクションは、パフォーマンスを改善したり、Form Builderに追加機能を与えるのに使用されます。

Form Builderでは、USER_EXITビルトインを使用して、トリガーまたはユーザーが名前をつけたサブプログラムの内部からユーザー・イグジットをコールすることができます。ユーザー・イグジットは、フンクションにより整数値状態コードを戻すよう書かれていることが必要です。ユーザー・イグジットの戻り値では、成功、失敗または致命的エラーを示します。USER_EXITビルトインの実行に続いて、Form Builderのエラー変数の値（FORM_FAILURE、FORM_FATALおよびFORM_SUCCESS）が設定されます。

ユーザー・イグジットをForms Runtimeからコール可能にするためには、特別な処理が要求されます。Microsoft Windowsでユーザー・イグジットを使用する場合、ユーザー・イグジット関数をダイナミック・リンク・ライブラリにリンクし、特別な構成ライブラリを各ユーザー・イグジットに関する情報で更新しなくてはなりません。その構成ファイルは、ユーザー・イグジット・インタフェースについての情報、およびForm Builderがユーザー・イグジット・インタフェースから外部ファンクションを起動できるエントリ・ポイントについての情報を提供します。他のプラットフォームでユーザー・イグジットを使用する場合は、構成ファイルを各ユーザー・イグジットに関する情報で更新し、そのファイルのコンパイラ・バージョンとユーザー・イグジット・コードのコンパイル済みバージョンをForms Runtime実行可能ファイルにリンクしなくてはなりません。

注意: PL/SQLインタフェースから外部ファンクションを起動する方法もあります。ORA_FFIビルトイン・パッケージは、Form Builderから外部ファンクションを起動するためのPL/SQLインタフェースを提供します。


EXEC SQLステートメント

 制限事項

EXEC SQLステートメントは、プレフィックス"EXEC SQL EXEC"が付いたSQLコマンドです。EXEC SQLステートメントにより、Oracleプリコンパイラ外部ファンクションでどのようなSQLコマンドも実行できます。EXEC SQLステートメントを使用して、外部ファンクションからデータベースのデータを検索または操作できます。

構文:

EXEC SQL sql_statement;

sql_statement は、この項で説明する制限されたコマンド以外の、有効なOracle SQLステートメントです。

UNIX以外の環境のForm Builderでは、接続が自動的に確立されないので、Oracleプリコンパイラ外部ファンクションで明示的にCONNECTを実行する必要があります。Oracle Serverでは同時接続はサポートされません。詳細は、『Oracleプリコンパイラ・プログラマーズ・ガイド』を参照してください。


EXEC SQLステートメントの制限事項

Oracleプリコンパイラの外部ファンクションでSQLコマンドを使用する場合には、次の制限事項があります。

•	外部ファンクションがコールされたときに、まだデータベースにポストされていない変更がフォームにある場合、外部ファンクション内からCOMMITまたはROLLBACK文を発行しないでください。

•	外部ファンクションがコールされたときに、まだデータベースにポストされていない変更がフォームにある場合、外部ファンクション内のDDSコマンドなどのデータベース・コミットを暗黙的に実行するコマンドは発行しないでください。


EXEC TOOLS GETステートメント

 例	   制限事項

EXEC TOOLS GETステートメントによって、Form Builderから値が取り出され、Oracleプリコンパイラ外部ファンクションに渡されます。具体的には、Form Builder項目または変数の値が、ホスト言語変数に挿入されます。いったん外部ファンクションがForm Builderから値を取り出すと、外部ファンクションはその値を計算または操作、更新に利用できます。

構文:

EXEC TOOLS GET form_variable_1[, form_variable_2, ...]

INTO :host_variable_1[, :host_variable_2, ...];

パラメータの内容は次のとおりです。

form_variable_n	値を読み込むForm Builder項目または変数の名前を指定します。
host_variable_n	値を読み出すホスト言語変数の名前を指定します。
注意:

form_variable には、次の項目を指定できます。

•	完全修飾項目項目（block.item）

•	フォーム・パラメータ

•	Form Builderシステム変数

•	Form Builderグローバル変数

•	値が前述の選択肢のいずれかであるホスト言語変数（前にコロンを付ける）

ホスト言語の変数制限は、『Oracleプリコンパイラ・プログラマーズ・ガイド』を参照してください。


EXEC TOOLS GETステートメントの制限事項

外部ファンクションからレコード・グループへ、直接値を取得または設定できません。


EXEC TOOLS GETステートメントの例

例

/*

** Example:Read an item name from a block (empblock.empname)

*/

EXEC SQL BEGIN DECLARE SECTION;

char itm_buff[255];    /* buffer for item value */

VARCHAR itm_name[255]; /* Forms item name       */

EXEC SQL END DECLARE SECTION;

strcpy(itm_name.arr,"EMBLOCK.EMPNAME");

itm_name.len=strlen("EMBLOCK.EMPNAME");

EXEC TOOLS GET :itm_name

INTO :itm_buff;


EXEC TOOLS SETステートメント

  例

EXEC TOOLS SETステートメントは、Oracleプリコンパイラ外部ファンクションからForm Builderへ値を送ります。具体的には、定数の値またはホスト言語変数の値をForm Builderの項目または変数に挿入します。

外部ファンクションが、その外部ファンクションをコールしたフォームにプロセス制御を戻した後、EXEC TOOLS SETステートメントがフォーム項目に渡す値はすべて表示されます（ただし、項目の「使用可能」プロパティが「はい」に設定されている場合に限ります）。

構文:

EXEC TOOLS SET form_variable[, ...]

VALUES ({:host_variable | constant}[, ...]);

パラメータの内容は次のとおりです。

form_variable	値を読み出すForm Builderの項目または変数の名前を指定します。
host_variable	値を読み込むホスト言語変数の名前を指定します。
constant	読み込む定数を指定します。定数の前にコロンは付けません。
注意:

form_variable には、次の項目を指定できます。

•	完全修飾項目（block.item）

•	フォーム・パラメータ

•	Form Builderシステム変数

•	Form Builderグローバル変数

•	値が前述の選択肢のいずれかであるホスト言語変数（前にコロンを付けます）

ホスト言語の変数制限は、『Oracleプリコンパイラ・プログラマーズ・ガイド』を参照してください。

標準のSQLフォーマットでホスト変数および定数を表記します。

Value	結果
:holder1	ホスト変数holder1（セミコロンを前に付ける）の値を挿入します。
'Summit Sporting Goods'	文字列定数の値「Summit Sporting Goods」（引用符で囲む）を挿入します。
413	数値定数「413」（数値は引用符で囲まない）を挿入します。


EXEC TOOLS SETステートメントの例

例

/*

** Example:Write 'SMITH' into emp.ename

*/

EXEC SQL BEGIN DECLARE SECTION;

char itm_buff[255];  /*buffer for item value */

VARCHAR itm_name[255]; /* Forms item name */

EXEC SQL END DECLARE SECTION;

strcpy(itm_name.arr,"EMP.ENAME");

itm_name.len = strlen("EMP.ENAME");

strcpy(itm_buff,"SMITH");

EXEC TOOLS SET :itm_name

VALUES (:itm_buff);


EXEC TOOLS MESSAGEステートメント

  例

EXEC TOOLS MESSAGEステートメントは、Form Builderのメッセージ行にメッセージを表示します。

構文:

EXEC TOOLS MESSAGE (message [severity]);

パラメータの内容は次のとおりです。

message	Form Builderに渡すメッセージを指定します。メッセージは、引用された文字列またはホスト言語変数でも構いません。
severity	Form Builderへ渡すメッセージの重大度レベルを指定します。


EXEC TOOLS MESSAGEステートメントの例

例

/*

** Example:Error message for text item

*/

EXEC TOOLS MESSAGE

'引数の誤り: 項目名でなくてはなりません。Expecting item name.Please re-enter.';


EXEC TOOLS GET CONTEXTステートメント

  例

EXEC TOOLS GET CONTEXTステートメントは、以前EXEC TOOLS SET CONTEXTを使用して保存されたコンテキスト情報（ポインタ名）を取得し、外部ファンクションに渡します。

構文:

EXEC TOOLS GET CONTEXT context_name [, ...]

INTO :host_variable_1[, :host_variable_2, ...];

パラメータの内容は次のとおりです。

context_name	保存されているコンテキストの名前を指定します。
host_variable_n	コンテキスト値を読み出すホスト言語変数の名前を指定します。
注意:

context_name には、次のいずれかの項目を指定できます。

•	ホスト言語変数（コロンを前に付けます）

•	定数


EXEC TOOLS GET CONTEXTステートメントの例

例

/*

** Example:Get previously saved context information

*/

EXEC SQL BEGIN DECLARE SECTION;

char *pctx;

EXEC SQL END DECLARE SECTION;

EXEC TOOLS GET CONTEXT appl_1 INTO :pctx;


EXEC TOOLS SET CONTEXTステートメント

  例

EXEC TOOLS SET CONTEXTステートメントは、後続の外部ファンクションの起動で使用できるように、コンテキスト情報を保存します。情報を保持するには、グローバル変数を作成するかわりに、EXEC TOOLS SET CONTEXTを使用します。EXEC TOOLS SET CONTEXTによって、メモリー内の位置を示すポインタに意味のある名前を割り当てられます。ポインタは、EXEC TOOLS GET CONTEXTを使用して取り出せます。

構文:

EXEC TOOLS SET CONTEXT host_name[, ...]

BY context_name [, ...];

パラメータの内容は次のとおりです。

host_name	保存しようとしている情報が含まれるホスト言語変数を指定します。
context_name	保存されるコンテキストの名前を指定します。

注意:

context_name には、次のいずれかの項目を指定できます。

•	ホスト言語変数（コロンを前に付けます）

•	定数


EXEC TOOLS SET CONTEXTステートメントの例

例

/*

** Example:Save context information for later use

*/

EXEC SQL BEGIN DECLARE SECTION;

char my_context[20];

EXEC SQL END DECLARE SECTION;

strcpy(my_context, "context_1");

EXEC TOOLS SET CONTEXT :my_context BY appl_1;


EXEC ORACLEステートメント

EXEC ORACLEは標準のSQL文ではなく、Oracleプリコンパイラ・オプションの実行に使用されます。詳細は、『Oracleプリコンパイラ・プログラマーズ・ガイド』を参照してください。


ユーザー・イグジットの作成

  例	  関連項目

ユーザー・イグジットの作成方法:

1	ホスト・プログラミング言語のどれか1つを使用してユーザー・イグジットを作成します。

2	推奨： Oracleプリコンパイラ外部ファンクションは、C言語で作成することをお薦めします。

3	各ユーザー・イグジットを登録するIAPXTB制御構造体を作成します。

4	ユーザー・イグジットをForm Builderと統合します。


IAPXTB制御構造体について

  関連項目

IAPXTB制御構造体は、ユーザー・イグジットから起動されるすべての外部ファンクションについての情報が入っているデータ構造体です。IAPXTB制御構造体は、外部ファンクションとForm Builderのリンクに必要なエントリ・ポイントを保持します。次の表は、IAPXTB制御構造体内の各列について説明しています。

Column	コンテント
名前	ユーザー・イグジットから起動される外部ファンクションのユーザー・イグジット名を指定します。（これは、コールされる外部ファンクションが含まれているファイル名またはコールされる外部ファンクション名でなくても構いません。）ホスト言語によっては、大/小文字を区別するので注意してください。
ファンクション	外部ファンクション名を指定します。
タイプ	外部ファンクションを作成する言語を指定します。有効な値は、C言語はXITCC、COBOLはXITCOB、FORTRANはXITFOR、PL/IはXITPL、PASCALはXITPAS、AdaはXITAdaです。

ユーザー・イグジットから起動する各外部ファンクションについてIAPXTB制御構造体に項目を1つ入力する必要があります。これは、外部ファンクションが含まれているファイルがそれ自身でプリコンパイルおよびコンパイルする場合でも、あるいは他の外部ファンクションでプリコンパイルおよびコンパイルする場合でも、ユーザー・イグジットから起動されるすべての外部ファンクションに当てはまります。生産システム用にユーザー・イグジットから起動される外部ファンクションはすべて1つのIAPXTB制御構造体の中にまとめてください。テスト・バージョンの外部ファンクションは、別のIAPXTB制御構造体の中に保持してください。


IAPXTB制御構造体の作成

 例	    関連項目

IAPXTB制御構造体の作成方法:

1	IAPXTBデータ構造体を定義します。

データ構造体は、必ずユーザー・イグジット名および外部ファンクション名、外部ファンクションの作成に使用する言語の3つのフィールドで定義してください。

2	各外部ファンクションのデータを入力します。

3	オブジェクト・コード・ファイルを生成するためにIAPXTBソース・ファイルをコンパイルします。ユーザー・イグジットとForm Builderを結合するために、IAPXTBオブジェクト・コード・ファイルを保存します。


ユーザー･イグジットとForm Builderの結合について

  関連項目

ユーザー・イグジットのForm Builderへの結合方法は、オペレーティング・システムおよび外部ファンクションを作成した言語によって異なります。

Microsoft Windowsでは、外部ファンクションのオブジェクト・コード・ファイルおよびIAPXTB制御構造体のオブジェクト・コード・ファイルのダイナミック・リンク・ライブラリを作成します。外部ファンクションがユーザー・イグジットから起動されると、ダイナミック・リンク・ライブラリがメモリーにロードされます。

他の環境の場合、外部ファンクションおよびIAPXTB制御構造体からのオブジェクト・コード・ファイルをForm Builderファイルへリンクすることによって、Forms Runtime実行可能ファイルを再ビルドしなくてはなりません。


ユーザー･イグジットとForm Builderの結合方法

 例	    関連項目

ユーザー・イグジットとForm Builderを結合する方法:

1	外部ファンクションのオブジェクト・コード・ファイルを識別します。

2	IAPXTB制御構造体のオブジェクト・コード・ファイルを識別します。

3	外部ファンクション・オブジェクト・コード・ファイルとIAPXTB制御構造体を、ダイナミック・リンク・ライブラリまたはForms Runtimeにリンクします。


ユーザー･イグジットからの外部ファンクションの起動

 制限事項	    関連項目

外部ファンクションへのユーザー・イグジットを作成した後、Form Builderからユーザー・イグジット・インタフェースを使用して外部ファンクションを起動します。ユーザー・イグジットから外部ファンクションを呼び出すには、トリガーまたはユーザー命名サブプログラムからUSER_EXITビルトイン・サブプログラムをコールします。

ユーザー・イグジットから外部ファンクションを起動すると、Form Builderは処理制御を一時的に外部ファンクションに渡します。外部ファンクションの実行が終了すると、Form Builderに処理制御が戻ります。

構文:

USER_EXIT(user_exit_string);

USER_EXIT(user_exit_string, error_string);

USER_EXITビルトインは、user_exit_string に指定された外部ファンクションをコールします。

パラメータ

user_exit_string	ユーザー・イグジットからコールする外部ファンクションのユーザー・イグジット名をパラメータと共に指定します。user_exit_stringの最大長は255バイトです。
error_string	外部ファンクションへのコールが失敗した場合Form Builderが表示するユーザー定義のエラー・メッセージを指定します。error_stringの最大長は255バイトです。


ユーザー･イグジットからの外部ファンクション呼出しの制限事項

外部ファンクションを表す（USER_EXITビルトイン・サブプログラムのuser_exit_stringの）ユーザー・イグジット名は、オペレーティング・システムとホスト言語のルールに従ってつけてください。ルールには大/小文字区別も含まれる場合があるので、注意してください。また、1回のUSER_EXITビルトイン・コールで、外部ファンクションを1つのみ起動できることにも注意してください。


USER_EXITによる外部ファンクションへのパラメータ値の受渡し

  関連項目

ユーザー・イグジットから起動された外部ファンクションにパラメータを渡せます。USER_EXITビルトイン・サブプログラム内のuser_exit_stringとerror_stringを定義することで、パラメータ値を渡すことができます。

Form Builderでuser_exit_stringとerror_stringを定義すると、外部ファンクションはコマンド行とエラー・メッセージに対応する値を認識します。たとえば、Form Builderはuser_exit_stringの値を文字列変数として扱います。user_exit_stringの値は、外部ファンクションへ渡されるコマンド行です。

次に示すのは、外部ファンクション・パラメータ、およびユーザー・イグジットから呼び出される各外部ファンクションのForm Builder定義です。

外部ファンクション・パラメータ	Form Builderの定義
コマンド・ライン	user_exit_string
コマンド行の長さ	user_exit_stringのバイト
エラー・メッセージ	error_string
エラー・メッセージの長さ	error_stringのバイト
In-Query	フォームが問合せ入力モードのときに、外部ファンクションがユーザー・イグジットから起動されたかどうかを反映するブール値です。

Form Builderは、user_exit_stringから自動的に外部ファンクションを起動しますが、user_exit_stringを自動的に解析しません。user_exit_stringの解析は、外部ファンクションが行います。

USER_EXITビルトインのuser_exit_stringから外部ファンクションへは任意の数のパラメータを渡すことができます。この機能を使用して項目名などの情報を渡します。たとえば、PARAM1とPARAM2という2つのパラメータをCALCULATE_VALUES外部ファンクションに渡すには、次のような文を指定します。

User_Exit('CALCULATE_VALUES PARAM1 PARAM2');


USER_EXITを使用して外部ファンクションから値を戻す方法

  関連項目

Form BuilderのUSER_EXITビルトイン・サブプログラムの実行が完了すると、整数値がForm Builderに戻されます。この整数値は、USER_EXITビルトイン・サブプログラムの実行の成功、または失敗、重大エラー発生のいずれかを示します。（たとえば、外部ファンクションをCで作成する場合、Form Builderは.".h"ファイルで定数を定義します。）

Form Builderのエラー変数FORM_FAILURE、FORM_FATALおよびFORM_SUCCESSが、USER_EXITビルトイン・サブプログラムから戻される値によって設定されます。他のビルトイン・サブプログラムと同様に、エラー変数を問い合せることで、USER_EXITビルトイン・サブプログラムの実行の成功または失敗を判断できます。USER_EXITビルトイン・サブプログラムをコールするトリガーで、戻り値を判断します。

たとえば、ユーザー・イグジットから外部ファンクションを実行後、FORM_SUCCESSの値を確認する場合は、次のように記述します。

User_Exit('my_exit');

IF NOT Form_Success THEN

/* handle the error */

END IF;


Microsoft Windowsのユーザー･イグジットの作成について

  関連項目

Microsoft Windowsでは、ユーザー・イグジットから起動される外部ファンクションは、ダイナミック・リンク・ライブラリ（DLL）に入っています。DLLは、そこに含まれているコードが起動されたときのみメモリーにロードされます。DDLは複数のアプリケーションで共有できます。この先に進む前に、ご使用のコンパイラのマニュアルに書かれているDDLの構築方法を理解しておく必要があります。

注意: C言語のランタイム・ファンクションの中には、.DLLファイルにないのもあります。詳細については、ご使用のコンパイラのマニュアルを参照してください。

次に示すのは、ユーザー・イグジットから外部ファンクションを作成して起動する例です。この例では、UE_SAMP.MAKプロジェクト・ファイルを使用します。


Microsoft Windowsのユーザー･イグジットの作成

  関連項目

Microsoft Windowsでユーザー・イグジットから起動可能な外部ファンクションを作成する手順は次のとおりです。

1.	Pro*CとOracleプリコンパイラ文を使用して、データベースにアクセスするための外部ファンクションを作成します。

たとえば、UEXIT.PCというテキスト・ファイルを作成し、次のテキストを付加します。

/* UEXIT.PC file */

/* This foreign function adds an ID column to the EMP table.*/

#ifndef UE

#include "ue.h"

#endif

#ifndef _WINDLL

#define SQLCA_STORAGE_CLASS extern

#endif

EXEC SQL INCLUDE sqlca.h

void AddColumn() {

EXEC SQL Alter table EMP add ID varchar(9);

}

2	Oracleプリコンパイラ（Pro*Cプリコンパイラ）で外部ファンクションをプリコンパイルします。

たとえば、Pro*Cを使用してUEXIT.PCファイルをプリコンパイルします。UEXIT.PCをプリコンパイルすると、Pro*CはUEXIT.CというCファイルを作成します。

3.	ヘッダー・ファイルを作成します。

ヘッダー・ファイルは外部ファンクションを定義する必要があります。たとえば、次のテキストを使用してサンプルのヘッダー・ファイルUE.Hを変更します。

extern   void   AddColumn();

4.	UEXIT.Cをコンパイルして、外部ファンクション・オブジェクト・コード・ファイルを生成します。コンパイラ用に、必ずメモリー・モデルを大きく指定してください。

5.	IAPXTB制御構造体を作成します。

UEXIT.Hファイルを組み込み、ユーザー・イグジット名および外部ファンクション名、言語タイプを追加して、UE_XTB.Cファイルを変更します。UE_XTB.Cファイルの例に従ってください。この場合、次の項目が追加されます。

Add_ID_Column, AddColumn, XITCC

6.	必要な外部ファンクション結合ファイルを変更します。

AddColumn外部ファンクションを組み込むために、エクスポート文を追加してUE_SAMP.DEFファイルを変更します。UE_SAMP.DEFの例に従ってください。

7.	Forms Runtimeで使用するDLLをビルドします。

UEXIT.C以外の次のファイルは、UE_SAMP.MAKプロジェクト・ファイルにすでに組み込まれている必要があります。

\orawin95\forms\userexit\uez.obj

\orawin95\forms\userexit\osswep.obj

\orawin95\forms\userexit\ue_samp.def

\orawin95\forms\userexit\ue_xtb.c

\orawin95\forms\userexit\uexit.c

UE_SAMP.MAKプロジェクトは、次のファイルをリンクするように設定されます。

LIBC.LIB

OLDNAMES

\orawin95\forms60\userexit\f60r.LIB

\orawin95\pro20\userexit\sqllib18.lib

\orawin95\pro20\userexit\sqxlib18.lib

UE_SAMP.MAKプロジェクトを構築すると、UE_SAMP.DLLが作成されます。レジストリのFORMS60_USEREXITSパラメータで定義されたDLLリストに、UE_SAMP.DLL項目を追加します。

別の方法では、UE_SAMP.DLLをF60XTB32.DLLに改名し、c:\orawin95\binディレクトリにあるF60XTB32.DLLのバックアップを取り、新しいF60XTB32.DLLをc:\orawin95\binディレクトリにコピーします。

8.	DLLの名前がレジストリ内のFORMS60_USEREXITS変数に組み込まれたことを確認してください。組み込まれてない場合は、DLL名をF60XTB32.DLLに改名します。

9.	Form Builder内のユーザー・イグジットから外部ファンクションを起動します。

この場合、When-Button-Pressed Triggerがユーザー・イグジットから外部ファンクションをコールします。次の文は、USER_EXITビルトイン・サブプログラムにユーザー・イグジット名Add_ID_Columnを指定してAddColumn外部ファクションを起動する方法を示しています。

/* Trigger:When-Button-Pressed */

USER_EXIT('Add_ID_Column');


Microsoft Windowsのユーザー･イグジット・インタフェース･ファイル

  関連項目

Form Builder for Windowsのインストール時に、ユーザー・イグジット・インタフェースに関連するファイル・グループ（F60XTB32.DLLは例外）が、\ORAWIN95\FORMS60\USEREXITディレクトリにコピーされます。このディレクトリには、必要でないファイルも入っている場合があります。Form Builder for Windowsのユーザー・イグジットから起動される外部ファンクションはすべてDLLファイルに含める必要があります。

F60XTB32.DLL	ユーザー・イグジット・インタフェースから起動できる外部ファンクションが入っているデフォルト・ファイルです。このファイルはForm Builderにあらかじめ添付されてくるDDLファイルなので、ユーザー定義の外部ファンクションは最初は含まれていません。このファイルは、インストール時に\ORAWIN95\BINディレクトリに置かれます。新規外部ファンクションを作成するときに、既存のF60XTB32.DLLファイルを新規F60XTB32.DLLで置き換えます。

IAPXTB制御構造体の作成を助けるために、Form Builderは、2つの制御構造体ソース・ファイルUE_XTB.CとUE_XTBN.Cを提供します。各ファイルは、IAPXTB制御構造体を作成するためのテンプレートとなります。定義する外部ファンクションが組み込まれるようにIAPXTB制御構造体ソース・ファイルを変更します。プロジェクト内の適切なファイルを組み込みます。IAPXTB制御構造体の作成には、どちらか1つのソース・ファイルのみが必要です。

UE_XTB.C	IAPXTB制御構造体の項目例が入っています。このファイルを変更して外部ファンクション項目を追加します。このファイルは、UE_SAMP.MAKプロジェクト・ファイルに入っています。
UE_XTBN.C	空の IAPXTB制御構造体が入っています。IAPXTB制御構造体を作成するために、外部ファンクション項目を追加してください。このファイルは、UE_XTBN.MAKプロジェクト・ファイルに入っています。

次の2つのファイルはプロジェクト・ファイルで、ここには、Form Builderのユーザー・イグジット・インタフェースから起動する外部ファンクションを含むDLLの作成に必要なすべてのファイルが含まれています。

UE_SAMP.MAK	UE_XTB.CファイルからIAPXTB制御構造体を組み込むプロジェクト・ファイルです。このプロジェクトを構築すると、UE_SAMP.DLLが生成されます。このDLLをUE_SAMP.DLLからF60XTB32.DLLに改名して\ORAWIN95\BINディレクトリの既存のF60XTB32.DLLを置き換えるか、もしくは、レジストリのFORMS60_USEREXITSパラメータで定義されたDLLリストに、UE_SAMP.DLLを追加できます。
UE_XTBN.MAK	UE_XTBN.CファイルからIAPXTB制御構造体を組み込むプロジェクト・ファイルです。このプロジェクトを構築すると、UE_XTBN.DLLが生成されます。このプロジェクト・ファイルは、\ORAWIN95\BINディレクトリに置かれる初期のF60XTB32.DLLの生成に使用されます。このDLLをUE_XTBN.DLLからF60XTB32.DLLに改名して\ORAWIN95\BINディレクトリの既存のF60XTB32.DLLを置き換えるか、もしくは、レジストリのFORMS60_USEREXITSパラメータで定義されたDLLリストに、UE_XTBN.DLLを追加できます。

ユーザー・イグジット・インタフェースDLLを生成するには、外部ファンクションおよびIAPXTB制御構造体のオブジェクト・コード・ファイルの他に、プロジェクト・ファイル内に次のファイルが必要です。（これらのファイルはUE_SAMP.MAKおよびUE_XTBN.MAKに入っています。

UE_SAMP.DEF	独自のDLLの構築に必要な定義が含まれています。
OSSWEP.OBJ	独自のDLLの構築に必要なダイナミック・リンク・ライブラリWindowsエントリ・ポイントの.OBJファイルです。（OSSWEP.OBJを、独自の.OBJファイルに置き換えられます。）
UEZ.OBJ	独自の.OBJファイルにリンクする.OBJファイルです。


Microsoft Windows外部ファンクションのコンパイル

  関連項目

外部ファンクションをコンパイルするとき、メモリー・モデルを大きく指定してください。Microsoft WindowsのDLL構築の制限事項や#define文の使用法などの追加情報は、Microsoft Windowsコンパイラのマニュアルを参照してください。（外部ファンクション・コードによっては、型定義および#define文にアクセスするためのUE.Hファイルを組み込む必要があります。）


Microsoft Windows用のIAPXTB制御構造体の作成

  関連項目

UE_XTB.CまたはUE_XTBN.Cファイルをテンプレートとして使用して、IAPXTB制御構造体を作成できます。別の方法として、自己定義ファイル内に独自のIAPXTB制御構造体を作成できます。

注意: Microsoft Windowsでユーザー・イグジットから起動する外部ファンクションを含むDLLを構築するためには、各DLLにIAPXTB制御構造体が必要です。DLL内の対応する外部ファンクションのIAPXTB制御構造体に、項目を組み込むのみで済みます。

若干変更されたUE_XTB.Cファイルからの抜粋を次にあげます。

extern exitr iapxtb[] = { /* Holds exit routine pointers */

"UE_Name", UE_Funct, XITCC,

"USEREXECSQL", uxsql, XITCC,

(char *)0, 0, 0    /* zero entry marks the end */

} /* end iapxtb */

ファイルは、ユーザー・イグジット名UE_Nameを組み込みます。この例では、次の行が元のUE_XTB.Cファイルに追加されました。

"UE_Name", UE_Funct, XITCC,

UE_Name	Form Builderから外部ファンクションを起動するために、USER_EXITビルトイン・サブプログラムが使用するユーザー・イグジット名です。
UE_Funct	Form Builderから一時的に処理制御を受け取る外部ファンクションの名前です。
XITCC	外部ファンクションの作成に使用されるCプログラミング言語の指定を行います。


Microsoft Windowsダイナミック･リンク･ライブラリの構築について

  関連項目

2つのプロジェクト・ファイルUE_SAMP.MAKおよびUE_XTBN.MAKは、ユーザー・イグジットから起動する外部ファンクションが含まれるDLLの作成に役立ちます。

独自のプロジェクト・ファイルを定義するオプションも利用できます。独自のプロジェクト・ファイルを作成する場合は、IAPXTB制御構造体と外部ファンクションのオブジェクト・コード・ファイルおよびユーザー・イグジットから起動する外部ファンクションとForm Builderの結合に必要なファイルを必ず組み込んでください。

外部ファンクションとForm Builderの結合に必要なファイルの1つは、UE_SAMP.DEFファイルです。外部ファンクションのエクスポートに、UE_SAMP.DEFファイルを使用します。Form Builderのエクスポート文がすでに用意されています。ユーザー・イグジットへのアクセス時に、Form Builderがそのファンクションを使用するので、既存のエクスポート文は変更しないでください。

UE_SAMP.MAKプロジェクト・ファイルは、ここで例として使用されています。UE_SAMP.MAKには、外部ファンクションを含むオブジェクト・コード・ファイルの他にも、次のファイルが含まれています。

\orawin95\forms60\userexit\uez.obj

\orawin95\forms60\userexit\osswep.obj

\orawin95\forms50\userexit\f60xtb.def

\orawin95\forms60\userexit\ue_xtb.c

また、次のファイルをリンクする必要があります。

LDLLCEW.LIB

LIBW.LIB

OLDNAMES

\orawin95\forms60\userexit\F60R.LIB

Oracleプリコンパイラ外部ファンクションを作成する場合は、次のライブラリをリンクする必要があります。

\orawin95\forms60\userexit\sql18win.lib

\orawin95\forms60\userexit\sqx18win.lib

UE_SAMP.MAKプロジェクト・ファイルを作成後、UE_SAMP.DLLを作成してください。UE_SAMP.DLLをF60XTB32.DLLに改名し、\ORAWIN95\BINディレクトリにあるF60XTB32.DLLのバックアップ・コピーを作成し、その後、既存のF60XTB32.DLLを新しいF60XTB32.DLLに置き換えることができます。別の方法では、UE_SAMP.DLLを、レジストリ内のFORMS60_USEREXITSパラメータで定義されたDLLリストに追加します。


複数のダイナミック･リンク･ライブラリでの外部ファンクションの定義

Form Builder for Windows用に作成された外部ファンクションは、DLLファイルに含まれます。Form Builderには、外部ファンクションを含むためのF60XTB32.DLLという単一のDLLが用意されています。F60XTB32.DLLは、外部ファンクションを含むデフォルトのDLLです。複数の外部ファンクションを単一のDLLに含めることができます。

単一のDLLにすべての外部ファンクションを含めると、特に2つのプログラムが同じDLLにアクセスしようとする場合に、対立が発生する可能性があります。ダイナミック・ライブラリの対立を解消するために、Form Builderは複数のユーザー・イグジットDLLをサポートします。つまり、外部ファンクションを、DLL名の制限なしに複数のDLLに含められます。

FORMS60_USEREXITSパラメータ  レジストリ内のFORMS60_USEREXITSパラメータを使用すると、ユーザー・イグジットから起動する外部ファンクションを含める複数のDLLを定義します。FORMS60_USEREXITSパラメータは、セミコロンで区切られた複数のユーザー・イグジットDLLで構成されます。

複数のユーザー・イグジットDLLの定義の例を次にあげます。

FORMS60_USEREXITS = C:\mathlib\add.dll;C:\mathlib\mult.dll;

DLLは、そこに含まれる外部ファンクションのうちの1つがユーザー・イグジットから起動されると、メモリーにロードされます。FORMS60_USEREXITSパラメータには、複数のユーザー・イグジット外部ファンクションを含むDLLを複数設定できますが、メモリーには常にそれらのDLLのうち1つだけをロードできます。

Form Builderは、次の基準に従って、ユーザー・イグジットから起動する外部ファンクションを判断します。

•	FORMS60_USEREXITSパラメータがレジストリに存在しない場合、\ORAWIN95\BIN\F60XTB32.DLL中の外部ファンクションが起動されます。

•	レジストリにFORMS60_USEREXITSパラメータがあり、複数のユーザー・イグジットDLLが定義されている場合、その中で一番最初の外部ファンクション候補が起動されます。

•	複数のユーザー・イグジットDLLに、一意でない外部ファンクション名が含まれる場合、それらの外部ファンクション名のうちユーザー・イグジットのキャッシュ・メモリーのコンテントに続く最初のファンクション候補が起動されます。

注意: 予期しない外部ファンクションへのコールを避けるために、ユーザー・イグジットDLLで同じ外部ファンクション名を使用しないでください。一意でないファンクション名は、異なる2つのファンクションが同じ名前を持ち、それぞれが異なるユーザー・イグジットDLLに含まれるようにします。

ユーザー・イグジット・キャッシュ・メモリー  Form Builderは、ユーザー・イグジットのキャッシュ・メモリーを保守しているため、一意でないファンクション名に対応します。フォームが終了するとユーザー・イグジットのキャッシュ・メモリーが消去されます。それ以外の場合、このキャッシュ・メモリーには、別の外部ファンクションがコールされるまで、最後にコールされた外部ファンクションが保持されます。

一意でないファンクション名の外部ファンクションの呼出し方は、ユーザー・イグジットのキャッシュ・メモリー内のコンテントにより異なります。ユーザー・イグジット・キャッシュ・メモリーにロードされている外部ファンクションの後に続いて、一意でないファンクション名がついている外部ファンクションの最初のオカレンスが起動されます。

ユーザー・イグジット・キャッシュ・メモリーが空の場合、DLLリストの中で、一意でないファンクション名を持つ最初のファンクション候補が起動されます。フォームを終了するまでキャッシュ・メモリーは消去されないので、その後の一意でないファンクション名のコールでは、予期しない外部ファンクションが起動される可能性があります。たとえば、ユーザー・イグジットDLLシーケンスで早い順番の外部ファンクションをコールするのとは違い、一意の名前を持つファンクションの後に続くファンクションを、誤ってコールしてしまうことがあります。多くの場合、ユーザー・イグジット・キャッシュ・メモリーは一意でない名前の外部ファンクションを正確に識別しますが、FORMS60_USEREXITS変数のメンバーであるDLLのリストでは、なるべく一意の外部ファンクション名を使用してください。


ユーザー･イグジットからのMicrosoft Windows SDKへのアクセス

  関連項目

ユーザー・イグジットからMicrosoft Windows SDKファンクションを起動できます。Microsoft Windows SDKファンクションの起動方法は、Microsoft Windowsのユーザー・イグジットからユーザー定義の外部ファンクションを起動する方法に似ています。ダイナミック・リンク・ライブラリの構築時に、ユーザー定義の外部ファンクションのオブジェクト・コード・ファイルのかわりに、Microsoft Windows SDKファンクションのソース・ファイルを組み込む必要があります。

Microsoft Windows SDKファンクションのパラメータ値は、他の外部ファンクションと同様に、Form Builderとの間で受渡し/受取りが可能です。ウィンドウ・ハンドル・パラメータを必要とするMicrosoft Windows SDKファンクションの場合、Microsoft Windows SDKファンクションを使用してForm Builderからウィンドウ・ハンドルを取得し、GET_ITEM_PROPERTYファンクションで調べることができます。ウィンドウ・ハンドルは、オブジェクトの参照に使用される一意の内部文字定数です。

Microsoft Windows SDKにアクセスすることで、様々なことを実行できます。たとえば、Form Builderからウィンドウ・ハンドルを取得することで、Microsoft Windows SDKファンクションを起動して、Form Builderアプリケーションのオブジェクト・プロパティを外部から変更できます。次に、Form Builderトリガーまたはユーザー定義サブプログラムからMicrosoft Windows SDKファンクションのGetWindowRectをコールする例を示します。

:block1.item_handle := get_item_property('block1.item1',Window_Handle);

USER_EXIT(GetWinRec || :block1.item_handle,'error_message');


Web上でのフォームの配置

  HTMLの表示（Windows 95の場合）	  HTMLの表示（Windows NTの場合）

「Deploying Applications on the Web」では、新規あるいは既存のOracle DeveloperアプリケーションをWeb上に配置するための操作の概要とリファレンス情報が説明されています。FormsアプリケーションをWeb上に配置する場合の説明は、ここで参照できます。

HTML版の「Deploying Applications on the Web」は、Oracle Developerをインストールすると、ORACLE_HOMEディレクトリの/BINディレクトリに保存されます。Microsoft Windows NTを使用している場合は、通常、ORACLE_HOMEディレクトリは\ORANTになります。Windows 95（または98）を使用している場合は、\ORAWIN95になります。目次を表示するには、これらのディレクトリのHTMLファイルをブラウザで表示するか、このトピックの上部にあるどちらかの「HTMLの表示」ボタンをクリックします。


ウィンドウとキャンバスの導入

フォームをビルドするときは、エンド・ユーザーに対してフォームのビジュアル要素（たとえば、インタフェース項目とボイラープレート・オブジェクト）を表示するのにウィンドウとキャンバスを使用します。1つのフォームには、任意の数のウィンドウとキャンバスが組み込まれます。

ウィンドウとキャンバスの関係  作成する各ウィンドウに対して、少なくとも1つのキャンバスを作成する必要があります。同様に、作成する各キャンバスは、ウィンドウに割り当てる必要があります。実行時に、ウィンドウとキャンバスはナビゲーション・イベントおよびプログラム制御に応答して表示され、クローズされます。

インタフェース項目、キャンバスおよびウィンドウ間の関連を定義するには、いくつかのプロパティを設定する必要があります。たとえば、各インタフェース項目（テキスト項目、チェックボックス等）には、項目が表示されるキャンバスを指定する「キャンバス」プロパティがあります。（レイアウト・エディタに項目を作成するときは、現行のキャンバスに基づいてこのプロパティがForm Builderにより自動的に設定されるので、注意してください。）同様に、各キャンバスにはキャンバスが表示されるウィンドウを指定する「ウィンドウ」プロパティがあります。


ウィンドウとは?

  関連項目

ウィンドウとは、キャンバスも含めたForm Builderアプリケーションを構成する可視オブジェクトすべてのコンテナです。1つのフォームには、任意の数のウィンドウを組み込むことができます。すべての新しいフォームには、WINDOW1という名のデフォルト・ウィンドウが自動的に含まれますが、必要に応じて「オブジェクト・ナビゲータ」の「ウィンドウ」ノードに追加の新規ウィンドウを作成できます。

ウィンドウ・オブジェクトそのものは、空の枠です。枠には、タイトル・バーが含まれエンド・ユーザーによるスクロール、移動、サイズ変更など、ウィンドウとの対話に使用されます。

一般的に、ウィンドウにはナビゲート可能な項目を持つキャンバスが含まれ、そのキャンバスの項目へのナビゲーションに応答して実行時に起動されます。また、ウィンドウは、項目へのナビゲーション・イベントによらず、プログラムによって表示やクローズを行うこともできます。実行時に、ウィンドウがプログラムにより表示されるとき、あるいはそのウィンドウに割り当てられたキャンバスの項目へのナビゲーションが行われるとき、Form Builderにより適切なキャンバス・バックグラウンドを持つウィンドウが表示されます。

作成するウィンドウの外観と機能を定義するために、サイズ、表示位置、タイトルなどを含むさまざまな「ウィンドウ」プロパティを指定できます。さらに、実行時にプログラムによりほとんどのプロパティを取得および設定できます。最後に、必要に応じて、ウィンドウを動的に表示したり隠したりできます。


ウィンドウ・タイプについて

  関連項目

ウィンドウを作成するとき、「ウィンドウ・スタイル」プロパティを設定して、そのタイプを指定します。

ウィンドウには、次の2つのスタイルがあります。

•	文書

•	ダイアログ

文書ウインドウ  文書ウインドウは、一般的には、アプリケーションのメイン・キャンバスと作業領域を表示し、そこでは、データ入力とデータ参照が行われます。

ダイアログ・ウィンドウ  ダイアログ・ウィンドウは、自由に移動でき、ユーザーとの即時的な対話が求められるモーダル・ダイアログに使用されます。


キャンバスとは?

キャンバスは、ウィンドウ・コンテナの内側の面のことで、フォームを実行するとき、その上にインタフェース項目とボイラープレート・オブジェクトを配置します。デフォルトでは、ランタイムに作成するすべてのキャンバスは、WINDOW1という名前の付いたウィンドウに割り当てられます。キャンバスを特定のウィンドウに明示的に割り当てるには、キャンバスの「ウィンドウ」プロパティを希望するウィンドウに設定します。


キャンバス・タイプについて

  関連項目

Form Builderでは、4つのタイプのキャンバスが用意されており、実行時には同じウィンドウにすべて表示されます。キャンバス・タイプは、それが割り当てられるウィンドウ内で、どのように表示するかを定義します。キャンバスを作成するときは、「キャンバス・タイプ」プロパティを設定して、そのタイプを指定します。4つのキャンバス・タイプは次のとおりです。

•	コンテント

•	スタック

•	[Tab]

•	ツールバー

コンテント・キャンバス  最も普通のキャンバス・タイプは、コンテント・キャンバス（デフォルト・タイプ）です。コンテント・キャンバスは、それが表示されるウィンドウのコンテント・ペイン全体を占める「基本」ビューです。作成した各ウィンドウには、少なくとも1つのコンテント・キャンバスを定義する必要があります。

スタック・キャンバス  スタック・キャンバスは、現行ウィンドウに割り当てられたコンテント・キャンバスの一番上に表示（またはスタック）されます。スタック・キャンバスでは、基礎を形成するコンテント・キャンバスの一部が隠され、しばしばプログラムにより表示および隠されます。同時に複数のスタック・キャンバスを表示できます。

タブ・キャンバス  1つ、または複数のタブ・ページから構成されるタブ・キャンバスを使用すると、1つのダイナミックForm Builderキャンバス・オブジェクト上で、関連する多くの情報をグループ化して表示することができます。スタック・キャンバスのように、タブ・キャンバスもコンテント・キャンバスの一番上に表示され、コンテント・キャンバスは部分的に隠されます。タブ・ページ（まとめてタブ・キャンバスを構成する）には、それぞれタブ・キャンバス全体に表示される情報のサブセットが表示されます。

水平/垂直ツールバー・キャンバス  ツールバー・キャンバスは、個々のウィンドウに対するツールバーを作成するのによく使用されます。水平または垂直の2つのタイプのツールバーが作成できます。水平ツールバー・キャンバスは、ウィンドウの1番上のメニュー・バーのすぐ下に表示され、垂直ツールバーは、ウィンドウ枠の左端に沿って表示されます。


ビューについて

  関連項目

Form Builder内のキャンバスで作業するとき、キャンバスと、そのビューの間の関係が基本となります。ビューを、キャンバスに位置付ける四角形として考えます。ビュー内で参照できる領域は、実行時にキャンバスが表示されるときにエンド・ユーザーに表示されます。

ビュー・サイズと位置の変更  スタック・キャンバスに対して、設計時点で「表示幅」と「表示高」を設定することによって、ビューのサイズを指定できます。コンテントまたはツールバー・キャンバスの場合は、ビュー・サイズがウィンドウ自体のサイズによって判別されるため、これらのプロパティは無視されます。ランタイムでウィンドウのサイズを変更する（たとえば、マウスでサイズ変更する）ことで、ウィンドウのコンテント・キャンバスのビュー・サイズを効果的に変更することができます。

任意のタイプのキャンバスに対して、キャンバス上のビューの起点を指定する（つまり、ビュー四角形をそのキャンバス上の特定の位置に置くための）プロパティを設定できます。ビューをサイズ変更などで移動すると、実行時にウィンドウでエンド・ユーザーに表示されるキャンバス部分が変わります。コンテント・キャンバスがそのビューよりも大きい場合（つまり、ウィンドウよりも大きい場合）、ウィンドウをスクロールしてキャンバス上のビューの位置を変更できます。つまり、キャンバスの別の部分を参照できます。


MDIとSDIウィンドウについて

  関連項目

Form Builderでは、ウィンドウ管理システムのMicrosoft Windows MDI（マルチプル・ドキュメント・インタフェース）およびSDI（シングル・ドキュメント・インタフェース）が、どちらも完全にサポートされます。

マルチプル・ドキュメント・インタフェース

MDIアプリケーションは、アプリケーションウィンドウと呼ばれるデフォルト・ウィンドウを表示します。アプリケーション内の他のすべてのウィンドウは、「文書」ウィンドウ、または「ダイアログ」ウィンドウです。

「文書」ウィンドウは、常にMDIアプリケーション・ウィンドウの枠内に表示されます。エンド・ユーザーがMDIウィンドウを文書ウインドウよりも小さくなるようにサイズ変更しようとすると、その文書ウインドウの表示は、アプリケーション・ウィンドウのサイズを越える部分は隠されます。エンド・ユーザは、文書ウインドウをアプリケーション・ウィンドウのコンテント領域全体を占めるまで大きくできます。「ダイアログ」ウィンドウは自由に移動でき、エンド・ユーザーは、それらが移動可能と定義されている場合にはアプリケーション・ウィンドウの外に移動できます。エンド・ユーザーがMDIウィンドウをサイズ変更して「ダイアログ」ウィンドウよりも小さくした場合には、「ダイアログ」ウィンドウはアプリケーション・ウィンドウのコンテント領域を越えて表示されます。

MDIアプリケーション・ウィンドウは、ウィンドウ・マネージャによって、実行時に作成されます。そしてウィンドウ・リストには表示されません。しかし、SET_WINDOW_PROPERTYビルトインを使用して、MDIウィンドウをプログラムによりサイズ変更、最小化、最大化できます。

シングル・ドキュメント・インタフェース

MDIは、フォーム・ランタイムの際のウィンドウ管理のデフォルト・システムですが、Form BuilderではMicrosoft WindowsでのSDIルート・ウィンドウもサポートしています。

USESDIコマンド・ライン・オプションを指定すると、ウィンドウ管理のシステムをSDIに設定できます。SDIが使用可能なときは、FORMS_MDI_WINDOW定数のコールにより、MDIウィンドウ・ハンドルにNULLが戻されます。マルチプル・インタフェース・ルート・ウィンドウはありません。MDIツールバーは親ウィンドウの中にあり、MDIメニューは各ウィンドウに対して定義されています。


ルート・ウィンドウについて

注意: ルート・ウィンドウという概念は、Form Builderリリース5以降では使用されません。ただし、上位互換性を保つために、ROOT_WINDOWという名前、関連付けられているプロパティとビルトイン、ルート・ウィンドウの動作はサポートされています。

ルート・ウィンドウには、アプリケーションで現在アクティブなフォームのコンソールが表示されます。フォームにルート・ウィンドウを作成するのはオプションです。ほとんどの場合、マルチフォームのアプリケーションにおいて使用されます（同時にいくつかのフォームが実行できます）。

ルート・ウィンドウには特別な特性があります。マルチフォームのアプリケーションの場合、ルート・ウィンドウの使用により、1つのウィンドウに現在アクティブなフォームのコンソールが常に表示されます。これは、Microsoft Windows以外のプラットフォームでのみ役立ちます。Microsoft Windowsでは、コンソールが常にMDIアプリケーション・ウィンドウに表示されるからです。

実行時に一度に表示できるルート・ウィンドウは、1つのみです。各フォームにルート・ウィンドウが含まれている複数のフォームが同時に実行されると、アプリケーションにおいて現在アクティブなフォームのコンソールが、1つのルート・ウィンドウに表示されます。

アクティブ・フォームのコンソールを表示するのに加えて、マルチフォーム・アプリケーションはまた、現行フォームの現行のコンテント・キャンバスも表示します。オープン・フォーム間を移動すると、ルート・ウィンドウのバックグラウンド領域では、現在のアクティブなフォームのルート・ウィンドウに割り当てられているキャンバスの表示が更新されます。

マルチフォーム・アプリケーションの場合、一度に表示できるウィンドウは1つのみなので、OPEN_FORMまたはCALL_FORMビルトインの実行で他のフォームを起動するフォームの動作にも影響します。呼出し先フォームにも呼出し側フォームにもルート・ウィンドウが含まれ、呼出し先フォームで最初に移動できる項目が、ルート・ウィンドウに割り当てられたキャンバス上にある場合、OPEN_FORMまたはCALL_FORMを実行すると、呼出し先フォームに呼出し側フォームのルート・ウィンドウが引き継がれます。

ルート・ウィンドウの作成 デフォルト・ウィンドウを作成し、それにROOT_WINDOWという名前を付けることによって、ルート・ウィンドウを作成します

Microsoft Windows以外のフォームでは、「コンソール・ウィンドウ」フォーム・プロパティを設定して、コンソールが表示されるウィンドウを指定します。マルチフォーム・アプリケーションの場合、各フォームにルート・ウィンドウを作成し、「コンソール・ウィンドウ」プロパティをROOT_WINDOWに設定して、コンソールにそのルート・ウィンドウを割り当てられます。

ルート・ウィンドウの一意な特性により、そのいくつかのプロパティの設定は固定されています。Form Builder内でこれらの設定を上書きしてもウィンドウのランタイム動作には、影響がありません。プロパティ（およびそのデフォルト設定）は次のとおりです。

•	クローズ可能（はい）

•	サイズ変更可（はい）

•	最小化可能（はい）

•	メニュー継承（はい）

•	移動可能（はい）

•	名前

•	終了時に隠す（いいえ）

•	ウィンドウ・スタイル（文書）

•	垂直/水平スクロール・バー表示（いいえ）

•	ズーム可能（はい）

ルート・ウィンドウの表示  Form Builderはフォーム起動時に、ルート・ウィンドウを表示し、セッションの間中表示したままにします。これは、ルート・ウィンドウにナビゲート可能な項目またはキャンバスさえ含まれない場合でも同じです。たとえば、アプリケーションによって、ルート・ウィンドウはForm Builderの状態とメッセージ行が表示されるメニューバーとしてのみ使用され、メイン・アプリケーション・キャンバスの表示には2番目のウィンドウが使用されることがあります。


コンソールについて

  関連項目

コンソールには、ステータス行とメッセージ行が含まれ、割り当てられているウィンドウの一番下に表示されます。

Microsoft Windowsでは、コンソールは、MDIアプリケーション・ウィンドウにデフォルトで表示されています。フォームの個々のドキュメントまたはダイアログ・ウィンドウにはコンソールを表示できません。コンソールを隠すには、フォーム・レベルの「コンソール・ウィンドウ」プロパティを「NULL」に設定します。

Windows以外のプラットフォームの場合、コンソールは1つのウィンドウにのみ表示でき、実行時にコンソール割当ては変更できません。ウィンドウにコンソールを表示するには、フォーム・レベルの「コンソール・ウィンドウ」プロパティを適切なウィンドウに設定します。コンソールを隠すには、フォームの「コンソール・ウィンドウ」プロパティを「NULL」に設定します。


ウィンドウ・モダリティについて

  関連項目

ウィンドウは、モードレスまたはモーダルのどちらかです。モーダル・ウィンドウ（ダイアログの場合が多い）では、エンド・ユーザーは現行アプリケーションの作業を継続する前に応答する必要があります。モードレス・ウィンドウでは、そのような応答は必要ありません。ウィンドウを作成するとき、「モード」プロパティを「はい」または「いいえ」に設定することによって、そのモダリティを指定することができます。デフォルトは「いいえ」（モードレス）です。

モードレス・ウィンドウ  同時に、複数のモードレス・ウィンドウを表示することができます。そして（もし、アプリケーションロジックで可能にしてあれば）エンド・ユーザはそれらを自由にナビゲートすることができます。ほとんどのGUIプラットフォームでは、モードレスウィンドウを他のウィンドウの前または後ろのどちらかに重ねて表示できます。

モードレス・ウィンドウは、エンド・ユーザーが消すかまたはプログラムにより隠されるまで表示されています。モードレス・ウィンドウに「終了時、隠す」プロパティを設定すると、エンド・ユーザーが別のウィンドウにナビゲートするときに、モードレス・ウィンドウを表示したままにするかどうかを指定できます。また、モードレス・ウィンドウにプロパティを設定して、境界線とタイトルを指定し、エンド・ユーザーがウィンドウをスクロールまたはサイズ変更、移動、閉じる、アイコン化、ズームできるかどうか指定できます。

モーダル・ウィンドウ  モーダル・ウィンドウは通常ダイアログとして使用されます。そしてモードレス・ウィンドウに比較して機能は制限されています。たとえば、一部のプラットフォームでは、モーダル・ウィンドウのサイズ変更、スクロール、アイコン化ができません。モーダル・ウィンドウは、プラットフォームに固有の境界線によりしばしば表示されます。環境によっては、モーダル・ウィンドウはモードレスウィンドウの背後に階層化されることのない、"常に一番上"のウィンドウです。

モーダル・ウィンドウにはプラットフォームに固有の制限がある他に、次のような特性があります。

•	「終了時に隠す」プロパティはモーダル・ウィンドウには適用されません。デフォルトでは、Form Builderによりエンド・ユーザーがマウスを使用してモーダル・ウィンドウの外へナビゲートすることは禁じられています。ただし、キーボードによる別のウィンドウへのナビゲートはできます。このようなナビゲーションが開始されたとき、ターゲット・ウィンドウ自体がモーダル・ウィンドウでない限り、Form Builderによりモーダル・ウィンドウが閉じられます。

•	モーダル・ウィンドウには、スクロール・バーがなく、「水平/垂直スクロール・バー表示」プロパティ設定の影響を受けません。（ただし、モーダル非ダイアログ・ウィンドウには、スクロール・バーがあることもあります。）

システムレベル対アプリケーションレベル・モダリティ  環境によっては、モーダル・ウィンドウは同じアプリケーション内の他のウィンドウに関してのみモーダルです。すなわち、Form Builderによりモーダル・ウィンドウが表示されていても、エンド・ユーザーは他のアプリケーションに所有されるウィンドウでの作業を継続できます。

その他のプラットフォームの場合、モーダル・ウィンドウは、システム全体に関してモーダルであり、エンド・ユーザーが他のアプリケーションに属するウィンドウに切り替える前に画面から消されている必要があります。


スクロール・ウィンドウについて

ウィンドウのスクロールにより、エンド・ユーザーはスクロール・バーを使用してそのウィンドウに現在表示されているコンテント・キャンバスをスクロールできます。概念的に、スクロールはコンテント・キャンバスを動かしてビューの起点の座標X,Yを変更することであると考えてください。スクロールでは、ビューのサイズは変更されず、単にキャンバス上の位置が変わるのみなので注意してください。

ウィンドウは、画面幅が現在ウィンドウに表示されているコンテント・キャンバスの幅よりも小さいときのみ、水平にスクロールできます。同様に、画面の高さが現在の内容キャンバスの高さよりも低いときのみ、垂直にスクロールされます。（実行時にエンド・ユーザーによりウィンドウのサイズを変更できることを思い出してください。）

ウィンドウが現行の内容キャンバスと同じサイズまたはそれより大きい場合、キャンバスのどの部分も現行ビューの外にない（すなわち、ウィンドウ自体が外側にある）ため、スクロールの効果はありません。

ウィンドウ・スクロール上のスクロール・バーは、ウィンドウの内容キャンバスのみをスクロールします。しかし、ウィンドウ内に表示される任意のスタック・キャンバスは、あたかもコンテント・キャンバスの一部であるかのように上/下、左/右に動きます。（スタック・キャンバス上のスクロール・バーも定義することができますが、それらはウィンドウのスクロール・バーとは独立しています。）


ウィンドウの作成

関連項目

ウィンドウを作成するには:

1	オブジェクト・ナビゲータ内で、「ウィンドウ」ノードをクリックします。

2	ツールバーの「作成」ボタン [image] をクリックします。

Form Builderにより、ウィンドウが作成され、WINDOW3などのデフォルト名が与えられます。

3	ウィンドウのオブジェクト・アイコンをダブルクリックします。

4	「プロパティ・パレット」で、設定するウィンドウを選択します。

「機能」および「表示」ノードの下のプロパティは、実行時にウィンドウの外見と機能を制御します。これらのプロパティがすべてサポートされないウィンドウ・マネージャもあります。

注意: 作成したすべてのウィンドウには、少なくとも1つのコンテント・キャンバスを割り当てる必要があります。キャンバスをウィンドウに割り当てるために、「キャンバス」ウィンドウ・プロパティを適切なウィンドウに設定してします。


スクロール・ウィンドウの作成

スクロール・ウィンドウを作成するには:

1	ウィンドウを作成して、プロパティを次のように設定します。

幅/高さ  初期表示サイズ（エンド・ユーザーは、許可されている場合には、実行時にウィンドウをサイズ変更できます。）

モード  いいえ（モーダル・ウィンドウは、スクロールできません。

H/Vスクロール・バー  はい（１つまたは両方）（エンドー・ユーザーがウィンドウをスクロールできる方向を制御します。）

2	ウィンドウにキャンバスを作成して、そのプロパティを次のように設定します。

キャンバス・タイプ  コンテント

幅/高さ  キャンバスがウィンドウより大きくなるように設定します。

ウィンドウ  ステップ1で作成したウィンドウの名前。

水平/垂直スクロール・バー表示（これらのプロパティはスタック・キャンバスにのみ適用されます。）


アイコンとウィンドウの関連付け

  関連項目

GUI環境上で、エンド・ユーザーはスクリーン上にビットマップ・アイコンのみで表示されるように、モードレスウィンドウはアイコン化、または最小化することができます。アイコン化されると、エンド・ユーザーはそのアイコンをダブルクリックしてウィンドウを再表示できます。

アイコン化可能なウィンドウを作成するには、ランタイム・オペレーティング・システムに存在するアイコン・リリース・ファイルにウィンドウを関連付ける必要があります。それには、次のようなウィンドウ・プロパティを設定します。

最小化可能  はい

アイコンファイル名  ビットマップ・アイコン・ファイルの名前（Form Builderは、システムのデフォルト・リソース・パスにこのファイルがないか検索します。）

アイコン化タイトル  実行時にアイコンと共に表示されるテキスト（タイトルを指定しないと、そのアイコンにデフォルトのタイトルを使用するウィンドウ・マネージャもあります。）

エンド・ユーザーによるウィンドウのアイコン化を防ぐには、「最小化可能」プロパティを「いいえ」に設定します。（「最小化可能」プロパティが「いいえ」に設定されている場合、「アイコン・ファイル名」と「アイコン化タイトル」プロパティは無視されます。）

注意: Microsoft Windowsでは、アイコン・ファイルの参照パスは、UI60_ICONORACLE.INIファイル内の環境変数、またはMicrosoft Windows 32-bit レジストリによって定義されます。「アイコン・ファイル名」プロパティにアイコン・ファイルの名前を入力するときには、パスおよび.ICOファイルイメージ拡張子を含めないでください。


モーダル・ダイアログ・ウィンドウについて

モーダル・ダイアログ・ウィンドウは、対話形式のダイアログ・ボックスとして使用されます。アプリケーションを継続する前にエンド・ユーザーからの情報が必要なとき、モーダル・ダイアログ・ウィンドウを表示して、エンド・ユーザーは必要な情報を入力できます。ほとんどのダイアログでは、エンド・ユーザーは必要な情報を提供するかまたはダイアログを消して操作を取り消すよう求められます。

「ファイル」および「印刷」ダイアログは、ほとんどのGUIプラットフォーム上でモーダル・ダイアログとしてインプリメントされる対話式ウィンドウの例です。警告および値リスト（LOV）は、Form Builderに固有なオブジェクトである特殊なモーダル・ダイアログの例です。


モーダル・ダイアログ・ウィンドウの表示

  関連項目

モーダル・ダイアログを作成するときは、ダイアログがどのように表示されクローズされるかを決めます。モーダル・ダイアログでは、エンド・ユーザーからの入力が必要なので、コンテント・キャンバスには常にナビゲート可能な項目が含まれています。したがって、モーダル・ダイアログを表示するためには、現行のウィンドウ内の項目からダイアログ・ウィンドウ内の最初にナビゲート可能な項目までナビゲートする方法が最も簡単な方法です。このようなナビゲーションが開始されると、Form Builderではターゲット項目が含まれるウィンドウ（この場合は、モーダル・ダイアログ）が表示されます。

ナビゲーション・イベントとは、エンド・ユーザーがタブ「次の項目へ」キーを押した状態またはプログラムでナビゲートするボタン・トリガー、またはメニュー・コマンドです。たとえば、When-Button-Pressedトリガーから、NEXT_BLOCKまたはGO_BLOCK、GO_ITEMビルトインをコールして、ダイアログのターゲット項目にナビゲートできます。

また、SHOW_WINDOWビルトインの実行によりモーダル・ウィンドウを表示できます。モーダル・ウィンドウを表示するためにSHOW_WINDOWが使用されると、そのウィンドウのキャンバス上の最初にナビゲート可能な項目に暗黙的にナビゲートされます。

モーダル・ウィンドウからのモーダル・ウィンドウの起動  モーダル・ウィンドウから他のモーダル・ウィンドウを起動することが可能です。たとえば、標準の「Windowsプリンタの設定」モーダル・ダイアログには、第2のモーダル・ウィンドウを起動する「オプション」ボタンがあります。モーダル・ウィンドウが別のウィンドウから起動されたとき、同じフォーム内のモードレスウィンドウへナビゲートすると、親および子のモーダル・ウィンドウは両方とも自動的にクローズされます。


モーダル・ダイアログ・ウィンドウのクローズ

ほとんどのアプリケーションでは、エンド・ユーザーがモーダル・ウィンドウを受け入れるか取り消すまでそれらが表示されるように設計されています。このようなウィンドウを作成するときは、エンド・ユーザーが希望のイベントに応答してクローズのみはできるようにしておく必要があります。

デフォルトでモーダル・プロパティを「はい」に設定することで、エンド・ユーザーがマウスでナビゲートしてウィンドウからはみ出すのを防いでいますが、「次の項目へ」（タブ）または「次のブロックへ」キーを押すことで他のウィンドウにナビゲートするのを防ぐことはできません。エンド・ユーザーが他のウィンドウにナビゲートするのにキーを使用することが許可されているとき、ターゲット・ウィンドウがそれ自体モーダル・ウィンドウでない場合、Form Builderは必ずモーダル・ウィンドウを閉じます。（「終了時に隠す」プロパティはモーダル・ウィンドウに対しては無視されることに注意してください。）

新しいモーダル・ウィンドウにナビゲートすると、古いモーダル・ウィンドウが前面に表示されます。ただし、あるモーダル・ウィンドウからすでに前面に表示されている別のモーダル・ウィンドウに移動すると、現行のウィンドウが隠されてしまいます。

キーボード・ナビゲーションの無効化  モーダル・ダイアログのインプリメント時、エンド・ユーザーがナビゲーション・キーでナビゲートしてウィンドウをはみ出すのを防ぎたい場合があります。また、エンド・ユーザーが「OK」ボタンまたは「取消し」ボタンを押すなどの特定のイベントに対応して初めてダイアログが閉じるようにする場合があります。

モーダル・ダイアログからのキーボードによるナビゲーションを無効にするには、次のような方法があります。

•	ダイアログのブロックに「前のナビゲーション・データ・ブロックへ」および「次のナビゲーション・データ・ブロックへ」プロパティを設定して、エンド・ユーザーが「次のブロックへ」および「前のブロックへ」キーを使用してナビゲートするのを防ぎます。たとえば、DIALOGという名前のブロックの場合、両方のプロパティをDIALOGに設定してナビゲーション循環を作成し、エンド・ユーザーがキーを使用して他のブロックにナビゲートするのを防ぐことができます。

•	モーダル・ウィンドウの各ブロックに適切なブロック・レベル・トリガーを記述します。たとえば、モーダル・ウィンドウ内の項目のタブを可能にするキー・トリガー（Key-Next-Itemなど）を定義しているキーを除いてすべて使用不可にするブロック・レベルのKey-Othersトリガーを定義できます。

エンド・ユーザーのキーボード・ナビゲーションによるダイアログのクローズを防いだなら、希望のイベントに応答してダイアログをクローズするコマンドを書く必要があります。GO_ITEMおよびGO_BLOCKYのようなビルトインを使用してモードレスウィンドウの項目またはブロックにナビゲートすると、プログラムによりモーダル・ダイアログがクローズされます。たとえば、モーダル・ウィンドウには、GO_BLOCK文を実行してモーダル・ウィンドウから外へナビゲートできる、When-Button-Pressedトリガーを記述した「OK」ボタンを配置します。


モーダル・ダイアログ・ウィンドウの作成

モーダル・ダイアログ・ウィンドウを作成するには:

1	新しいウィンドウを作成して、そのプロパティを次のように設定します。

ウィンドウ・スタイル  ダイアログ（Microsoft Windowsにおいてのみ有効です。）

モーダル  はい

幅/高さ  オプション（一般的に、ダイアログはエンド・ユーザーがそのダイアログを起動するモードレスウィンドウよりも小さい）

2	コンテント・キャンバスを作成して、その「ウィンドウ」プロパティをステップ1で作成したモーダル・ウィンドウに設定します。

3	ウィンドウに表示される項目を作成します。

4	実行時にモーダル・ダイアログを表示し、クローズするイベントを決めます。


キャンバスでの作業について

オブジェクト・ナビゲータでキャンバスを作成および削除できますが、キャンバス関連の作業は、レイアウト・エディタを使用して行います。

キャンバスの編集  レイアウト・エディタ内では、一度に一つのキャンバスを編集します。デフォルトでは、キャンバス自体は選択および書式化できるオブジェクトです。「ビュー」 [image] 「キャンバス表示」メニュー・オプションを切り替えることによって、キャンバス・オブジェクトを隠すことが可能です。「キャンバス」プロパティは、「プロパティ・パレット」のみでなくレイアウト・エディタでもグラフィカルに設定されます。

注意: レイアウト・エディタ内で、キャンバス・オブジェクトまたはビュー・オブジェクトを消去、カット、コピー、エクスポート、または複製することはできません。


キャンバスの作成

  関連項目

オブジェクト・ナビゲータ内でキャンバスを作成するには:

1	オブジェクト・ナビゲータ内で「キャンバス」ノードをクリックし、ツールバーの「作成」ボタン [image] をクリックします。

Form Builderにより新しいキャンバスが作成され、CANVAS4などのデフォルト名が与えられます。

2	キャンバスのオブジェクト・アイコンをクリックして、「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレット内の「一般」ノードの下で、「キャンバス・タイプ」プロパティを希望するタイプに設定します。

注意: デフォルトのキャンバス・タイプはコンテント・キャンバスです。コンテント・キャンバスの場合、「スタック・ビュー」ヘッダーの下に表示されるプロパティは適用されません。

4	キャンバスに表示する場合はウィンドウに「ウィンドウ」プロパティを設定します。

デフォルトでは、新しいキャンバスは、オブジェクト・ナビゲータの「ウィンドウ」ノードの下にリストされる最初のウィンドウに割り当てられます。

注意: レイアウト・エディタ内に新しいキャンバスを表示するには、オブジェクト・ナビゲータ内で、キャンバスのオブジェクト・アイコンをダブルクリックします。


主キャンバスの定義

  関連項目

ウィンドウに主キャンバスを定義するには、その「主キャンバス」プロパティを希望するキャンバスに設定します。Form Builderでは、ナビゲーション・イベントに応答してではなく、プログラムでウィンドウが表示されているときに、主キャンバスのウィンドウが表示されます。

キャンバス・プロパティを設定するとき  「主キャンバス」プロパティの設定はオプションです。大部分のウィンドウは、特定のキャンバスの項目へのナビゲーションに応答して表示されます。そのような場合、表示されるキャンバスは明確であるため、「主キャンバス」プロパティの設定は必要ありません。

SHOW_WINDOWビルトインを使用してセッション中に初めてウィンドウを表示したとき、Form Builderにより主キャンバスを持つウィンドウが表示されます。「主キャンバス」プロパティが未指定のままの場合、ウィンドウはビューなしで表示され、空になります。

スタック・キャンバスの項目へのナビゲーションのためにウィンドウを表示する場合、「主キャンバス」プロパティを設定する場合があります。ウィンドウのコンテント・キャンバスをスタック・キャンバスの背後に表示させたい場合、「主キャンバス」プロパティを適切に設定します。

Form Builderでは、ナビゲーション・イベントの際にターゲットの項目とキャンバスが表示されます。したがって、「主キャンバス」プロパティを設定して主キャンバスを指定しても、ターゲット項目を参照する必要のある場合は、Form Builderにより別のキャンバスが表示されます。


キャンバスの削除

  関連項目

キャンバスを削除するには:

1	オブジェクト・ナビゲータで、削除するキャンバスのオブジェクト・アイコンをクリックします。

2	ツールバーの「削除」アイコンをクリックします。

注意: キャンバスを削除するとき、Form Builderによりキャンバスに配置されてるボイラープレート項目も削除されます。ただし、キャンバスに割り当てられているインタフェース項目は削除されず、NULLキャンバス項目（どのキャンバスにも割り当てられない項目）となります。NULLキャンバス項目は実行時に表示されないので注意してください。


レイアウト・エディタ内のスタック・キャンバスとタブ・キャンバスの作成

レイアウト・エディタにおいて、スタック・キャンバスおよびタブ・キャンバスを作成し、編集できます。

作成  スタック・キャンバスまたはタブ・キャンバスを作成するには、レイアウト・エディタ・ツールバー上の「スタック・キャンバス」ボタンまたは「タブ・キャンバス」ボタンを使用することが可能です。たとえば、タブ・キャンバスを作成するには、最初にレイアウト・エディタを表示します。次に、ツールバー内の [image] をクリックし、次にタブ・キャンバスを表示させたい四角の領域を下層のコンテント・キャンバス上でクリック・アンド・ドラッグします。この方法でタブ・キャンバスを作成すると、レイアウト・エディタを実行する間にすぐにこれをサイズ変更または移動できます。

編集  スタック・キャンバスまたはタブ・キャンバス上の項目を編集するのにレイアウト・エディタを次の2通りで使用することができます。(1) スタックまたはタブ・キャンバスを直接編集するには、レイアウト・エディタを起動してウィンドウの一番上の「キャンバス」ポップリストから適切なキャンバスを選び、そのキャンバスの項目を移動またはサイズ変更して、操作します。(2)コンテント・キャンバスのスタック・ビュー上でスタック・キャンバスまたはタブ・キャンバスを編集するには、レイアウト・エディタを起動して適切なコンテント・キャンバスを表示し、「表示」 [image] 「スタック・ビュー」を選択して「スタック/タブ・キャンバス」ダイアログから適切なキャンバスを選びます。その後キャンバスの項目を移動したりサイズを変更して、操作します。

自動同期  Form Builderはコンテント・キャンバスのスタック・ビュー上の項目と実際のスタック・キャンバス上の対応する項目とを自動的に同期させます。たとえば、コンテント・キャンバスのスタック・ビューから行われる、スタック・キャンバスの項目に対する可視属性の移動、サイズ変更などの修正はすべて、レイアウト・エディタからの起動時にスタック・キャンバスに反映されます。同様に、レイアウト・エディタからスタック・キャンバス上の項目が変更されたとき、その変更は、コンテント・キャンバスのスタック・ビューに反映されます。


レイアウト・エディタ内のキャンバスのサイズ変更

レイアウト・エディタ内のキャンバスのサイズを変更するには:

1	レイアウト・エディタ内で、「ビュー」を選択して「キャンバス表示」オプション(デフォルト)をチェックして、キャンバス・オブジェクトが表示されることを確認します。

2	キャンバスの右下枠が参照できるまでレイアウト・エディタ・ウィンドウをスクロールしてから、キャンバスの右枠または下枠をクリックして選択します。

キャンバスが選択されると、黒い選択ハンドルが右下隅に表示されます。

3	選択ハンドルをクリックしてドラッグし、キャンバスを希望どおりにサイズ変更します。


レイアウト・エディタ内のキャンバスの可視属性の設定

レイアウト・エディタ内のキャンバスの可視属性を設定するには:

1	レイアウト・エディタで、キャンバスが「キャンバス」組合せボックスに表示されるようにします（すなわち、レイアウト・エディタの現キャンバスです）。

2	カラー・パレットから希望の色を選びます。


レイアウト・エディタ内のビューの調節

  関連項目

ビューの表示  現行のキャンバスに対するビューをレイアウト・エディタ内に1ポイントの黒い四角形として表示するには、「表示」 [image] 「ビュー表示」メニュー・オプションを「オン」にします。

ビューのサイズ変更  コンテント・キャンバスまたはツールバー・キャンバスに対して、ビュー四角形はキャンバスが割り当てられるウィンドウを意味しています。レイアウト・エディタでビューをサイズ変更すると、ウィンドウの「幅と高さ」プロパティが変更されます。逆に言えば、ウィンドウの「幅」と「高さ」プロパティを変更すると、レイアウト・エディタのビューの四角形がサイズ変更されます。スタック・キャンバスの場合、ビューは、キャンバスが表示されているウィンドウとは関係なく、そのサイズは「ビュー・ポートの幅/高さ」プロパティにより制御されます。

ビューの移動  ビューを移動するには、ビューのアウトラインをクリックし、希望の位置までドラッグします。ビューを移動すると、「キャンバス」プロパティの「ビュー・ポートのX/Y位置」が変わります。ビューをサイズ変更するには、ビューをクリックしてから、選択ハンドルをドラッグします。


コンテント・キャンバスについて

アプリケーションを構築するとき、最初のステップの1つは、フォームのウィンドウに表示されるコンテント・キャンバスの作成です。設計時には、複数のコンテント・キャンバスを同じウィンドウに割り当てられますが、実行時には、一度にウィンドウに表示されるコンテント・キャンバスは1つのみです。

コンテント・キャンバスの作成

Form Builderにコンテント・キャンバスを作成する方法は次の3通りです。

•	レイアウト・ウィザード  レイアウト・ウィザードを使用してキャンバス上のデータ・ブロック項目を配置するとき、レイアウト・ウィザードを使用することによって、データ・ブロック項目を（レイアウト・ウィザードが、自動的に作成して、CANVAS3のようなデフォルト名を与える）新規コンテント・キャンバス上に置くことができます。

•	レイアウト・エディタ  レイアウト・エディタ内で、特定のキャンバス上で項目オブジェクトとボイラープレート・オブジェクトを作成することが可能です。（レイアウト・エディタを起動したとき、フォームにキャンバスがない場合には、Form Builderにより、ユーザーが作業できるデフォルトのコンテント・キャンバスが自動的に作成されます。）

•	オブジェクト・ナビゲータ  オブジェクト・ナビゲータ内でコンテント・キャンバスを作成するために、キャンバスを作成し、次にプロパティ・パレット内で「キャンバス・タイプ」プロパティを設定することによってそのタイプを指定します。


複合コンテント・キャンバスのウィンドウへの割り当て

  関連項目

設計時点で1つ以上のコンテント・キャンバスを同一のウィンドウに割り当てることを決めた場合、そのウィンドウに対して利用可能なコンテント・キャンバスを選択することになります。実行時には、1つのウィンドウに一度に表示できるコンテント・キャンバスは1つのみです。言い換えれば、1つ以上のコンテント・キャンバスが同一のウィンドウに割り当てられているとき、ランタイム・イベントはどれがそのウィンドウに表示される現行のコンテント・キャンバスかを決定します。

1つのウィンドウおよび2つのコンテント・キャンバス（両方ともウィンドウに割り当て）を持つフォームを検討してください。フォーム起動時、Form Builderは、ウィンドウに最初に表示するキャンバスを判別する必要があります。デフォルトでは、Form Builderにより、フォームの最初のブロックの最初にナビゲート可能な項目に入力フォーカスが設定されます。この例では、フォームの最初のナビゲート可能な項目が含まれるコンテント・キャンバスが（ナビゲーション順序により定義されるように）、そのウィンドウの現行コンテント・キャンバスとなります。

ここで、2つのコンテント・キャンバスがオンラインの「ヘルプ」ウィンドウに割り当てられているとします。各コンテント・キャンバスには、ボイラープレートの「ヘルプ」テキストが表示され、ナビゲート可能な項目は含まれません。エンド・ユーザーは、SHOW_WINDOWビルトイン・プロシージャを実行するボタンを押して、「ヘルプ」ウィンドウを起動できます。ここでまた、Form Builderにより、ウィンドウが起動されたときにどのキャンバスが表示されるか判断される必要があります。ナビゲーションは起きないので、ウィンドウの主キャンバスとして設計されているコンテント・キャンバスがウィンドウに表示されます。（あるウィンドウに主キャンバスを指定するには、「主キャンバス」プロパティ・オプションを設定します。）


スタック・キャンバスについて

  関連項目

スタック・キャンバスは、ウィンドウのコンテント・キャンバスおよび任意の数の他のスタック・キャンバスと共にウィンドウ内に表示されます。スタック・キャンバスの凹凸、カラー、パターン属性を設定して、基礎を形成するコンテント・キャンバスと異なる外観にできます。反対に、スタック・キャンバスをコンテント・キャンバスと同じ外観にして、プログラムでスタック・キャンバスを表示および隠すことができます。こうすると、別のキャンバスが表示されていることがエンド・ユーザーにはわかりません。

この方法は、項目またはボイラープレートを表示して動的に外観を変更するために使用されます。コンテント・キャンバス項目からスタック・キャンバス項目にナビゲートする場合、コンテント・キャンバスは画面から消去され、スタック・キャンバスのみが表示されています。

スタック・キャンバスの作成方法は、コンテント・キャンバスの作成方法に似ています。スタック・キャンバスを定義するには、スタック・キャンバスにのみ適用される特定のキャンバス・プロパティを設定して、コンテント・キャンバスに作成したように、項目、ボイラープレート・グラフィックスを作成します。

注意: 現存するコンテント・キャンバスをスタック・キャンバスに変換するには、その「キャンバス・タイプ」プロパティを「コンテント」から「スタック」に変更します。

実行時に、スタック・キャンバスは、コンテント・キャンバスと同じ方法によるナビゲーションに応答して自動的に表示されます。スタック・キャンバスをプログラムで表示および隠すには、SHOW_VIEW、HIDE_VIEW、SET_VIEW_PROPERTYビルトインを使用します。

スタック・キャンバスの用途

スタック・キャンバスは、次のように使用できます。

•	特定状況でのみエンド・ユーザーが参照する必要のある項目またはボイラープレート・グラフィックスを表示します。（エンド・ユーザーが明示的に起動するまで隠れたままの、ヘルプ・テキストまたはイメージが表示されるスタック・キャンバスを定義します。）

•	会社名、日付、ステータス情報のような一定の情報が表示されるヘッダーを定義します。（常に現行のコンテント・キャンバスの前面に表示されるスタック・キャンバスを定義します。）現行のコンテント・キャンバスが別のキャンバスに置き換えられたとき、スタック・キャンバスはウィンドウに残ったままで参照できます。この方法を使用して、同じウィンドウの複数のコンテント・キャンバスでインタフェース要素が複製されるのを回避します。

•	スプレッド・シートのように、表示されているウィンドウで動的にスクロールされる項目を持つブロックを作成します。（ブロックがウィンドウに収まりきれないほど多くの項目を含む場合、Form Builderはエンド・ユーザーがウィンドウ・フレームの外にある項目にカーソルをタブするのに合せて自動的にウィンドウをスクロールします。）これにより、主キーの値のような重要なフィールドがウィンドウの外へスクロールされるため、エンド・ユーザーには見えなくなります。たとえば、順序に関する情報が表示されるブロックの場合、エンド・ユーザーのナビゲーションにかかわらず、常に「順序ID」を参照できます。基礎を形成するコンテント・キャンバスに「順序ID」を置き、スタック・キャンバスで見えなくなるところまでスクロールできる項目を置くと、スタック・キャンバスは、ウィンドウ自体ではなくスクロール領域となります。スタック・キャンバスが、ウィンドウのスクロール・バーとは独立して、それら自体でスクロール・バーを持てることに注意してください。


スタック・キャンバスの作成

  関連項目

スタック・キャンバスを作成するには:

1	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、スタック・キャンバスを作成するコンテント・キャンバスのオブジェクト・アイコンをダブル・クリックします。

2	レイアウト・エディタで、ツールバーの「スタック・キャンバス」ボタンをクリックします。

3	スタック・キャンバスを置きたい領域までクリックしてドラッグします。

Form Builderによりスタック・キャンバスが作成され、CANVAS6などのデフォルト名が与えられます。

4	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、スタック・キャンバスのオブジェクト・アイコンをクリックして次に、「ツール」 [image] 「プロパティ・パレット」を選択します。

5	プロパティ・パレット内の「表示」と「ビューポート」ノードの下で、プロパティを次のように設定します。

可視  「はい」（スタック・キャンバスはウィンドウが起動されたときに表示）または「いいえ」（スタック・キャンバスはナビゲーションまたはプログラム的なイベントに対応して表示されるまで非表示のまま）。

幅/高さ  キャンバスの寸法。一般的にスタック・キャンバスは、同じウィンドウのコンテント・キャンバスよりも小さくなっています。

凹凸  「キャンバス境界線」タイプ。境界線を使用して、同じウィンドウの他のキャンバスとスタック・キャンバスを視覚的に別にします。

ビューポートの幅/高さ  スタック・キャンバスのビューの寸法。ビューがキャンバスよりも小さい場合、エンド・ユーザーは実行時にキャンバスをスクロールできます。

キャンバス上のビューポートのX/Y位置  X,Yはビューの左上コーナーの座標を表示します（現在のウィンドウ内に表示されているコンテント・キャンバスの左上コーナーを起点として）。0,0（デフォルト）では、コンテント・キャンバスの左上隅にスタック・キャンバスが表示されます。

水平/垂直スクロール・バー表示  スタック・キャンバスには、水平/垂直スクロール・バーを配置できます。（水平、垂直、両方、なし） エンド・ユーザーは、基礎を形成するコンテント・キャンバスとは別に、スタック・キャンバスをスクロールできます。

6	スタック・キャンバスの積上げ順序の位置を定義します。

スタック・キャンバスがプログラムでまたはナビゲーションに応答して表示されない場合、積上げ順序の位置が、同じウィンドウに割り当てられているコンテント・キャンバスの前に置かれるようにします。そうでない場合、コンテント・キャンバスの背後になり、実行時に表示されません。ウィンドウ内のキャンバスの積上げ順序は、オブジェクト・ナビゲータ内の「キャンバス」ノードの下にリストされます。


レイアウト・エディタ内のスタック・キャンバスの編集

レイアウト・エディタ内のスタック・キャンバスを編集するには:

1	オブジェクト・ナビゲータ内で「キャンバス」ノードをオープンして、希望するスタック・キャンバスのオブジェクト・アイコンをクリックします。

2	スタック・キャンバスのオブジェクト・アイコンをダブルクリックします。

コンテント・キャンバスで作成したように、項目およびボイラープレート・グラフィックスを作成できます。「キャンバス」または「ビュー」サイズを変更することも可能です。


レイアウト・エディタ内のコンテント・キャンバスのスタック・ビューの表示

  関連項目

コンテント・キャンバスのウィンドウに割り当てられたスタック・ビューを表示するには:

1	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、コンテント・キャンバスをダブルクリックします。

2	レイアウト・エディタ内で「ビュー」 [image] 「スタック・ビュー」を選択します。

Form Builderでは、「スタック/タブ・キャンバス」ダイアログが表示され、レイアウト・エディタに現在表示されているコンテント・キャンバスと同じウィンドウに割り当てられたスタック・キャンバスがすべて表示されます。

3	レイアウト・エディタに表示するスタック・キャンバスを選択します。（表示しないスタック・キャンバスは選択解除します）

スタック・キャンバスを選択するには、「スタック/タブ・キャンバス」ダイアログでそれをクリックします。同じコンテント・キャンバスに複数のスタック・キャンバスを表示するには、それらを[Ctrl]キーを押しながらクリックします。

現行キャンバスにすでに表示されているスタック・キャンバスを選択解除するには、「スタック/タブ・キャンバス」ダイアログで、選択済のスタック・キャンバスを[Ctrl]キーを押しながらクリックします。

この方法でスタック・キャンバスを表示すると、実行時にエンド・ユーザーに表示されるのと同じものが表示されます。すなわち、「ビュー・ポートの幅」および「ビュー・ポートの高さ」プロパティにより定義されたそのビュー内のスタック・キャンバスの部分のみが表示されます。

スタック・キャンバスが表示されたら、レイアウト・エディタで次のようにグラフィカルに操作して、そのプロパティを変更できます。

•	スタック・キャンバスを移動して、その「ビュー・ポートのX位置」および「ビュー・ポートのY位置」プロパティを変更します。

•	スタック・キャンバスをサイズ変更して、「ビュー・ポートの幅」および「ビュー・ポートの高さ」プロパティを変更します。このような方法でビューのサイズを変更しても「キャンバス」のサイズは変更されず、「ビュー」のサイズのみが変更されます。キャンバスのサイズを変更するには「プロパティ・パレット」で「幅」および「高さ」キャンバス・プロパティを設定します。ビューがキャンバスより大きい場合でも、キャンバス上で完全な項目およびボイラープレートのみが実行時に表示されます。

•	スクロール・バーのあるスタック・キャンバスの場合、キャンバスをスクロールして、「キャンバス上のビュー・ポートX位置」および「キャンバス上のビュー・ポートY位置」プロパティの初期ランタイム設定を変更します。


タブ・キャンバスについて

  関連項目

1枚または複数枚のページから構成されるタブ・キャンバスを使用すると、単一のキャンバス・オブジェクトについての膨大な関連情報をグループ化して表示することが可能です。スタック・キャンバスのように、タブ・キャンバスもコンテント・キャンバスの一番上に表示され、コンテント・キャンバスは部分的に隠されます。タブ・ページには、タブ・キャンバス全体に表示される情報のサブセットがそれぞれ表示され、コンテント・キャンバスは部分的に隠れます。


タブ・ページについて

  関連項目

タブ・キャンバスには、多くのタブ・ページが含まれますが、少なくとも1つは必ず含まれる必要があります。タブ・ページは、ファイリング・システムのフォルダと考えてください。個々のタブ・ページ（フォルダー）には、開発者とエンド・ユーザーがクリックしてページにアクセスするためのラベル付タブが含まれます。設計時または実行時に、ラベル付タブをクリックすると、タブ・キャンバスの前面にページが表示され、他のページはすべて隠れてしまいます。

各タブ・ページには、タブ ・キャンバス上に同一の表示領域が確保され、キャンバス自体のサイズとほぼ同じになります。この関連するキャンバス・セクションのレイヤー化により、1つのキャンバスにより多くの情報を表示できます。

タブ・ページは、タブ・キャンバスのサブ・オブジェクトです。付加されているキャンバスのように、タブ・ページにはプロパティがあります。同様に、タブ・キャンバスに置かれた項目にはすべてタブ・ページ・プロパティと同様にキャンバス・プロパティがあります。オブジェクト・ナビゲータのタブ・ページの順序は、タブの左から右（または上から下）の順に実行時に判断されます。


タブ・キャンバスの作成

  関連項目

タブ・キャンバスを作成するには:

1	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、その上でタブ・キャンバスを作成する場合はコンテント・キャンバスのオブジェクト・アイコンをダブルクリックします。

2	レイアウト・エディタ内で、ツールバーの [image] 「タブ・キャンバス」をクリックします。

3	タブ・キャンバスを置きたい領域までクリックしてドラッグします。

Form Builderによりタブ・キャンバス（2つのタブ・ページが含まれる）が作成され、CANVAS6などのデフォルト名が付けられます。

4	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、タブ・キャンバスのオブジェクト・アイコンをクリックし、次に「ツール」 [image] 「プロパティ・パレット」を選択してプロパティ・パレットを表示します。

5	「ビューポート」ノードの下で:

•	「キャンバス上のビュー・ポートのX/Y位置」プロパティを設定します。（ウィンドウ内に現在表示されているコンテント・キャンバスの左上コーナーを起点とした、ビューの左上コーナーの表示座標 X、Yを入力します。0,0（デフォルト）では、コンテント・キャンバスの左上隅にタブ・キャンバスが表示されます。）

•	「ビュー・ポートの幅/高さ」プロパティを設定します。（タブ・キャンバスのビューの大きさを入力します。ビューがキャンバスよりも小さい場合、 エンド・ユーザーは実行時にキャンバスをスクロールできます。）

6	「表示」ノードの下で:

•	「可視」プロパティを、「はい」（タブ・キャンバスは、ウィンドウが起動されるときに表示される）、または「いいえ」（タブ・キャンバスは、ナビゲーションまたはプログラム・イベントに応答して表示されるまで隠れている）に設定します。

•	「幅/高さ」プロパティを設定します。（キャンバスの寸法を入力します。一般的にタブ・キャンバスは、同じウィンドウのコンテント・キャンバスよりも小さくなっています。）

7	タブ・キャンバスの積上げ順序の位置を定義します。

タブ・キャンバスがプログラムでまたはナビゲーションに応答して表示されない場合、積上げ順序のその位置が、同じウィンドウのコンテント・キャンバスの前面に置かれていることを確認します。そうでない場合、コンテント・キャンバスの背後になり、実行時に表示されません。ウィンドウ内のキャンバスの積上げ順序は、オブジェクト・ナビゲータ内の「キャンバス」ノードの下にリストされます。


タブ・ページの作成

  関連項目

タブ・ページを作成するには:

1	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、タブ・キャンバスの「タブ・ページ」ノードをクリックします。

2	作成する場合はタブ・ページごとに1回、ツールバー内の「作成」ボタン [image] をクリックします。

Form Builderによりタブ・ページが作成され、PAGE3などのデフォルト名が付けられます。

3	「ツール」 [image] 「プロパティ・パレット」を選択します。

4	プロパティ・パレット内の「機能」ノードの下で、タブ・ページのタブ領域に表示させるテキストを「ラベル」プロパティに設定します。（エンド・ユーザーは、タブ領域をクリックしてタブ・キャンバスのページ間をナビゲートします。）


タブ・ページ上への項目の配置

タブ・ページに項目を配置するには:

1	オブジェクト・ナビゲータ内で、項目のオブジェクト・アイコンをダブルクリックします。

2	プロパティ・パレット内の「物理」ノードの下で、項目の「キャンバス」プロパティと「タブ・ページ」プロパティを正しい値に設定して、項目が希望するタブ・キャンバスとタブ・ページ上に表示されることを確認します。

注意: タブ・ページに項目を追加するときは、項目全体が（および対応付けられたボイラープレート・グラフィックス）完全にタブ・ページ内にあることを確認します。


他のタブ・ページへの項目の移動

項目を他のタブ・ページへ移動するには:

1	オブジェクト・ナビゲータ内でタブ・ページ項目のオブジェクト・アイコンをクリックして、「ツール」 [image] 「レイアウト・エディタ」を選択します。

2	レイアウト・エディタで、項目をクリックしてから、ツールバーの「カット」または「コピー」ボタンをクリックします。

Form Builderにより、項目がクリップボードにカットまたはコピーされます。

3	項目をペーストするタブ・ページのタブをクリックし、Form Builderによりタブ・ページが表示されたらすぐにそのタブ・ページをクリックします。

4	ツールバーの「ペースト」ツールをクリックします。

Form Builderにより、選択したタブ・ページで、前のタブ・ページの位置と同じX,Y位置に項目がペーストされます。

注意: プロパティ・パレット内で、項目の「タブ・ページ」プロパティを変更して、項目を他のタブ・ページに移動することも可能です。


タブ・ページの再順序化

タブ・ページを再順序化するには:

1	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、タブ・キャンバスの「タブ・ページ」ノードをクリックします。

2	タブ・ページのオブジェクト・アイコンをクリックしてドラッグし、階層内の位置を変更して順序を変えます。

注意: オブジェクト・ナビゲータのタブ・ページの順序により、実行時に左から右（または上から下）の順序が判断されます。オブジェクト・ナビゲータのリスト上で最も高いタブは、タブの方向により、実行時にタブ・スタックの一番上または左端に表示されます。


タブ・ページの削除

タブ・ページを削除するには:

1	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、タブ・キャンバスの「タブ・ページ」ノードをクリックします。

2	タブ・ページのオブジェクト・アイコンをクリックし、ツールバー内の「削除」ボタンをクリックします。

Form Builderにより確認警告が表示されます。

3	タブ・ページを削除するには、「はい」をクリックします。

Form Builderによりタブ・ページが削除されます。

注意: タブ・キャンバスの最終ページを削除しても、キャンバス自体は削除されません。


タブ・キャンバスの表示

レイアウト・エディタ内でタブ・キャンバスを表示するには:

1	オブジェクト・ナビゲータ内で、タブ・キャンバスのオブジェクト・アイコンをダブルクリックします。

または

タブ・キャンバスと同じウィンドウに割り当てられたコンテント・キャンバスのオブジェクト・アイコンをダブルクリックして、次に「ビュー」 [image] 「スタック/タブ・ビュー」を選択してコンテント・キャンバス上に表示させたいタブ・キャンバスを選びます。

または

タブ・キャンバスと同じウィンドウに割り当てられたコンテント・キャンバスのアイコンをダブルクリックして、次にレイアウト・エディタの一番上の「キャンバス」ポップ・リストからタブ・キャンバスを選択します。


設計時点でのタブ・ページ

設計時点でのタブ・ページを切り換えるには：

1	ラベルの付いたタブをクリックします。閲覧するタブが不可視の場合、任意の可視タブをクリックして反転表示し、左右の矢印キーを使用してタブ・ページを切り替えます。


タブ・キャンバスのサイズ変更

レイアウト・エディタ内のタブ・キャンバスのサイズを変更するには:

1	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、キャンバスのオブジェクト・アイコンをダブルクリックします。

レイアウト・エディタが表示されます。

2	「表示」 [image] 「ビュー表示」を選択します。

3	タブ・キャンバス・ビューを選択します。

4	点を選び、希望のサイズまでタブ・キャンバスをクリックしてドラッグします。

注意: タブ・キャンバスのサイズ変更するときは、Form Builderによりタブ・ページがそれぞれ自動的にサイズ変更されることに留意してください。タブ・ページの境界線内にあった前のオブジェクトは、タブ・キャンバスがサイズ変更される場合には、タブ・ページ境界線の外側になってしまいます。


タブ・キャンバスの移動

コンテント・キャンバス上でタブ・キャンバスを移動するには:

1	オブジェクト・ナビゲータ内の「キャンバス」ノードの下で、コンテント・キャンバスをダブルクリックします。

レイアウト・エディタが表示されます。

2	「表示」 [image] 「ビュー表示」を選択します。

3	タブ・キャンバス・ビューを選択します。

4	レイアウト・エディタで、コンテント・キャンバスの希望の位置までタブ・キャンバス・ビューをクリックしてドラッグします。

注意: タブ・キャンバスを移動すると、そのビューの「ビュー・ポートのX位置」および「ビュー・ポートのY位置」が変わります。


キャンバスの表示

キャンバスのスタック・ビューの表示

タブ・キャンバスの表示


ツールバー・キャンバスについて

フォーム内の任意のウィンドウに対して、水平と垂直両方のツールバー・キャンバスを作成することが可能です。Form Builderでは、水平ツールバーはウィンドウの一番上の右に表示され、垂直ツールバーはウィンドウの左枠に表示されます。（Form Builderにはいくつかのツールバーが表示されます。たとえば、オブジェクト・ナビゲータ・ウィンドウには水平と垂直両方のツールバーが表示され、「プロパティ・パレット」には水平ツールバーのみが表示されます。）

ツールバー・キャンバスを作成するとき、キャンバスの「ウィンドウ」プロパティを設定することによってそれをウィンドウに割り当て、次にウィンドウの「垂直ツールバー・キャンバス」プロパティ、または「水平ツールバー・キャンバス」プロパティを適切に設定することによってウィンドウと一緒に登録します。

ツールバー上のさまざまな項目を動的に表示したり隠したりして、実行時のツールバーの外観を変更できます。また、同じウィンドウに複数のツールバーを作成し、同じウィンドウに割り当てられたスタック・キャンバスのように、ナビゲーション・イベントおよびプログラム制御に応答して表示できます。

MDIウィンドウ・ツールバー・キャンバス  Microsoft Windows上で、フォーム内の任意のドキュメント・ウィンドウに対するのと同じようにアプリケーション・ウィンドウに対してもツールバーを作成できます。MDIアプリケーション・ウィンドウは、ウィンドウ・マネージャにより作成、管理され、フォーム・モジュールのウィンドウ・リストには表示されません。

注意: マルチフォーム・アプリケーションでは、各フォームが固有のMDIツールバーを持つことが可能です。ユーザーがフォーム間をナビゲートするにつれて、MDIウィンドウは更新されて現行フォームに定義されているMDIツールバーを表示します。MDIツールバーが現行のフォームに定義されていない場合には、そのフォームにフォーカスがあるといつもツールバーなしでMDIウィンドウが表示されます。


ツールバー・キャンバスの作成

  関連項目

ツールバー・キャンバスを作成するには:

1	オブジェクト・ナビゲータ内で「キャンバス」ノードをクリックし、ツールバーの「作成」ボタン [image] をクリックします。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレット内の「一般」と「表示」ノードの下で、プロパティを次のように設定します。

キャンバス・タイプ－水平ツールバーまたは垂直ツールバー

ウィンドウ  その中でツールバー・キャンバスを表示するウィンドウの名前

幅/高さ－ツールバー・キャンバスの寸法。一般的に、ツールバー・キャンバスは割り当てられているウィンドウと同じ幅（または高さ）で、項目が1行（または1列）で表示されるのに十分な奥行き（または広さ）です。（ツールバーがウィンドウのコンテント・キャンバスを完全に覆い隠す場合でも、Form Builderは指定したサイズで設定されることに注意してください。）

4	オブジェクト・ナビゲータ内の「ウィンドウ」ノードの下で、ステップ3でツールバー・キャンバスを割り当てたウィンドウをクリックします。

5	ウィンドウのオブジェクト・アイコンをダブルクリックして、プロパティ・パレットを表示します。

6	プロパティ・パレット内の「機能」ノードの下で、「水平ツールバー・キャンバス」プロパティとまたは「垂直ツールバー・キャンバス」プロパティをステップ1で作成したツールバーの名前に設定します。

7	その他のキャンバスの場合と同様に、ツールバー・キャンバスに項目およびボイラープレート・グラフィックスを追加します。

注意: ツールバー・キャンバスで、ナビゲート可能またはマウスでナビゲート可能な項目の使用はサポートされていません。


MDIウィンドウに対するツールバー・キャンバスの作成

  関連項目

MDIツールバー・キャンバスを作成するには:

1	オブジェクト・ナビゲータ内で「キャンバス」ノードをクリックし、ツールバーの「作成」ボタン [image] をクリックします。

2	「ツール」 [image] 「プロパティ・パレット」を選択します。

3	プロパティ・パレット内の「一般」ノードの下で、「キャンバス・タイプ」プロパティを「水平ツールバー」または「垂直ツールバー」に設定します。

4	オブジェクト・ナビゲータ内の「フォーム」ノードの下で、現行のフォーム・モジュールのオブジェクト・アイコンをダブルクリックしてプロパティ・パレットを表示します。

5	プロパティ・パレット内の「表示」ノードの下で、「フォーム水平ツールバーのキャンバス」プロパティとまたは「フォーム・垂直ツールバーのキャンバス」プロパティをステップ1で作成したツールバーの名前に設定します。

注意: キャンバス・ツール・バーを作成してMDIウィンドウに表示するときは、Form Builderにより、そのキャンバスへの実行時のウィンドウ割当て（「ウィンドウ」プロパティ設定により指定される）は無視され、かわりに、ツールバー・キャンバスはMDIウィンドウに自動的にマップされます。

6	内容またはスタック・キャンバスの場合と同様に、新しいツールバー・キャンバスに項目およびボイラープレートを追加します。

注意: ツールバー・キャンバスで、ナビゲート可能またはマウスでナビゲート可能な項目の使用はサポートされていません。


同じウィンドウに対する複合ツールバー・キャンバスの作成

  関連項目

同じタイプ（水平または垂直）の複数のツールバー・キャンバスを作成して、キャンバスの「ウィンドウ」プロパティを設定し、それらを同じフォーム・ウィンドウに割り当てることができます。

複数のツールバーが同じフォーム・ウィンドウに割り当てられるとき、Form Builderでは、実行時にウィンドウに主ツールバー・キャンバスが表示されます。ウィンドウの「水平ツールバー・キャンバス」プロパティまたは「垂直ツールバー・キャンバス」プロパティを設定することによってウィンドウに対する主ツールバー・キャンバスを指定します。

ただし、別のツールバーの項目のナビゲーションが行われた場合、またはSHOW_VIEWやSET_VIEW_PROPERTYが実行され、アプリケーションでプログラムにより別のツールバー・キャンバスの表示または起動が行われる場合には、主ツールバー・キャンバス以外のツールバー・キャンバスが、Form Builderにより表示されることがあります。

MDIツールバーを定義しても、複数のツールバー・キャンバスが同じフォーム・ウィンドウにマップされるようにできます。たとえば、同じフォーム・ウィンドウに割り当てられている同じタイプ（水平または垂直）の2つのツールバー・キャンバスを持つフォームを作成したとします。ツールバーの一方は、（フォーム・モジュールの「フォーム水平/垂直ツールバー・キャンバス」プロパティの設定により）MDIツールバーとして指定されているものとします。Microsoft Windowsの場合、MDIツールバーは常にMDIウィンドウにマップされ、（「ウィンドウ」プロパティの設定で指定したように）割り当てられたウィンドウには表示されません。しかし、Motifなどのツールバーをサポートしている非Windows環境では、MDIツールバーは、それが割り当てられたウィンドウにマップされます。そしてそのウィンドウの潜在的なツールバー・キャンバスになります。この場合、Form Builderにより、主ツールバーとして指定されたツールバーを持つウィンドウが表示されますが、ナビゲーションまたはプログラム・イベントに応答して別のツールバーが表示されることがあります。


積上げ順序について

キャンバスで作業を行うとき、同一のウィンドウに割り当てられた他のキャンバスに対応した積上げ順序における、各キャンバスの位置を指定する必要があります。積上げ順序は、同一のウィンドウ内の他のキャンバスの前面（または、その「上」）に、どのキャンバスを表示するかを決定します。キャンバスの積上げ順序は、ナビゲーションおよびプログラム・イベントに応答して実行時に変更できます。

積上げ順序は、特に複数のコンテント・キャンバスおよびスタック・キャンバスが同じウィンドウに割り当てられているとき、重要です。スタック・キャンバスは、同じウィンドウに割り当てられているすべてのコンテント・キャンバスの前に置く必要があります。そうでない場合、実行時にコンテント・キャンバスにより完全にスタック・キャンバスが隠されてしまいます。

初期積上げ順序  キャンバスの初期スタック順序は、オブジェクト・ナビゲータ内の「キャンバス」ノードの下にキャンバスがリストされる順序によって決まります。「キャンバス」ノードの下にリストされる最初のキャンバスは、同じウィンドウに割り当てられた他のすべてのキャンバスの背後に表示されます。リスト内の最後のキャンバスは、他のすべてのキャンバスの前面に表示されます。

積上げ順序の変更  積上げ順序を変更するには、オブジェクト・ナビゲータ内のキャンバスをドラッグして希望する順序で配置します。このようにキャンバスの積上げ順序を変更するには、オブジェクト・ナビゲータは「所有者ビュー（デフォルト）」にする必要があります。


積上げ順序でのコンテント・キャンバスについて

  関連項目

複数のコンテント・キャンバスと、少なくとも1つのスタック・キャンバスを同じウィンドウに割り当てる場合、Form Builderにより、コンテント・キャンバスが積上げ順序によってどのように管理されるか注意する必要があります。Form Builderでは、1つのウィンドウに一度に表示できるコンテント・キャンバスは1つのみなので、同じウィンドウに割り当てられるすべてのコンテント・キャンバスは、そのウィンドウに割り当てられたスタック・キャンバスに関連して、積上げ順序が同じ位置のキャンバスであるかのように扱われます。

4つのキャンバスを持つウィンドウの場合を考えます。CNT_AおよびCNT_Cはコンテント・キャンバス、STK_Bはスタック・キャンバス、そしてTAB_Dはタブ・キャンバスです。

実行時に、Form Builderによりウィンドウには一度に1つのコンテント・キャンバスが表示されます。フォームの起動時にアプリケーションがCNT_Aの項目にナビゲートすると、ここで、これがウィンドウに表示される現行のコンテント・キャンバスとなります。エンド・ユーザーがCNT_Cの項目にナビゲートすると、これがCNT_Aと置き換わります。しかし、積上げ順序は、設計時にオブジェクト・ナビゲータで指定された順序ではなく、CNT_Aと同じになります。

この機能により、同じウィンドウに現在表示されるスタック・キャンバスを隠すことなくコンテント・キャンバスが置き換えられます。CNT_CがCNT_Aを置換するとき、設計時点でCNT_Aの上に配置されたスタック・キャンバスとタブ・キャンバスはそのまま見えています。

この方法を使用するときは、スタックおよびタブ・キャンバスがウィンドウに表示される最初のコンテント・キャンバスの前（上）の順序であるようにします。


積上げ順序はランタイムでどのように変化するか

実行時には、設計時に設定した積上げ順序は、キャンバスがナビゲーションおよびプログラム制御に応答して表示されると、変更されます。

エンド・ユーザーまたはアプリケーションが別のキャンバスで隠れているキャンバスの項目にナビゲートすると、Form Builderでは、自動的にターゲット・キャンバスがウィンドウの前面に表示され、現行の積上げ順序が変更されます。（したがって、スタックまたはタブ・キャンバスが常にナビゲーションに応答して起動されるようなフォームを設計した場合、設計時の積上げ順序は重要ではありません。）

同様に、SHOW_VIEWまたはSET_VIEW_PROPERTYビルトイン・プロシージャを実行してキャンバスがプログラムで自動的に表示された場合、Form Builderでは、指定のキャンバスが、その同じウィンドウに表示される他のすべてのキャンバスの前面に表示されます。


ナビゲーションに対応したウィンドウの表示と閉鎖

  関連項目

ナビゲーションに応じたウィンドウの表示  実行時に、Form Builderは現在エンド・ユーザーにフォーカスされている項目を常に追跡します。ナビゲーション・イベントが発生したときにターゲット項目を参照できるようにするため、現在隠れているか他のウィンドウの後ろになっているウィンドウが、Form Builderにより起動、開始、表示されます。

ナビゲーション・イベントが発生すると、Form Builderでは、まずターゲット項目がそのキャンバスにあるかが判断され、次にそのキャンバスが割り当てられているウィンドウが表示されます。たとえばフォームの起動時には、Form Builderにより、フォームで最初にナビゲートできる項目が識別され、次にその項目が割り当てられているキャンバスとウィンドウが表示されます。

ウィンドウの起動にナビゲーション・イベントを使用すると、この動作を利用でき、ウィンドウを明示的に表示するためにコードを書く必要がなくなります。

ナビゲーション・イベントには、たとえば「次の項目へ」、「前の項目へ」、「次のブロックへ」、「前のブロックへ」などがあります。エンド・ユーザーは、「デフォルト」メニューでキーを押したりコマンドを選んで、これらのコマンドを発行できます。GO_ITEMおよびGO_BLOCKなどの適切なビルトインをコールして、ナビゲーションをプログラムによっても開始できます。

ナビゲーションに応じたウィンドウの閉鎖  エンド・ユーザーまたはアプリケーションがナビゲートしてモードレス・ウィンドウを表示したとき、ウィンドウの「終了時に隠す」プロパティが、ウィンドウは表示されたままか、あるいは自動的に隠すかを判別します。

「終了時に隠す」が「はい」に設定されている場合、エンド・ユーザーまたはアプリケーションが別のウィンドウの項目へナビゲートすると、Form Builderによりウィンドウは自動的にクローズされます。「終了時、隠す」が「いいえ」（デフォルト）に設定されている場合、別のウィンドウ内の項目へのナビゲーションが発生しても、Form Builderによりウィンドウはクローズされません。

「終了時に隠す」プロパティはモーダル・ウィンドウ（「モード」プロパティが「はい」に設定されたウィンドウ）の場合には無視されることに注意してください。


プログラムによるウィンドウの表示と閉鎖

 例	     関連項目

ウィンドウの表示  ナビゲートできる項目を含まないウィンドウを表示するには、それをプログラムで表示する必要があります。そのようなウィンドウでは、「主キャンバス」プロパティを設定して、そのウィンドウに表示するコンテント・キャンバスを指定します。

実行時にウィンドウを表示するには、SHOW_WINDOWまたはSET_WINDOW_PROPERTYビルトイン・プロシージャを使用します。(SHOW_WINDOWを使用するときは、X,Y表示座標を指定するオプションがあります。指定しない場合、Form Builderはウィンドウの現在の表示座標を使用します。）

ウィンドウをプログラムで表示するとき、Form Builderにより、ウィンドウのキャンバスは次のように表示されます。

•	ウィンドウの現在のコンテント・キャンバス

•	「可視」プロパティを「はい」に設定したウィンドウに割り当てられている任意のスタック・キャンバス

注意: すでに表示されているが、他のウィンドウの背後に階層化されているウィンドウをプログラムによって表示する場合、Form Builderは他のウィンドウの前面にウィンドウを表示します。

ウィンドウの閉鎖  ウィンドウを閉鎖するときは、HIDE_WINDOWまたはSET_WINDOW_PROPERTYビルトイン・プロシージャを使用することができます。

現行の項目  プログラムによってウィンドウを表示したり隠したりするとき、Form Builderはエンド・ユーザーに現在フォーカスして見えている項目を常に保持しているということに気をつけてください。現項目が含まれるウィンドウをプログラムでクローズしようとすると、Form Builderによりそのコールは無視されます。現項目が隠れているウィンドウを表示する場合には、Form Builderによりコールが実行されますが、次に必要に応じてウィンドウまたはキャンバスが呼び出され、現項目が参照できるように保持されます。


プログラムによるウィンドウの表示と閉鎖の例

/*

** Example 1: These 2 procedure calls display a window named
** MY_WIN, with equivalent results:

   SHOW_WINDOW(my_win);
   SET_WINDOW_PROPERTY(my_win, visible, property_true);

** Example 2: This procedure call displays the same window at
** screen coordinates 5 and 10:

   SHOW_WINDOW(my_win, 5, 10);

** Example 3: The SET_WINDOW_PROPERTY built-in sets only one
** window property at a time; you must call it twice to achieve
** the same result as the previous example:

   SET_WINDOW_PROPERTY(my_win, visible, property_true);
   SET_WINDOW_PROPERTY(my_win, window_position, 5, 10);

** Example 4: These 2 procedure calls close a window named MY_WIN,
** with equivalent results:

   HIDE_WINDOW(my_win);
   SET_WINDOW_PROPERTY(my_win, visible, property_false);

*/


プログラムによるウィンドウの移動とサイズ変更

 例	     関連項目

ウィンドウの移動  ウィンドウを移動するには、ビルトイン・プロシージャMOVE_WINDOW、またはSET_WINDOW_PROPERTYを使用します。

ウィンドウのサイズ変更  ウィンドウのサイズを変更するには、ビルトイン・プロシージャRESIZE_WINDOW、またはSET_WINDOW_PROPERTYを使用します。

ウィンドウの最小化/最大化  プログラムによってウィンドウを最小化（アイコン化）、または最大化（フルスクリーンへ拡大）するには、SET_WINDOW_PROPERTYビルトインを使用して「ウィンドウの状態（Window_State）」プロパティを「最小化（Minimize）」または「最大化（Maximize）」に設定します。

MDIアプリケーション・ウィンドウの操作  Microsoft Windowsでは、プログラムによってMDIアプリケーションを操作することが可能です。それには、ウィンドウ名をFORMS_MDI_WINDOWとして参照してください。目的のMDIウィンドウ・プロパティを設定できます。詳細は、SET_WINDOW_PROPERTYビルトインのオンライン・ヘルプを参照してください。

アプリケーション起動時のウィンドウの操作  アプリケーション起動時に（つまり、エンド・ユーザーがフォームを見る前に）ウィンドウのサイズ、位置、そして表示状態を設定するには、「When-New-Form-Instance」トリガーから適切なビルトインをコールします。アプリケーションを開発し、別のオペレーティング・システム、デバイス上で実行する場合は、GET_APPLICATION_PROPERTYビルトインを使用して次のプロパティを取得することにより、ウィンドウをサイズ決定できます。

•	DISPLAY_HEIGHT

•	DISPLAY_WIDTH

•	OPERATING_SYSTEM

•	USER_INTERFACE

注意: オブジェクトのサイズと位置を変更するビルトイン・サブプログラムは、表示座標X,Yと幅/高さの寸法の引数を必要とします。実行時に、Form Builderにより、フォーム・モジュールの「座標システム」プロパティにより指定された単位、すなわち文字セルまたはセンチメートル、インチ、ピクセル、ポイントのいずれかで、これらの引数が解釈されます。


プログラムによるウィンドウの移動とサイズ変更の例

/*

** Example 1: These 2 procedure calls move the window MY_WIN to
** X,Y coordinates 6 and 8:

   MOVE_WINDOW(my_win, 6, 8);
   SET_WINDOW_PROPERTY(my_win, position, 6, 8);

** Example 2: These 2 procedure calls resize MY_WIN to a width
** of 80 and a height of 20:

   RESIZE_WINDOW(my_win, 80, 20);
   SET_WINDOW_PROPERTY(my_win, window_size, 80, 20);

** Example 3: This procedure call minimizes the document window
** MY_WIN:

   SET_WINDOW_PROPERTY(my_win, window_state, minimize);

** Example 4: This procedure call uses the Form Builder constant
** FORMS_MDI_WINDOW to maximize the MDI window (applies only to
** Microsoft Windows):

   SET_WINDOW_PROPERTY(forms_mdi_window, window_state, maximize);

*/


プログラムによるウィンドウのスクロール

 例	     関連項目

プログラムによってウィンドウをスクロールするとき、実際はウィンドウのキャンバス上のビューの位置を変更しています（つまり、キャンバスの「キャンバス上のビュー・ポートのX座標」と「キャンバス上のビュー・ポートのY座標」プロパティの変更）。

ウィンドウをプログラムでスクロールするには、次の2つのビルトイン・プロシージャの一方を使用します。

•	SCROLL_VIEW。指定したX,Y座標までウィンドウがスクロールされます。

•	SET_VIEW_PROPERTY。「キャンバス上のビュー・ポートのX位置」または「キャンバス上のビュー・ポートのY位置」プロパティを設定すると、ビューのXまたはY座標のいずれかを設定できます。（ビューのX座標とY座標の両方を設定するには、このビルトインを2回コールする必要があります。）

ダイナミック・スクロール  エンド・ユーザーまたはアプリケーションが項目間をナビゲートするとき、Form Builderはエンド・ユーザーに対して常にターゲット項目が見えるようにします。必要であれば、Form Builderによりビュー内にターゲット項目が表示されるように自動的にキャンバスがスクロールされます。たとえば、エンド・ユーザーが「次の項目へ」（[Tab]）を押して同じキャンバスにあるが現在ウィンドウの外にある項目まで移動したとき、Form Builderにより、ターゲット項目が参照できるようにキャンバスが動的にスクロールされます。

この方法の唯一の例外は、エンド・ユーザーまたはアプリケーションがナビゲーションに応答するのではなく、明示的にウィンドウをスクロールする場合です。この場合、Form Builderでは、現在入力フォーカスのある項目はビューからスクロールされません。ただし、次のナビゲーション・イベントによって、再びターゲット項目はビュー内にスクロールされます。


プログラムによるウィンドウのスクロールの例

/*

** Example 1: This procedure call scrolls a windows content
** canvas horizontally to X,Y coordinates 14 and 10:

   SCROLL_VIEW(my_con_view, 14, 10);

** Example 2: These 2 procedure calls also reposition the content
** canvas view to X,Y coordinates 14 and 10:

   SET_VIEW_PROPERTY(my_con_view, x_pos_on_canvas, 14);
   SET_VIEW_PROPERTY(my_con_view, y_pos_on_canvas, 10);

*/


実行時にウィンドウ・イベントに応答するためのトリガーの使用

次のトリガーを使用して、ウィンドウ・イベントに応答できます。

•	When-Window-Activated

•	When-Window-Closed

•	When-Window-Deactivated

•	When-Window-Redized

これらのトリガーで作業するとき、SYSTEM.EVENT_WINDOWビルトイン・システム変数を調べて、トリガーが起動されるウィンドウの名前を判断できます。


プログラムによるキャンバスの表示と非表示

 例	     関連項目

キャンバスの表示  プログラムによってそれが割り当てられているウィンドウ内のキャンバスを表示するには、ビルトイン・プロシージャSHOW_VIEWまたはSET_VIEW_PROPERTYのどちらかを使用します。

注意: 1つの例外を除いて、プログラムでキャンバスを表示するときは、設計時点で指定した積上げ順序には関係なく、またビルトインがコールされているときそのキャンバスがすでに表示されている（しかし、他のキャンバスの背後に隠れている）かどうかには関係なく、Form Builderは同一のウィンドウ内の任意の他のキャンバスの前面にそのキャンバスを立ち上げます。例外は、現行の項目のキャンバスを覆い隠すキャンバスをプログラムによって表示しようとする場合です。このときはForm Builderが現行の項目のキャンバスの背後にキャンバスを表示します。

コンテント・キャンバスを表示するのにSHOW_VIEWまたはSET_VIEW_PROPERTYビルトインを使用する場合、ウィンドウの現行のコンテント・キャンバスを置換します。

キャンバスを隠す  プログラムによってキャンバスを隠すには、ビルトイン・プロシージャHIDE_VIEWまたはSET_VIEW_PROPERTYを使用します。


プログラムによるキャンバスの表示と非表示の例

/*

** Example 1: These 2 procedure calls both display a content
** canvas named A_STACK:

   SHOW_VIEW(a_stack);
   SET_VIEW_PROPERTY(a_stack, visible, property_true);

** Example 2: These 2 procedure calls both hide a content canvas
** named A_STACK:

   HIDE_VIEW(a_stack);
   SET_VIEW_PROPERTY(a_stack, visible, property_false);

*/


「エントリでレイズ」キャンバス・プロパティを対象とした作業

  関連項目

キャンバス・プロパティ「エントリでレイズ」では、キャンバスの項目への（エンド・ユーザーまたはアプリケーションの）ナビゲーションにより、積上げ順序がどのように影響されるかが判断されます。「エントリでレイズ」の設定は、次のとおりです。

•	いいえ。Form Builderにより、ターゲット項目が同じウィンドウの別のキャンバスの後ろに隠されている場合にのみキャンバスがウィンドウの前面に呼び出されます（エンド・ユーザーまたはアプリケーションによりそのキャンバスの項目にナビゲートされるとき）。

•	はい。  エンド・ユーザーまたはアプリケーションがそのキャンバスの項目にナビゲートすると、Form Builderにより、ウィンドウの前面にキャンバスが呼び出されます。（コンテント・キャンバスの「エントリでレイズ」を「はい」に設定するには注意が必要です。コンテント・キャンバスではそのウィンドウの内容の全領域が占有されるため、Form Builderによりそれがキャンバスの積上げの前面に呼び出されるときはすべてのスタック・キャンバスが隠されてしまいます。）

スタック・キャンバス

スタック・キャンバスへの「エントリでレイズ」プロパティの設定は、扱いに慎重を要します。正しく扱うには、ウィンドウの相互作用、デフォルト・ナビゲーション、積上げ順序、ウィンドウとキャンバスのプログラム操作を考慮する必要があります。

「エントリでレイズ」プロパティが「いいえ」に設定されたスタック・キャンバスは、ナビゲーションまたはプログラム制御によってのみ表示されます。

エンド・ユーザー（またはアプリケーション）がスタック・キャンバスの項目にナビゲートするとき、Form Builderにより、それが割り当てられたウィンドウにキャンバスが表示されることを思い起こしてください。しかし、ウィンドウはプログラムによっても、あるいはウィンドウのコンテント・キャンバス上の項目へのナビゲーションに対応しても表示することができます。この状況では、「エントリでレイズ」を「はい」に設定して、ウィンドウが最初に表示されたときにForm Builderによりスタック・キャンバスが表示されるようにします。

「エントリでレイズ」プロパティが「はい」に設定されているスタック・キャンバスは、次の状況でも隠れたままのことがあります。

•	積上げ順序でのスタック・キャンバスの位置によって、同一ウィンドウ内のコンテント・キャンバスまたはスタック・キャンバスの背後にそれが配置された場合

•	キャンバスの別の項目へのナビゲーションのためにウィンドウが表示される場合。ターゲット項目とオーバーラップするときはForm Builderにより、スタック・キャンバスが隠されます。（Form Builderでは、最初にスタック・キャンバスが表示され、次にターゲット・キャンバスがスタック・キャンバスの前に呼び出されて、ターゲット項目が参照できるようになります。）

•	それが有する複数キャンバスの内、他のキャンバス上の項目へナビゲーションして、ターゲット・キャンバスが「エントリでレイズ」を「はい」に設定することが原因でウィンドウが表示された場合、たとえスタック・キャンバスがターゲット項目にオーバーラップしなくても、Form Builderはスタック・キャンバスの前面にターゲット・キャンバスを立ち上げます。


現行のコンテント・キャンバスを変えるイベント

  関連項目

ナビゲーションまたはプログラム制御に応答してウィンドウ内にコンテント・キャンバスが表示されると、それがウィンドウの現行のコンテント・キャンバスになります。別の現行のキャンバスに置き換えられない限り、実行時セッションの間、現行のコンテント・キャンバスのままです（エンド・ユーザーがウィンドウをクローズまたはアイコン化しても）。

複数のコンテント・キャンバスが同じウィンドウに割り当てられているとき、現行のコンテント・キャンバスは次の条件のもとでは別のコンテント・キャンバスに置き換えられます。

•	エンド・ユーザーまたはアプリケーションが、同じウィンドウに割り当てられた別のコンテント・キャンバスの項目にナビゲートします。

•	トリガーまたはユーザー命名サブプログラムにより、REPLACE_CONTENT_VIEWビルトイン・プロシージャが実行されます。

たとえば、エンド・ユーザーが「次の項目へ」（[Tab]）を押して、別のコンテント・キャンバスの項目にナビゲートする場合があります。ウィンドウは一度に1つのコンテント・キャンバスを表示できるので、Form Builderはウィンドウの現行のコンテント・キャンバスをターゲット項目を含む新規のコンテント・キャンバスで置換します。


現行のコンテント・キャンバスのプログラムによる置換

 例	     関連項目

ウィンドウの現行のコンテント・キャンバスをプログラムによって置換するには、ビルトイン・プロシージャREPLACE_CONTENT_VIEWを使用します。

指定されるキャンバスは、コンテント・キャンバスでなければならず、指定されたウィンドウに割り当てられている必要があります。（ウィンドウの現行のコンテント・キャンバスを異なるウィンドウに割り当てられたキャンバスによって置換することはできません。）

ウィンドウのコンテント・キャンバスを置換するのに、SHOW_VIEWとSET_VIEW_PROPERTYビルトインを使用することもできます。ただし、ウィンドウにスタック・キャンバスが含まれる場合、これらのビルトインとREPLACE_CONTENT_VIEWビルトインには、次のような重要な機能的相違があります。

•	SHOW_VIEWとSET_VIEW_PROPERTYは、ウィンドウ内の任意のスタック・キャンバスの前面に指示されたコンテント・キャンバスを表示します。そして、それによってスタック・キャンバスを隠します。

•	反対に、REPLACE_CONTENT_VIEWを使用すると、指定されたコンテント・キャンバスは、置き換えられるコンテント・キャンバスと同じ積上げ順序の位置に表示されます。

Form Builderでは、常に現項目がエンド・ユーザーに参照できるよう保持されます。プログラムでその現項目が含まれるコンテント・キャンバスが置き換えられると、元のキャンバスがForm Builderにより自動的に表示されます。


プログラムによる現行のコンテント・キャンバスの置換

/*

** Example 1: This procedure call replaces the WIN_5 windows
** current content canvas with a content canvas named CVS_1:

   REPLACE_CONTENT_VIEW(win_5, cvs_1);

*/


プログラムによるスタック・キャンバスの操作

 例

スタック・キャンバスの表示  スタック・キャンバスが割り当てられるウィンドウ内に、プログラムによってスタック・キャンバスを表示するのに、SHOW_VIEWビルトイン・プロシージャまたはSET_VIEW_PROPERTYビルトイン・プロシージャを使用できます。（スタック・キャンバスの「可視）プロパティはデフォルトで「いいえ」に設定されていることに注意）

スタック・キャンバスのスクロール  キャンバスの異なる領域が見えるようにスタック・キャンバスをスクロールするのに、ビルトイン・プロシージャSCROLL_VIEWを使用します（それは、そのキャンバスを起点としてビューを移動させます）。

スタック・キャンバスの移動  スタック・キャンバスを下層にあるコンテント・キャンバス上の異なる位置に移動させるには、ビルトイン・プロシージャSET_VIEW_PROPERTYを使用します（それは、「キャンバス上のビューポートのX/Y位置」プロパティを変更します）。これが、ビュー内の参照できるキャンバスの部分を変更するのではないので注意してください。

ビューの寸法の増加  スタック・キャンバスのビューを増加させるには（キャンバスがもっと見えるように）、ビルトイン・プロシージャSET_VIEW_PROPERTYを使用します。ビューを拡大しても、スタック・キャンバスの左上隅のX,Y座標は変更されず、基礎を形成するコンテント・キャンバスに関連するビュー自体の位置も変更されないことに注意してください。


プログラムによるスタック・キャンバスの操作例

/* Example 1: These 2 procedure calls both display the stacked

** canvas STACK_IT:
*/
   SHOW_VIEW(stack_it);
   SET_VIEW_PROPERTY(stack_it, visible, property_true);

/* Example 2: This procedure call scrolls the view of the stacked
** canvas STACK_IT to X,Y coordinates 12 and 0:
*/
   SCROLL_VIEW(stack_it, 12, 0);

/* Example 3: This procedure call changes the position of the
** stacked canvas STACK_IT to X,Y coordinates 12 and 20 on the
** underlying content canvas:
*/
   SET_VIEW_PROPERTY(stack_it, display_position, 12, 20);

/* Example 4: This procedure call increases the width of the view,
** thereby making more of the canvas visible:
*/
   SET_VIEW_PROPERTY(stack_it, width, 22);


プログラムによるタブ・キャンバスの操作

 例	     関連項目

スタック・キャンバスと同様に、プログラムによりタブ・キャンバスを表示および隠すには、SHOW_VIEWおよびHIDE_VIEW、SET_VIEW_PROPERTYビルトインが使用されます。

タブ・ページを表示または非表示にするには、SET_TAB_PAGE_PROPERTYビルトインを使用します。タブ・ページをキャンバス上で一番上のページにするには、SET_CANVAS_PROPERTYビルトインを使用します。項目を表示するタブ・ページを変更するには、SET_ITEM_PROPERTYビルトインを使用します。

タブ・ページの表示/非表示  タブ・ページを表示したり隠したりするのに、ビルトイン・プロシージャSET_TAB_PAGE_PROPERTYを使用してタブ・ページ・プロパティ「Visible」を設定します。

タブ・ページの使用可能/使用不能の設定  タブ・ページを使用可能、または使用不能にするのに、ビルトイン・プロシージャSET_TAB_PAGE_PROPERTYを使用してタブ・ページ・プロパティ「使用可能」を設定します。（使用不可のタブ・ページは、実行時のタブ・ラベルがグレイアウトされます。）

「一番上のタブ・ページ」の設定  タブ・ページを重なったタブ・キャンバスの一番上にするには、ビルトイン・プロシージャSET_CANVAS_PROPERTYを使用して、キャンバス・プロパティTOPMOST_TAB_PAGEを設定します。


プログラムによるタブ・キャンバスの操作例

/*

** Example 1: This procedure call shows the tab page TAB1 on the
** tab canvas CAN5:
*/
   SET_TAB_PAGE_PROPERTY(can5.tab1, visible, property_true);

/* Example 2: This procedure call disables tab page TAB1, but
** leaves it visible on its underlying tab canvas CAN5:
*/
   SET_TAB_PAGE_PROPERTY(can5.tab1, enabled, property_false);

/* Example 3: This procedure call makes tab page TAB1 the
** top-most page on its underlying tab canvas CAN5:
*/
   SET_CANVAS_PROPERTY(can5, topmost_tab_page, tab1);


実行時におけるタブ・キャンバスの操作

  関連項目

タブ・キャンバスへのランタイム・ナビゲーション、タブ・キャンバスからのランタイム・ナビゲーション、そしてキャンバスのタブ・ページ間のランタイム・ナビゲーションにはいくつかの規則と制約があります。

タブ・キャンバス・ナビゲーション  実行時に、コンテント・キャンバスとスタック・キャンバスと同じやり方で、タブ・キャンバスはナビゲーションに対応して自動的に表示されます。

タブ・キャンバスにフォーカスがあるときは、SYSTEM.CURRENT_ITEMとSYSTEM.TRIGGER_ITEMは、論理的にはフォーカスを持たず、表示されないこともあります。タブ・キャンバスをクリックするとフォーカスが移りますが、SYSTEM.CURRENT_ITEMは変更されません。

タブ・ページ・ナビゲーション  実行時に、タブ・ページ間をスイッチする多くの方法があります。最も直接的な方法は、タブ・ページの枠にあるラベル付タブをクリックする方法です。エンド・ユーザーは、右および左矢印キーを使用してもタブ・ページ間を切り替えられます。ただし、ラベル付タブにフォーカスがある場合に限ります（すなわち、フォーカスは項目またはタブ・キャンバスにない場合）。ナビゲーションに応じてタブ・ページを切り替えることは、ナビゲーションに応じて非表示のスタック・ページを切り替えることと同じです。タブ・ページTP1上の項目とTP2上の項目の間でナビゲーションが発生すると、Form BuilderはTP2を自動的に表示します。他のタブ・ページ上の項目へのナビゲーションが失敗した場合（妥当性によって）、Form Builderにより以前の項目が位置していたタブにではなく、以前の項目にフォーカスが返されます。


「データ表選択」ダイアログ・ボックス

  関連項目

説明  「データ表選択」ダイアログ・ボックスでは、接続したデータベースのデータ・ソース・オブジェクトを問合せにインクルードできます。

このダイアログ・ボックスの内容:

表示	表、ビュー、問合せ、スナップショット、シノニムのすべて、あるいはどれかをリスト・ボックスに表示するかどうかを指定します。
ドロップダウン・ボックス	オブジェクトを表示するデータ・ソースを指定します。別のアカウントやデータベースから表を選択することもできます。
データ表選択	問合せにインクルードできるデータ・ソース・オブジェクトをリストします。
情報	選択したオブジェクトに情報を表示します。種類、名前、所有者、作成日、コメントがあります。種類、名前、所有者、作成日、コメントがあります。
インクルード	選択した項目をQuery Builderの作業領域にインクルードします。
クローズ	データ・ソース・オブジェクトをインクルードせずにこのダイアログ・ボックスをクローズします。


現行のデータベースにある他のアカウントへのアクセス

  関連項目

現行のデータベースにある他のアカウントの表にアクセスするには:

1	現行のデータベース名をクリックします。「インクルード」ボタンが「オープン」ボタンに切り替わり、リスト・ボックスには現行のデータベース内のアカウントのリストが表示されます。

2	オープンするアカウントの名前をクリックします。

3	「オープン」ボタンをクリックするか、アカウント名をダブルクリックします。Query Builderにはそのアカウントにある表のリストが表示され、「オープン」ボタンは再び「インクルード」ボタンに切り替わって、通常の方法で表をインクルードできるようになります。


他のアカウントをオープンする

  関連項目

必要な表が現行のデータベース内にリストされていない場合、他のアカウントやデータベースを検索してそのアカウントから表を選択することができます。

他のアカウントおよびデータベースにナビゲートするには:

1	表のリストの上のボックスをクリックします。選択肢は2つあります。現行のデータベースの名前と「データベース」です。現行のデータベースの名前と「データベース」です。

2	現行のデータベースにある他のアカウントの表をコールするには、ここをクリックします。

リストされたデータベースと接続できない場合は、ネットワーク上の異常やリモート・パスワードの変更によってリンクが無効になっていると思われます。このような場合には、データベース管理者に連絡してください。


表の2回以上のインクルード

  関連項目

1つの問合せに同じ表を2回以上インクルードする場合、複製表に、実表の名前の次にアンダースコアと英数字が続く形式で命名されたシステム生成の別名が自動的に割り当てられます。


「リレーション表選択」ダイアログ・ボックス

説明  「リレーション表選択」ダイアログ・ボックスでは「問合せ」ウィンドウで選択した表に関係のある表をインクルードすることができます。

このダイアログ・ボックスの内容:

表示	このオプションは使用できません。
ドロップダウン・ボックス	すべてのリレーション表を指定するかどうかを指定します。
データ表選択	使用できるリレーション表をリストします。
情報	選択したオブジェクトに情報を表示します。種類、名前、所有者、作成日、コメントがあります。種類、名前、所有者、作成日、コメントがあります。
インクルード	選択した表をインクルードします。
クローズ	リレーション表をインクルードせずにこのダイアログ・ボックスをクローズします。


「表改名」ダイアログ・ボックス

  関連項目

説明  「表改名」ダイアログ・ボックスでは、現在アクティブな表の名前を変更できます。

このダイアログ・ボックスの内容:

デフォルト表名	表の現行名を指定します。
リスト・ボックス	改名のためにオープンした表をリストします。
新規名	新しい表名を指定します。
定義	ダイアログ・ボックスをオープンしたまま表名を更新します。


改名した表の識別

格納された問合せの中では、特定の表の名前がユーザー定義の名前か元の名前かは、すぐには見分けられません。

特定の表が改名されているかどうかを識別するには:

1	アイコン・バーの [image] をクリックします。

2	「処理可能な表」のリストで目的の表をクリックします。

表の名前が変更されている場合は、別名が「新しい名前」フィールドに表示され、別の名前（元の表名）が「デフォルト表名」フィールドに表示されます。

また、SQLを使用している場合でも、アイコン・バーの [image] をクリックすれば、改名された表を識別することができます。これによって、「SQL表示」ダイアログ・ボックスが表示され、表の別名を表す標準SQL構文内のSELECT文の中に、名前の変更が表示されます。


「表リレーション設定」ダイアログ・ボックス

  関連項目

説明  「表リレーション設定」ダイアログ・ボックスでは、2つの表の間に単純リレーション、自己リレーション、複合リレーション、不等価リレーションを設定します。

このダイアログ・ボックスの内容:

リレーション	起点(A->で)列と宛先(B->で)列の名前を指定します。
演算子	列間のリレーションの種類を指定します。
問合せでリレーションを使用	問合せにリレーションを使用するかどうかを指定します。チェックされている種類がデフォルトです。
「Bに一致しないA」ラジオ・ボタン	表Aにあり、表Bにないデータ以外に、両方の表ですべて共通のデータを検索することを指定します。
「Aに一致しないB」ラジオ・ボタン	表Bにあり、表Aにないデータ以外に、両方の表ですべて共通のデータを検索することを指定します。
「不一致を抑制」ラジオ・ボタン	デフォルト。両方に共通のデータを検索することを指定します。


リレーションについて

  関連項目

リレーショナル・データベースは、多くのリレーション表からなります。各表は縦方向に配置された列（フィールドともいいます)からなります。列には名前があり、一意の種類のデータを保存します。

リレーション、つまり結合は、1つの表の列と別の表の列との関係を定義します。必要なリレーションは、ほとんどデータベースに定義されています。リレーションにより、データの冗長性も少なくなります。異なる表の列にリレーションが設定してあれば、それらの表は問合せでまとめて処理できます。

リレーション列の名前がいつも同じであるとは限りません。同じデータ型はいつでも関係付けられます。 リレーションに意味があれば、ときには異なるデータ型でも関係付けることができます。たとえば、数値も文字として解釈できるため、通常、NUMBERデータ型の列はCHARACTER型の列と関係付けることができます。実際、ほとんどの列（長いテキストの列を除く）は、CHARACTER型の列と関係付けることができます。リレーションにはユーザー定義（一時）リレーションと、基本データ・ディクショナリに設定されたリレーションがあります。

リレーションにはユーザー定義（一時）リレーションと、基本データ・ディクショナリに設定されたリレーションがあります。データ・ディクショナリのリレーションは、リレーション表（主キー/外部キー関係を持った表）をインクルードすると自動的に表示されます。これらのリレーションはいつでも有効なので、特別な操作をしなくても利用できます。その作成や変更にはSchema Builderを使用します。

ユーザー定義リレーションは、それを作った問合せの中でのみ有効です。ユーザー定義リレーションを作っても基本表には対応する恒久的なリレーションは設定されません。両者の主な違いはユーザー定義リレーションの場合、ユーザーがリレーション線を引く必要がある点です。 データベースに保存されたリレーションの場合は、Query Builderによって自動的にリレーション線が引かれます。

注意（Report Builderのみ）:  Report Builderのデータ・リンクは、Query Builderのリレーションとは異なります。データ・リンクは2つ以上の問合せ間で作成されますが、Query Builderのリレーション（結合）は、1つの問合せ内で作成されます。詳細は、Report Builderのオンライン・ヘルプを参照してください。


リレーションのアクティブ化と非アクティブ化

  関連項目

マウスを使用して作成した関係は、問合せの中での必要に応じて、自動的にアクティブにされたり解除されたりします。アクティブな関係は、黒の太線で表示され、非アクティブな関係は、グレーの線で表示されます。

マウスを使用して手動で関係をアクティブにするには:

  非アクティブな関係線をダブルクリックします。

関係を解除するには:

  アクティブな関係線をダブルクリックします｡


「列定義」ダイアログ・ボックス

説明  「列定義」ダイアログ・ボックスでは、他列の値に基づいて、問合せ内に新しい列を作成できます。定義済みの列は、「データ・ソース」パネルと「結果」ウィンドウの両方に表示されます。

このダイアログ・ボックスの内容:

定義済み列	作成する列の名前を指定します。
リスト・ボックス	既存の定義済み列をリストします。
定義内容	選択した列の式を指定します。
定義	定義を列に適用します。
削除	選択した列を削除します。
列ペースト	「列ペースト」ダイアログ・ボックスを表示します。
関数ペースト	「関数ペースト」ダイアログ・ボックスを表示します。
注意: 定義済み列は問合せの一部にすぎず、データベースに保存された表定義を変更することはありません。


「ソート」ダイアログ・ボックス

説明  「ソート」ダイアログ・ボックスでは、表の列をもとに、問合せにあるデータをソートできます。

このダイアログ・ボックスの内容:

処理可能な列	ソートできる表列を「結果」ウィンドウに表示します。
ソート済み列	現在ソートされている表列を「結果」ウィンドウに表示します。
コピー	「処理可能な列」リストで選択した列を「ソート済み列」リストにコピーします。
削除	「ソート済み列」リストで選択した表列を削除します。
ソート順	選択した列を「昇順」や「降順」でソートします。デフォルトは「昇順」です。


Query Builderヘルプ

  関連項目

新規問合せの作成

問合せに条件を追加

単純関係の作成

列の定義

問合せデータのソート


Query Builderについて

  関連項目

Query Builderは、アナリスト、マネージャ、その他ビジネス・プロフェッショナルのために作成された簡単に使用できるデータ・アクセス・ツールです。社内データベースの情報に、論理的で直感的にアクセスでき、解析や報告に活用できます。

Query Builderはコンピュータのプログラミングやデータベースの基礎知識がないプロフェッショナルを対象に作成されています。また、Query Builderの強力な問合せ機能と構造化問合せ言語(SQL)文のサポートは、経験豊かなデータベース・ユーザーやプログラマにもさまざまな用途を提供します。

Query Builderの視覚的な「問合せ」ウィンドウで、社内データベースにあるデータに対する要求を指定できます。このデータに対する要求を問合せといいます。

Query Builderは、ユーザーがSQL SELECT文で作成するどのような問合せの定義にも対応できます。Query Builder作業領域に表示される列にもとづいて最適なSELECT FROM [table.column]句がQuery Builderにより、自動的に生成されます。


「列順序」ダイアログ・ボックス

説明  「列順序」ダイアログ・ボックスでは、Query Builder作業領域の問合せ結果を調整できます。

このダイアログ・ボックスの内容:

処理可能な列	Query Builder作業領域に表示できる表列をリストします。
表示中の列	Query Builder作業領域に現在表示されている表列をリストします。
コピー	「処理可能な列」リストから選択した列を「表示中の列」リストにコピーします。
削除	「表示中の列」リストから選択した列を削除します。
フォーマット	「フォーマット」ダイアログ・ボックスを表示します。
合計	「合計」ダイアログ・ボックスを表示します。
実行	問合せを実行します。


「列ペースト」ダイアログ・ボックス

  関連項目

説明  「列ペースト」ダイアログ・ボックスでは、既存の列を選択した表から問合せにペーストできます。

このダイアログ・ボックスの内容:

リスト・ボックス	ペーストできる列をリストします。


「関数ペースト」ダイアログ・ボックス

説明  「関数ペースト」ダイアログ・ボックスでは、関数を条件や問合せにペーストできます。

このダイアログ・ボックスの内容:

カテゴリ表示	リスト・ボックスに表示される関数の種類を指定します。数値、文字、日付、変換、グループその他があります。
リスト・ボックス	選択したカテゴリで利用できる関数をリストします。
引数ペースト	引数をインクルードするかどうかを指定します（使用する関数に情報を提供する関数のカッコ内の式）。


「SQL表示」ダイアログ・ボックス

  関連項目

「SQL表示」ダイアログ・ボックスでは、ユーザーの問合せ用のSQL文を表示するのみです。「SQL表示」ダイアログ・ボックスではSQL文の編集やコピーはできません。


表内の各行を一意に識別する1つ以上の列。主キーは太字で表示されます。


他の表の主キー値を参照する列。外部キーはイタリック体で表示されます。


問合せが表、ビュー、問合せ、シノニムおよびスナップショットを含むデータを取り出すソース。


1つの論理表を構成する1つまたは複数のデータベース表の列からなるデータ・ソース。


ファンクションまたは操作、および操作対象のデータベース列で構成される文字列(たとえば、SALARY+COMMISSION)。


命名規則に従う場合は、各問合せの名前は文字から始めるものとし、文字および数字で30字以内に収めます。命名規則を使用しないでデータベースの問合せを命名すると、Query Builderにより名前が（二重引用符で囲まれた）「リテラル」値に変換されます。


「条件」パネルについて

「条件」パネルは、「条件」フィールドを含む「問合せ」ウィンドウの1つのセクションであり、ここで式と条件を入力します。Query Builderの条件では、必要に応じてWHERE句やHAVING句が自動的に生成されます。

表名と列名は、条件内でフィルタリングされる列を示します。列名が一意の場合は、表名を省略できます。

注意: 「条件」フィールドをアクティブにするとカーソルにプラス記号(+)が表示され、クリックする項目が条件に追加されることを示します。これを非アクティブにするには、アイコン・バーの [image] をクリックします。


「問合せ」ウィンドウについて

問合せをオープンすると、Query Builderは次の2つのパネルに分割された「問合せ」ウィンドウにその問合せを表示します。

•	「条件」パネルには「条件」フィールドがあります。このフィールドを使って問合せの詳細を指定します。

•	「データ・ソース」パネルでは、問合せで使用される表（ビューやスナップショットなど）を表示します。

2つのパネルは、好みに応じて垂直または水平に分割できます。

それぞれの表は、表の名前と表内の列の名前を含むボックス内に表示されます。また、たくさんのアイコンがあり、現行のデータベース・オブジェクトを特定するときに使用すると便利です。説明のコメントが添付されているかどうか、データ・ソースのタイプ、列のデータ型、問合せ内の表について索引が定義されているかどうかなど、アイコンによってさまざまな情報が示されます。

リレーション線は、列間のリレーションを示します。リレーションは表間に設定され、ある表の列が別の表の列にどのように関連しているかを特定します。

列名の左にあるチェック・マークは、列が問合せにインクルードされていることを示します。これは、問合せを実行すると、Query Builderがその列名に対応するデータを検索することを意味します。チェック・マークがない場合は、列のデータがインクルードされていないことを示します。


「データ・ソース」パネルについて

  関連項目

「データ・ソース」パネルは、「問合せ」ウィンドウ内のセクションであり、表やリレーションなどの項目が表示されます。


アイコン・バーについて

  関連項目

アイコン・バーはQuery Builderウィンドウの一番上に表示されます。各アイコンをクリックすると説明が表示されます。


「保存」アイコン

指定したファイルに問合せを保存します。


「カット」アイコン

選択したテキストをカットし、オペレーティング・システムのクリップボードに移動します。


「コピー」アイコン

選択したテキストをオペレーティング・システムのクリップボードにコピーします。 元のテキストはそのまま残ります。


「ペースト」アイコン

現行のクリップボードのアイテムをアクティブな場所にペーストします。クリップボードに何もない保存されていない場合、ペーストは行われません。カットやコピーしたテキストは何でもペーストできます。


「消去」アイコン

選択したアイテム（テキストやテーブルなど）を消去します。「カット」コマンドと違って、「消去」で削除したアイテムはオペレーティング・システムのクリップボードには保存されません。


「すべて選択」アイコン

アクティブ・ウィンドウのすべてのアイテムを選択します。たとえば、「条件」パネルがアクティブな場合、パネル内のすべての条件が選択されます。


「データ表選択」アイコン

「データ表選択」ダイアログ・ボックスを表示します。


「リレーション表選択」アイコン

「リレーション表選択」ダイアログ・ボックスを表示します。このアイコンは選択した表と結合されたデータベースに、リレーション表がある場合にのみ使用できます。


「表改名」アイコン

「表改名」ダイアログ・ボックスを表示します。このアイコンは、Query Builder作業領域に少なくとも表が1つないと使用できません。


「情報」アイコン

「情報」ダイアログ・ボックスと、選択したデータベースのオブジェクトに関する情報を表示します。このアイコンはデータ・ソース・オブジェクトがアクティブでないと使用できません。


「表リレーション設定」アイコン

「表リレーション設定」ダイアログ・ボックスを表示します。このアイコンは、関係付ける「データ・ソース」パネルに、複数の表がないと使用できません。


「SQL表示」アイコン

「SQL表示」ダイアログ・ボックスと、アクティブな問合せのSQLを表示します。


「列順序」アイコン

「表示」ダイアログ・ボックスを表示します。


「列定義」アイコン

「列定義」ダイアログ・ボックスを表示します。


「ソート」アイコン

「ソート」ダイアログ・ボックスを表示します。


「And」アイコン

AND演算子を条件に挿入します。このアイコンは、「条件」フィールドがアクティブでないと使用できません。「条件」フィールドに直接ANDと入力することもできます。


「Or」アイコン

OR演算子を条件に挿入します。このアイコンは、「条件」フィールドがアクティブでないと使用できません。「条件」フィールドに直接ORと入力することもできます。


「Not」アイコン

NOT演算子を条件に挿入します。このアイコンは、「条件」フィールドがアクティブでないと使用できません。「条件」フィールドに直接NOTと入力することもできます。


「条件グループ解除」アイコン

AND、OR、NOTなどの論理演算子で結合された条件グループを解除します。このアイコンは、「条件」パネルで論理演算子を選択していないと使用できません。


「アクセプト」アイコン

アクティブな条件の妥当性を検査し、確定します。このアイコンは、「条件」フィールドがアクティブでないと使用できません。「条件」フィールドがアクティブな場合は、[Enter]キーや[Return]キーを押しても、妥当性の検査と確定の処理になります。


「取消」アイコン

現行の条件を取り消します。このアイコンは、「条件」フィールドがアクティブでないと使用できません。


「列ペースト」アイコン

「列ペースト」ダイアログ・ボックスを表示します。このアイコンは、「条件」フィールドがアクティブでないと使用できません。


「関数ペースト」アイコン

「関数ペースト」ダイアログ・ボックスを表示します。このアイコンは、「条件」フィールドがアクティブでないと使用できません。


データ型について

  関連項目

Query Builderの主なデータ型は、次のとおりです。

CHAR またはVARCHAR2	CHARは、固定長の文字データに使用します。 最大サイズで255バイト、デフォルト・サイズは1バイトです。VARCHAR2は、最大サイズ2000バイトの可変長の文字列に使用します。VARCHAR2の場合、サイズを指定してください。
NUMBER	データベース列に数値（整数、小数、その他の型の数値）があることを表します。NUMBER型の数字では計算ができますが、CHAR型の数字では計算できません。
DATE	データベース列に日付値があることを表します。日付の有効範囲は、西暦の紀元前9999年の1月1日から、西暦9999年の12月31日までです。デフォルト・フォーマットはDD-MON-YYです。'01-JAN-92'のように表します。
NUMBER(p,s)	p(小数の精度)の範囲は1から38です。s(スケール)の範囲は-84から127です。保存される桁数は小数の精度で決まります。スケールは小数点の右側の桁数を表します。スケールが負のとき実際のデータは、小数点の左側の指定桁数でまるめられます。たとえば、(10, -2)と指定すると結果は100の位で四捨五入されます。
その他、Query Builderでは、以下のOracleデータ型を一定の範囲でサポートしています。

LONG	LONG列には、2ギガバイト(または231-1)までの可変長英数字データを保存できます。Query Builderの問合せにLONGをインクルードすると、最初の2000文字が表示されます。
RAW	RAWバイナリ・データです。最大サイズは255バイトです。値は16進文字で入力します。値は16進値で表示されます。RAW型ではサイズを指定してください。
LONG RAW	LONG RAWでは、最大2ギガバイトのRAWバイナリ・データを表示します（「結果」ウィンドウには16進で表示される）。LONG RAW型の範囲はRAW型と同じです。
注意:Query Builderでは、条件と式が比較時に異なるデータ型を参照するデータ型の変換もできます。詳細は『Oracle8 Server SQLリファレンス』を参照してください。


「データ型」アイコン

  関連項目

以下に示すデータ型は、データ・ソース・オブジェクトのすべての列で使用できますが、これらはQuery Builder作業領域のオブジェクトの右側列にあるアイコンに表示されます。

データ型	アイコン	説明
文字		CHARACTER型は、固定長の文字データに使用します。最大サイズで255バイト、デフォルト・サイズは1バイトです。 注意: 数字はCHARACTER型でも表せますが、計算には数値データ型を使用してください。
Varchar2		VARCHAR2データ型は、最大サイズ2000バイトの可変長文字列に使用します。VARCHAR2型ではサイズを指定してください。
Number		NUMBER型は、整数や浮動小数点データに使用します。整数データの場合は、精度長（桁数）を指定します。浮動小数点データ型は、小数に使用します。データ型を列に指定するときは、精度とスケールの両方を指定してください。 精度（数値の合計桁数）の範囲は、1から38です。 スケール（小数点の右側の桁数）の範囲は、-84から127です。 スケールが負のとき、実際のデータは小数点の左側の指定桁数でまるめられます。  たとえば、(10, 2)は、小数点以下が2桁の10桁の数値を表します。(10, -2)と指定すると、10桁の整数が100の位で四捨五入されます。
Date		DATE型はどのような種類の日付にも使用できます。西暦の紀元前4712年の1月1日から、西暦4712年の12月31日までです。デフォルト・フォーマットはDD-MON-YY。 '01-JAN-92'のように表します。
Long		LONG型は、最大2ギガバイトの可変長の英数字データのロング・テキスト・フィールドに使用します。
Raw		RAW型はRAWバイナリ・データに使用します。最大サイズは255バイトです。値は16進の文字列で指定します。値は16進で表示されます。RAWデータにはサイズを指定してください。
Long Raw		LONG RAW型は、最大2ギガバイトのRAWバイナリ・データ（指定と表示は16進で行われる）に使用します。LONG RAW型ではサイズの指定は不要です。
MLSLABEL		MLSLABEL型は、機密性の高いオペレーティング・システムで使用するラベルのバイナリ・フォーマットの保存に使用します。Trusted Oracleでは、ラベルを媒体として情報にアクセスします。標準Oracle Serverを使用する場合は、このデータ型で列の定義もできます。Trusted Oracle、このデータ型およびラベルの詳細は、『Trusted Oracle8 Server管理者ガイド』を参照してください。


データ・ソース・オブジェクトの表記

  関連項目

以下に示したのは、リレーションでリンクされた2つのデータ・ソース・オブジェクトの例です。

アイコン、インジケータまたはこれらのオブジェクトの一部をクリックすると説明が表示されます。


オブジェクト型インジケータ

データ・ソース・オブジェクトの左上角のアイコンが、その種類を表します。

  表

  ビュー

  問合せ

  スナップショット

  シノニム


オブジェクト・タイトル

データ・ソース・オブジェクトの名前です。オブジェクト・タイトルをクリックすると名前を変更できます。


コメント・インジケータ

このアイコンは、このオブジェクト（あるいは列）に、コメントが添付されていることを表します。このアイコンをダブルクリックすると「情報」ダイアログ・ボックスがオープンします。 このダイアログ・ボックスにコメントが表示されます。


列名

このオブジェクトにある1つの列の名前です。列名をダブルクリックすると、問合せにその列がインクルードされます。


データ型インジケータ

これらのアイコンは、それぞれの列のデータ型を表します。 アイコンをクリックしたままにすると、ポップアップ・メニューが表示され、別のデータ型を選択できます。


リレーション線

2つの列の間に引かれる灰色の線です。 これは線で結ばれた列の間にリレーションが設定されていることを表します。線は外部キーから主キーに引かれます。


自己リレーション・インジケータ

このアイコンは、この列（外部キー）と同じ表にある別の列（主キー）との間に自己リレーションが設定されていることを表します。


主キー

太字で表示される列名。 列がオブジェクトの主キーであることを表します。


外部キー

イタリック体で表示される列名。 このキーが、別の列の主キーに関係付けられた外部キーであることを表します。外部キーを定義するには、2つの列の間にリレーションを設定する必要があります。


 表をQuery Builderの作業領域に移動するには、目的の表を選択して「インクルード」をクリックする方法の他に、表をダブルクリックする方法があります。連続した範囲にある複数の表を指定するには、[Shift]キーを押しながら、その範囲にある最初と最後の表をクリックします。


リレーションはこのダイアログ・ボックスで設定できますが、できるだけマウスによる操作で作成してください。この方法で作成すると、Query Builderによってリレーション行が自動的にアクティブ化および非アクティブ化されます。


列に強調表示のチェック・マークが付いている場合には、その列がSELECT文の中にあり、問合せ結果の中に表示されることを示しています。また、列にグレー表示のチェック・マークが付いている場合は、列がソートまたはグループ検索条件として使用されることを示しています。


一般に、Query Builderでは、Oracleデータベースの暗黙的な変換機能を使用して解釈できる列を関連付けることができます。暗黙的な変換についての技術的な説明については、『Oracle8 Server SQLリファレンス』を参照してください。


「定義内容」フィールドの数式は、一般に関数または演算および操作の行われるデータベース列で構成されます。列名が複数の表にある場合、表の名前も必ず参照し、列名とはピリオドで区切ってください。列名が一意の場合、列名のみでかまいません。


表の名前を変更しても、データベースに登録してある名前は変更されません。新しい名前はアクティブな問合せにのみ有効であり、その問合せを保存するとその名前も保存されます。


「表リレーション設定」ダイアログ・ボックスを表示するには、アイコン・バーの [image] をクリックします。


「データ表選択」ダイアログ・ボックスを表示するには、アイコン・バーの [image] をクリックします。


「表を改名」ダイアログ・ボックスを表示するには、アイコン・バーの [image] をクリックします。


表から列オブジェクトを選択すると、Query Builderでは問合せで表の別名を自動的に使用します。同じように、「条件」フィールドに列オブジェクトを入れてその条件を受け入れると、Query Builderでは適切な表の別名を自動的に条件に挿入します。


列を選択（または選択解除）するには、次のいずれかの方法を使用します。

•	列の横のチェックボックスをチェックします（またはチェックを外します）。

または

列名をダブルクリックします。


Query Builder関数について

例 	関連項目

関数は、データ項目を操作し結果を返す演算子に似ています。関数が演算子と異なる点は、引数を伴うということです。関数は任意数の引数を対象に（引数がなくても）操作できます。関数名を列に関連付けると、Query Builderでは列の値に対して定義された操作が行われます。

Query Builderにおいて、問合せで使用できる関数は次のとおりです。

•	数値関数

•	文字関数

•	数値を返す文字関数

•	変換関数

•	日付関数

•	グループ関数

•	その他の関数

追加情報: その他の関数の詳細は、『Oracle8 Server SQLリファレンス』を参照してください。


関数および引数

例 	関連項目

関数は特定の列でデータを操作するために使用します。各関数は1つ以上の引数を取ることができます。関数にはカッコが付いており、カッコ内の式が引数です。引数は、関数が使用する情報を提供します。

たとえば、ROUNDという関数があります。この関数は数値を指定された桁に四捨五入します。式ROUND (CREDIT_LIMIT, -2)を入力すると、Query Builderは、CREDIT_LIMITの各値を100の位に四捨五入します。ROUND(CREDIT_LIMIT, 1)を入力すると、CREDIT_LIMITの各値を小数1桁に四捨五入します。

引数で使用できる値は次のとおりです。

引数値	説明
char,set,search,	一重引用符で囲まれた文字定数。
replace	マーク、または式。文字データを返します。
d,e	一重引用符で囲まれた日付定数、または日付データを返す式。
m,n	数値定数、または数値データを返す式。
x	引数のデータ型は、関数の機能性によって変わります。
expr	任意のデータ型の式。
fmt	データの表示方法を変更したりSchema Builderのフィールドにデータを入力するために使用される書式、またはデフォルト以外の書式にする条件。


数値関数

関連項目

数値関数は、数値データを受け取り、数値データを返します。列および条件を定義する際に使用します。

関数(引数)	説明
ABS(n)	nの絶対値。
CEIL(n)	n以上の整数で最小の値を返します。
COS(n)	n（ラジアンで表される角度）のコサインを返します。
COSH(n)	nの双曲線余弦（ハイパーボリック・コサイン）を返します。
EXP(n)	指数表記。e (2.71828183...)のn乗を返します。
FLOOR(n)	n以下の整数で最大の値を返します。
LN(n)	n>0のとき、nの自然対数を返します。
LOG(m,n)	mを底として、nの対数を返します。底mは、0または1以外の正の整数、nは正の整数を返します。
MOD(m,n)	mをnで割った余りを返します。
POWER(m,n)	mのn乗を返します。nが整数でなければ、切り捨てられます。
ROUND(n[,m])	nを小数点以下m桁に四捨五入します。mが省略されると小数点以下桁数は0となります。mが負数であれば、小数点より左の桁で四捨五入されます。
SIGN(n)	n<0であれば-1。n=0であれば0、n>0であれば1を返します。
SIN(n)	n（ラジアンで表される角度）のサインを返します。
SINH(n)	nの双曲線正弦（ハイパーボリック・サイン）を返します。
SQRT(n)	nの平方根を返します。n<0ならばNULLを返します。
TAN(n)	n（ラジアンで表される角度）のタンジェントを返します。
TANH(n)	nの双曲線正接（ハイパーボリック・タンジェント）を返します。
TRUNC(n[,m])	nを小数点以下m桁に切り捨てます。mを省略すると小数点以下0桁となります。mが負ならば小数点より左側の桁で切り捨てられ、その桁は0となります。


文字関数

関連項目

文字関数は、文字データを受け取り、文字データを返します。列および条件を定義する際に使用します。

関数(引数)	説明
CHR(n)	データベース文字セットでバイナリnに対応する文字を返します。
CONCAT(char1, char2)	char1とchar2を連結した文字列を返します。この関数は、連結演算子（||）と同等の意味を持ちます。
INITCAP(char)	charで指定される各語の先頭文字を大文字にして返します。各語間はブランクまたは英数以外の文字で区切られます。
LOWER(char)	charの全文字を小文字にして返します。
LPAD(char1, n[,char2])	char1の左側に文字列char2を必要数追加して、n文字にします。char2の指定がなければ、ブランクが使用されます。
LTRIM(char[, set])	charの先頭から、setに含まれない文字が最初に出現する以前の文字を削除して返します。setのデフォルトは' '（1個のブランク）です。
NLS_INITCAP (char[, nlsparams])	charで指定される各語の先頭文字を大文字にして返します。各語間はブランクまたは英数以外の文字で区切られます。nlsparamsで指定するパラメータには、NLS_SORT=sort形式を使用できます。sortはセッションでの使用言語によるソート順序またはBINARYです。BINARYが指定されるとcharを返します。ソート順序の詳細は、『Oracle8 Server概要』を参照してください。
NLS_LOWER(char [,nlsparams])	charの全文字を小文字にして返します。 引数nlspa-ramsについては、NLS_INITCAPを参照してください。
NLS_UPPER(char [,nlsparams])	charの全文字を大文字にして返します。引数nlspa-ramsについては、NLS_INITCAPを参照してください。
REPLACE(char, search[, replace])	char内の文字定数searchをすべてreplaceに置き換えて返します。replaceを省略すると、searchはすべて削除されます。
RPAD(char1,n[, char2])	char1の右側に文字列char2を必要数追加して、n文字にします。char2の指定がなければ、ブランクが使用されます。
RTRIM(char[, set])	charから、setに含まれない文字が最後に出現した後の文字を末尾まで削除して返します。setのデフォルトは' '（1個のブランク）です。
SOUNDEX(char)	char内の単語の音を表す値を返します。
SUBSTR(char, m[,n])	charから、m文字目からn文字分を返します。nを省略すると、m文字目からcharの末尾までを返します。
SUBSTRB(char, m[,n])	引数mおよびnを文字数でなくバイト単位で指定する以外はSUBSTRと同じです。1バイトのデータベース文字セットの場合は、SUBSTRBとSUBSTRは同等の意味を持ちます。
UPPER(char)	charの全文字を大文字にして返します。


数値を返す文字関数

関連項目

文字関数で数値データを返すことができます。列および条件を定義する際に使用します。

省略形	説明
ASCII(char)	charの最初のキャラクタのASCII値を返します。
INSTR(char1, char2[,n[,m]])	char1内で、n文字目から検索を開始してm番目にchar2が出現する位置を返します。mを省略すると、1が指定されたとみなされます。nを省略すると、1が指定されたとみなされます。n>1の場合でも、char1の先頭文字を基準にした出現位置が返されます。
INSTRB(char1, char2[,n[,m]])	nおよび戻り値に文字数でなくバイト単位を使用する以外はINSTRと同じです。1バイトのデータベース文字セットの場合は、INSTRBとINSTRは同等の意味を持ちます。
LENGTH(char)	charの長さを文字数で返します。
LENGTHB(char)	charの長さを文字数でなくバイト単位で示す以外はLENGTHと同じです。charがNULLの場合、NULLを返します。1バイト・データベース・文字セットの場合は、LENGTHBとLENGTHは同等の意味を持ちます。
NLSSORT(char[, nlsparams])	charをソートするために使用する文字列を返します。nlsparamsで指定するパラメータには、NLS_SORT=sort形式を使用できます。sortはセッションでの使用言語によるソート順序またはBINARYです。BINARYが指定されるとcharを返します。ソート順序の詳細は、『Oracle8 Server概要』を参照してください。


変換関数

関連項目

変換関数は、列および条件を定義する際に、あるデータ型のデータを別のデータ型に変換するために使用します。

省略形	説明
TO_CHAR(d[,fmt])	dを、char値fmtで指定する書式のchar型に変換。fmtを省略すると、dはQuery Builderのデフォルトの日付書式YY-MM-DDのchar型に変換されます。
TO_CHAR(n[,fmt])	nを、char値fmtで指定する書式のchar型に変換。fmtを省略すると、nの桁数を格納するために必要な桁数分のchar型に変換されます。
TO_DATE(char[,fmt])	charで指定される日付を日付型に変換。fmtは、charの書式を指定するchar型です。fmtを省略すると、charはQuery Builderのデフォルトの日付書式YY-MM-DDになります。
TO_DATE(n,[fmt])	数値を日付に変換。fmtはTO_DATEで使用される場合には、日付型を生成する書式（例:JまたはMM）を指定する必要があります。
TO_LABEL(char[,fmt])	CHARデータ型またはVARCHAR2データ型で、fmtで示される書式のラベルを含むcharの文字値をMLSLABELデータ型の値に変換。fmtが指定されなければ、charはデフォルトのラベル書式を指定する必要があります。
TO_MULTI_BYTE(char)	char内の1バイト文字をすべて、対応するマルチバイト文字に変換した形でcharを返します。対応するマルチバイト文字のない1バイト文字は、出力文字中ですべて1バイト文字になります（この関数は、使用するデータベースのキャラクタ・セットに両方のタイプが含まれる場合のみ、利用価値があります）。
TO_NUMBER(char)	数値を含む文字データであるcharをnumber型に変換して返します。
TO_SINGLE_BYTE(char)	char内のマルチバイト文字をすべて、対応する1バイト文字に変換した形でcharを返します。対応する1バイト文字のないマルチバイト文字は、出力文字中ですべてマルチバイト文字になります（この関数は、使用するデータベースのキャラクタ・セットに両方のタイプが含まれる場合のみ、利用価値があります）。


日付関数

関連項目

日付関数は、数値データを返すMONTHS_BETWEEN以外はすべて日付データを返します。列および条件を定義する際に使用します。

省略形	説明
ADD_MONTHS(d,n)	日付dにnか月を加算します。
LAST_DAY(d)	日付dを含む月の末日。
MONTHS_BETWEEN (d,e)	日付dとeの間の月数。dがeより後であれば結果は正数、前であれば負数になります。
NEW_TIME(d,a,b)	タイムゾーンaにおける日時dをタイムゾーンbで示します。aおよびbは文字列で表され、その意味は次のとおりです。
AST,ADT:	大西洋標準時、大西洋夏時間
BST,BDT:	ベーリング標準時、ベーリング夏時間
CST,CDT:	中央標準時、中央夏時間
EST,EDT:	東部標準時、東部夏時間
GMT:	グリニッジ標準時
HST,HDT:	アラスカ・ハワイ標準時、アラスカ・ハワイ夏時間
MST,MDT:	山地標準時、山地夏時間
NST:	ニューファンドランド標準時
PST,PDT:	太平洋標準時、太平洋夏時間
YST,YDT:	ユーコン標準時、ユーコン夏時間
NEXT_DAY (d,char)	日付d以降に最初に来る、charで指定される曜日の日付。
ROUND(d[,fmt])	丸め単位fmtで指定される書式で丸めた値dを返します。fmtを省略すると、最も近い日を返します。
SYSDATE	現在の日付と時刻を返します。引数は不要です。
TRUNC(d[,fmt])	時刻を切り捨て単位fmtに切り捨てた値dを返します。fmtが指定されなければ、時刻が削除されます。
追加情報: ROUNDおよびTRUNC日付関数で使用する書式モデルの表については、『Oracle8 Server SQLリファレンス』を参照してください。


グループ関数

関連項目

グループ関数は、行ごとの1つ1つの結果ではなく、行のグループに基づくデータを取り出します。グループ関数は、平均、カウント、合計および標準偏差のような演算を行います。

またグループ関数を使用して新しい列を定義することもでき、他の列を表示しなければ、結果全体は1つのグループとして扱われます。他の列を表示すると、結果はより小さなグループに分割されます。グループ関数は条件で使用できる（ただし比較演算子を伴う場合のみ）ため、結果全体は1つのグループとして扱われます。たとえば、条件SALARY > AVG(SALARY)は、現在の行のSALARYの値がすべての行のSALARYの平均よりも大きい場合に真です。

グループ関数ではDISTINCTまたはALLオプションが使用できます。DISTINCTではグループ関数は表現の異なる関数のみを考慮します。たとえば、1、1、1、3の平均は1.5ですが、DISTINCTでの平均は2になります。ALLを使用すると、グループ関数は複製も含めてすべての値を考慮します。

以下のグループ関数ではすべて、COUNT(*)を除くNULL値をスキップします。exprがリストされていれば、引数のデータ型は、文字、数値、日付のいずれでもかまいません。

関数(引数)	説明
AVG([DISTINCT|ALL]n)	nの平均値、NULL値は無視します。
COUNT([DISTINCT|ALL]expr)	exprがNULLではない行の数。
COUNT(*)	表の行数。重複行およびNULL値を持つ行も含みます。
GLB([DISTINCT|ALL]label)	labelの最大下限を返します。
LUB([DISTINCT|ALL]label)	labelの最小上限を返します。
追加情報: GLBとLUBはMLSLABELデータ型の値を返します。GLBとLUB関数の詳細は、『Trusted Oracle8 Server管理者ガイド』を参照してください。

関数(引数)	説明
MAX([DISTINCT|ALL]expr)	exprの最大値。
MIN([DISTINCT|ALL]expr)	exprの最小値。
STDDEV([DISTINCT|ALL]n)	nの標準偏差、NULL値は無視。n-1（標本）計算を基にします。
SUM([DISTINCT|ALL]n)	nの値の合計。
VARIANCE([DISTINCT|ALL]n)	nの分散、NULL値は無視します。


その他の関数

関連項目

Query Builderは、以下の関数も使用できます。

関数(引数)	説明
USER	現在のOracleユーザーの名前を返します。引数は不要です。
DECODE(expr,search1, replace1[,search2, replace2,]...[default])	exprがいずれかのsearchと同等であれば、直後のreplaceを返します。同等でなければ、defaultを返します。defaultが指定されず、一致する値がなければ、NULLを返します。exprはいずれのデータ型でもかまいませんが、searchは、このデータ型と同じである必要があります。戻り値は、最初の戻り値と同じデータ型になります。
GREATEST(expr1,expr2,...)	リストの中で最大の値を返します。値expr1より後のすべてのexprは、比較が行われる前に、expr1と同じデータ型に変換されます。
GREATEST_LB(label[,label]...)	ラベルのリストの下限の最大値を返します。各labelは、MLSLABELまたはRAW MLSLABELのいずれかのデータ型であるか、デフォルトのラベル形式で引用符に囲まれたリテラルを指定する必要があります。戻り値のデータ型はRAW MLSLABELとなります。
LEAST(expr1,expr2,...)	リストで最小の値を返します。値expr1より後のすべてのexprは、比較が行われる前に、expr1と同じデータ型に変換されます。
LEAST_UB(label[,label]...)	ラベルのリストの上限の最小値を返します。各labelは、各labelは、MLSLABELまたはRAW MLSLABELのいずれかのデータ型であるか、デフォルトのラベル形式で引用符に囲まれたリテラルを指定する必要があります。戻り値のデータ型はRAW MLSLABELとなります。
NVL(x,expr)	XがNULLであればexprを返します。xがNULLでなければxを返します。xおよびexprはいずれのデータ型でもかまいません。戻り値は、xと同じデータ型になります。
追加情報: GREATEST_LBとLEAST_UBGLB関数の詳細は、『Trusted Oracle8 Server管理者ガイド』を参照してください。


 内部結合関係について

  関連項目

内部結合関係は、表を表自体に関係付けます。内部結合関係は、同じ表に含まれる2つの列の間に親子関係を確立するために、限定的かつ、固有に使用されます。たとえば、内部結合関係を使用して子会社を親会社に関係付けたり、社員をその上司に関係付けたりすることができます。

内部結合関係は、表の各列が相互に対応していなければ、有効ではありません。たとえば、サンプル・データベースのEmployee表では、Manager IDがそのマネージャのEmployee IDと同じになっています。このため、内部結合関係アイコンがManager ID列に表示されています。


内部結合関係の作成

  関連項目

内部結合関係を作成するには:

1	Query Builderの「リレーション設定」ダイアログ・ボックスに、選択した表とのリレーションが定義されている表のリストが表示されます。

2	表名をクリックします。

3	「インクルード」をクリックします。

4	「OK」をクリックします。

5	上記の手順を同じ表名に繰り返します。

6	関係付けられた表のコピーには、自動的に別名が割り当てられます。元の表名に適合するように、表名を変更します。

注意: データ・ディクショナリ内で、すでに内部結合関係が識別されていれば、表内で関係付けられた2つの列と別名はリレーション線で結合されています。データ・ディクショナリ内で内部結合関係が識別されていない場合は、一時的なリレーション線を引いて、表内の対応する2つの列と別名を結合し、内部結合関係を作成できます。


 単純関係の作成

  関連項目

マウスを使用して関係を作成するには:

1	問合せウィンドウで、関係付ける表をオープンします。

2	表が表示された状態で、関係付ける列を選択します（外部キー）。

3	マウス・ボタンを押しながら、2番目の表の関係付ける列（主キー）にカーソルをドラッグし、関係線を引きます。

4	ターゲット列が強調表示された後、マウス・ボタンを離して関係線をアンカーします。デフォルトでは、関係は非アクティブになっています（線は灰色で表示されます）。

「リレーション設定」ダイアログ・ボックスを使用して関係を作成するには:

1	「リレーション設定」ダイアログ・ボックスで、元の列（A->）とターゲット列（->B）の名前を入力します。注意 2つの列の間に関係線が引かれます。

2	「クローズ」をクリックします。

ショートカットを使用して関係を作成するには:

1	「リレーション設定」ダイアログ・ボックスで、フィールドAの内側をクリックします。

2	問合せウィンドウで、列を選択します。フィールドAに、表名と列名が自動的に配置されます。

3	この手順をフィールドBで繰り返します。


複合関係の作成

  関連項目

複合関係は、1つの表の複数の列を他の表の複数の列と結合します。たとえば、品目表にある受注番号のIDと品目IDの2つの列を、品目リスト表にある同名の2つの列と結合します。

複合関係を作成するには:

1	Query Builder作業領域で、アイコン・バーの [image] をクリックします。

2	結合する2つの表を組み込みます。

3	関係付ける列を選択します（外部キー）。

4	マウス・ボタンを押しながら、2番目の表の関係付ける列（主キー）にカーソルをドラッグします。カーソルの動きに合わせて、関係線が移動することに注意してください。

5	ターゲット列が強調表示された後、マウス・ボタンを離して関係線をアンカーします。デフォルトでは、関係は非アクティブになっています（線は灰色で表示されます）。

複合関係は、問合せの中で該当する数のみ使用することができます。また、複合関係には、他の関係で使用されている列も組み込むことができます。


完全な表名と列名を入力する必要があります（表名と列名はピリオドで区切ります）。A->は表の外部キーを表し、->Bは表の主キーを表します。追加の主キーと外部キーはカンマで区切ります。


不一致関係の作成

  関連項目

不一致関係（外部関係）を作成するには:

1	問合せウィンドウで、表を結合する関係線をクリックします。関係線がない場合は、2つの表の間に単純関係を作成します。

2	「リレーション設定」ダイアログ・ボックスで、単純関係に含まれるすべてのレコードを取り出すか、両方の表に対応する値を持つ行のみを取り出すかのどちらかの表示オプションを選択します。

注意: 0（ゼロ）の値を返す行は、不一致の行とは異なります。「不一致を抑制」はNULL値を返す行のみに作用し、0を返す行には作用しません。この機能は、販売品目のない注文、注文したことがない顧客、顧客を持たない営業部員など、表に値が入力されていないデータを表示するときに使用します。


不一致の行の削除

  関連項目

不一致関係を削除するには:

1	Query Builder作業領域で、ターゲット表を結合する関係線をクリックします。

2	「リレーション設定」ダイアログ・ボックスで、「不一致を抑制」ラジオ・ボタンを選択します。

3	「OK」をクリックします。


不等価関係の使用

  関連項目

「リレーション設定」ダイアログ・ボックスで、不等価関係を作成するには:

  演算子を選択します。

不等価関係を設定すると、Query Builderでは、関係線上にアイコン（不等号）が表示されます。


関係の削除

  関連項目

関係を削除するには:

1	問合せウィンドウで、2つの表列を結合する関係線をクリックします。

2	両方の列名と関係線がハイライト表示されたら、[Del]キーを押します。


不一致（NULL）の行について

  関連項目

Query Builderでは、問合せで関係を使用するときに、不一致の行を取り出すかどうかを選択できます。関係によって結合された表間で、1つの表の値に対してもう1つの表に対応する値がない場合、不一致の行が生じます。SQLのユーザーには、"外部結合"と呼ばれる問合せ条件としてよく知られています。通常、不一致の行はNULL値を戻します。

注意: 0（ゼロ）の値を返す行は、不一致の行とは異なります。「リレーション設定」ダイアログ・ボックスの「不一致を抑制」オプションはNULL値を返す行のみに作用し、0を返す行には作用しません。この機能は、品目のない注文など、表に値が入力されていないデータを表示するときに使用します。不一致関係を使用するときは、不一致のレコードを表示するための片方のみを選択できます。


新規問合せの作成

  関連項目

新規問合せを作成するには:

1	Query Builder作業領域で、アイコン・バーの [image] をクリックします。

2	データを取り出す表をダブルクリックします。

3	「クローズ」をクリックしてダイアログ・ボックスをクローズし、表を表示します。

4	各列を選択します。選択した各列の横のチェックボックスに、チェック・マークが表示されます。すべての列を組み込むには、表タイトル・バーのチェックボックスをチェックします。ヒント

5	1つ以上の条件を入力して、問合せを詳細化します。

6	「OK」をクリックしてQuery Builderをクローズします。


使用可能な表の表示

  関連項目

問合せの中で使用できる表を表示するには:

1	Query Builder作業領域で、アイコン・バーの [image] をクリックします。

2	「表示」チェックボックスを使用して、タイプ別に表をソートします。


表の消去

Query Builder作業領域から表を消去するには:

1	問合せウィンドウで表をクリックします。

2	アイコン・バーの [image] をクリックします。Query Builder作業領域から表が削除されます。をクリックすると、再び表を問合せに入れることができます。

表を削除または消去しても、データベースから表が削除されるわけではなく、単に問合せから表が削除されるのみです。


表の改名

  関連項目

表を改名するには:注意

1	アイコン・バーの [image] をクリックします。

2	「表改名」ダイアログ・ボックスで、改名する表を「処理可能な表」リストから選択します。

3	「新規名」フィールドの内側をクリックします。

4	不要な情報を削除します。

5	表の新規名を入力します。新規名の長さは30文字までです。

6	「定義」をクリックします。

7	「OK」をクリックします。

Query Builder作業領域で表を改名しても、その基礎となる表では対応する名前は変更されません。新規名は、アクティブな問合せのみ有効となります。


表および列に関する情報とコメントの表示

データベースに格納されている情報およびコメントを表示するには:

  Query Builder作業領域内で、表に関する情報を参照するには、表ヘッダーの右にあるアイコンをダブルクリックします。列に関する情報を参照するには、各列の最初のアイコンをダブルクリックします。


問合せからの列の削除

  関連項目

1つの問合せから1つの列を削除するには:

  Query Builder作業領域で、列を選択します。表内のチェック・マークが消えます。


問合せの行のカウント

問合せの実行前に問合せが返す行数をカウントするには:

  Query Builder作業領域で、アイコン・バーの [image] をクリックします。警告ボックスが表示され、取り出される行数が表示されます。


問合せに条件を追加

  例	  関連項目

問合せに条件を追加するには:

1	条件パネルのブランクの条件フィールドをクリックして、アクティブにします。プラス記号がカーソル矢印の隣に表示されます。マウス・ポインタを使用して、自動的にポイント、クリックして、フィールドの選択を行うことができます。

2	Query Builder作業領域で、条件を適用する列を選択します。使用可能なすべての列のリストを表示するには、アイコン・バーの [image] をクリックします。ヒント

3	アイコン・バーから、該当する「演算子」をクリックします。条件に関数を追加するには、アイコン・バーの [image] をクリックします。

4	演算子の後の条件式の右側に該当する値を入力します。その他の条件を追加するには、[Shift]キーを押しながら[Enter]キーを押し、カーソルを新規行に移動します。

5	式が完成したら、条件パネルの枠内で条件フィールド以外の場所をクリックして条件フィールドを非アクティブにするか、アイコン・バーの [image] をクリックします。条件パネルを消してやり直すには、アイコン・バーの [image] をクリックします。


条件について

  例 	  関連項目

条件は、必要な情報と不要な情報を選り分けるために、問合せの中に配置するテキスト句です。条件を使用すると表の列を取り出すことができるので、問合せに要する時間が短縮され、問合せを絞り込むことができます。ヒント

たとえば、問合せに従業員表を組み込み、従業員名、給与およびジョブ・タイトルの列を選択します。問合せに条件を組み込まない場合には、データベースに対して実際に「従業員表の従業員名、給与およびジョブの列からすべての従業員のデータを選択する」よう求めることになります。そこで、元の要求に次のような条件を追加できます。

•	月給が1000ドルを超え、2000ドル未満。

•	名字が「Smith」。

•	ジョブがマネージャ以外。

条件の中で、上記の例で示したワードをすべて入力するかわりに、「演算子」を使用すると、条件はほとんど1つの式のように表すことができます。たとえば、3000ドルを超える給与を得ている従業員を指定するには、次のように入力します。

SALARY > 3000

また、関数を使用して、複雑な条件を作成することもできます。


条件の例

  関連項目 	  すべての例

カリフォルニア州に関するデータのみを表示する問合せを作成すると仮定します。

1	条件フィールドをクリックしてアクティブにします。

2	Query Builder作業領域で、該当する表の「State」列を選択します。条件フィールドに「STATE」の表示が現れます。

3	等号（=）を入力します。

4	条件フィールド内の等号の右隣に'CA'を入力します。

条件は、STATE='CA'と表されているはずです。


演算子について

  関連項目

演算子とは、なんらかの演算を実行するときに使用する文字または予約語のことです。Query Builderでは、主に次の3種類の演算子が使用されます。

•	比較

•	算術

•	論理

注意: これらの演算子を基に、否定条件を作成することもできます。


比較演算子

  関連項目

比較演算子は、2つの値を比較するときに使用します。条件パネルで列名と値の間に演算子を挿入すると、Query Builderはその列のすべての項目を値と比較して、条件文が当てはまる行のみを返します。

たとえば、CREDIT_LIMIT列の値が6,000ドル未満の行のみを返すには、<（より小さい）演算子を次のように使用します。

CREDIT_LIMIT < 6000

Query Builderの比較演算子

演算子	使用方法
=	等しい
<>	等しくない
<	より小さい
<=	以下
>	より大きい
>=	以上
BETWEEN...AND...	2つの値の間
IN (LIST)	次のリストのいずれかのメンバーに等しい
IS NULL	NULL値。1つの列に値のない行は、NULL値を含む行と呼ばれます。


算術演算子

  関連項目

算術演算子は、数値および日付の列で計算を行うときに使用します。計算を処理する場合、Query Builderは最初に乗算または除算を評価し、次に加算または減算を評価します。

•	たとえば、式1+2x3では、最初に2と3を乗算し、その結果に1を足すので、最終的な結果は7になります。

このような優先順位のルールを上書きするには、式の一部をカッコの中に入れます。Query Builderは、カッコの中の式を最初に評価します。

•	たとえば、計算(1+2)x3では、(1+2)が最初に評価され、その結果に3を乗算するので、最終的な結果は9になります。

Query Builderの算術演算子

演算子	使用方法
+	加算
-	減算
*	乗算
/	除算


論理演算子

  関連項目

論理演算子（ブール演算子とも呼ばれます）には、AND、ORおよびNOTがあります。

•	ANDは、すべての条件に適合するデータのみを取り出すときに使用します。

•	ORは、指定した条件のうち少なくとも1つに適合するすべてのデータを取り出すときに使用します。

•	NOTは、演算子または条件を否定するときに使用します。

アイコン・バーには、論理演算子用のアイコンがあります。演算子のアイコンは、条件パネルがアクティブになっているとき、または「列定義」ダイアログ・ボックスがオープンしているときに使用できます。アイコン・バーの演算子をクリックすると、条件のテキストまたは定義済み列に演算子を挿入できます。


定義済み（および計算済み）列について

  例 	  関連項目

Query Builderがデータベースから取り出すデータを計算し、計算済みのデータを新規列（定義済みフィールドとも呼ばれます）として結果ウィンドウに表示することができます。これらの列は、問合せの他の列と同じように名前を付けたり、定義したり、表示したりできます。

Query Builderの問合せで定義済み列を使用すると、"もし～ならば（what if）"のシナリオ、予測、見積りおよび平方偏差や合計に対する割合などの分析を行うことができます。

注意: 集計関数を含む定義済み列（フィールド）を表示すると、Query Builderは対応するGROUP BY句を、集計関数を含まない他の表示される列に自動的に生成します。熟練したユーザーであれば、表示されない列でグループ化するためのGROUP BY列を手動で指定することもできます。

通常、列は「表に格納されたデータの列」と同義ですが、他の列の値から導出または算出された、1つの問合せ内のデータの新規列を表すこともあります。これらの算出された列は、導出済みフィールドまたは定義済みフィールドと呼ばれることがあります。たとえば、従業員表に、給与とコミッションという報酬を記述する2つの列を組み込む場合があります。これらの列の値を、給与とコミッションの合計を示す純支出（Net Pay）という新規列に組み合せる定義済み列を作成することができます。

定義済み列は、必要に応じて1つまたは複数のデータベース列の任意の組合せを基に作成できます。

定義済み列は問合せの中に存在し、データベースには存在しません。定義済み列を列として結果ウィンドウに表示することも、（他の定義済み列の作成に使用するときのように）非表示のままにしておくこともできます。

注意: 定義済み列は問合せの一部にすぎず、データベースに保存された表定義を変更することはありません。


定義済み列の削除

  関連項目

問合せから定義済み列を削除するには:

1	Query Builder作業領域で、アイコン・バーの [image] をクリックします。

2	削除する列名をクリックします。

3	「削除」をクリックします。


定義済み（および計算済み）列の例

  関連項目 	  すべての例

たとえば、10%の給与増加を見込んで、来年度の純支出（NET_PAY_NEXT）の予算を見積もるとします。「式」フィールドに次のように入力します。

(SALARY*1.1) + COMMISSION

また、給与とコミッションがそれぞれ10%増加した場合の純支出を検討したいときには、次のように入力します。

(SALARY+COMMISSION) * 1.1

NET_PAYは、SALARY+COMMISSIONなので、これは次の式と同じです。

NET_PAY * 1.1

現行の純支出と来年度の見込み予算の差額を表示する定義済み列を作成することもできます。この列をVARIANCEと名付け、次のように定義します。

NET_PAY_NEXT - NET_PAY

新規列を定義する場合、式に記述する基本列が、基礎となるデータベース内に存在しなくてもかまいません。ただし、最終的には、これらの列は基礎となる表内の列から導出されることになります。たとえば、VARIANCEは次の式と同じです。

((SALARY+COMMISSION) * 1.1) - (SALARY+COMMISSION)


ソート列の削除

  関連項目

ソート列を削除するには:

1	Query Builder作業領域で、「ソート」アイコンをクリックします。

2	「ソート済み列」リストで、削除する列名をダブルクリックします。


問合せデータのソート

  関連項目

問合せで取り出されたデータをソートするには:

1	Query Builder作業領域で、アイコン・バーの [image] をクリックします。

2	「使用可能列」リストで、ソートの基準にしたい列をダブルクリックします。ソート列は、問合せの中に組み込む必要はありません。

列のデフォルト（昇順）のソート順を変更するには:

1	「ソート済み列」リストで、強調表示する列をクリックします。

2	「降順」ラジオ・ボタンをクリックします。

3	「OK」をクリックします。


列の定義

  関連項目

表に新規列を定義するには:

1	列を定義する表をオープンします。

2	アイコン・バーの [image] をクリックします。

3	「定義済み列」ボックスの内側をクリックします。

4	新規列の名前を入力します。

5	「定義内容」ボックスの内側をクリックします。

6	列を定義する式を入力します。

7	「OK」をクリックします。


関数のペースト

  例 	  関連項目

条件に関数をペーストするには:

1	条件フィールドをアクティブにして、関数を挿入したい位置にカーソルを移動します。

2	アイコン・バーの [image] をクリックします。

3	「カテゴリ表示」チェックボックスを使用して、表示する関数のタイプをフィルタします。

4	リスト・ボックスから関数を選択します。

5	デフォルトの引数を組み込む場合は、「引数ペースト」チェックボックスをクリックします。

6	「OK」をクリックします。

7	条件フィールドで、使用する引数をデフォルトの引数の上から入力します。


関数の例（30文字を超える名前の取出し）

  関連項目 	  すべての例

メール・ラベルには長すぎる30文字以上の名前の全顧客名をリストしたいと希望しているとします。これらの名前をリストするには、LENGTH関数を使用して条件を作成します。LENGTHは、1つの文字列の文字数をカウントします。

この例では、LENGTH関数内の引数は、顧客表のNAME列です。したがって、関数は条件の中で次のように表されます。

LENGTH (NAME) > 30

Query Builderでは、この条件を使用してNAME列のすべての名前を評価し、フィールド長が30文字より大きい名前を戻します。


ネストした条件の作成

  関連項目

ネストした条件を作成するには:

1	「条件」フィールドに、比較演算子を使用して最初の式を入力します（例: TOTAL<1000）。ヒント

2	別の比較演算子を使用して2番目の式を入力します（例: EMP.LAST_NAME=SMITH）。

3	同じ比較演算子（=）を使用して3番目の式を入力します（例: EMP.LAST_NAME=JONES）。

4	2番目と3番目の式を選択します。

5	アイコン・バー.の [image] をクリックします。

6	アイコン・バーの [image] をクリックします。


条件パネルのサイズ設定

条件パネルをサイズ設定するには:

1	Query Builder作業領域スクロール・バーの左下にある黒い四角形をクリックし、カーソルをQuery Builder作業領域まで移動します。

2	条件パネルの幅を広げたり狭めたりするには、黒の太線を左または右にドラッグします。パネル全体が見えなくなると、スクロール・バーの左端に分割バーが表示されます。


条件の構文

  関連項目

条件の一般的な書式は次のとおりです。

[expression] [operator] [expression]

各項目の内容は次のとおりです。

expression	条件を定義する値を指定します。式には日付、文字、リテラル値、数字、列、関数およびデータベース列を指定できます。
operator	より大きい（>）、より小さい（<）、等しい（=）などの比較演算子を指定します。頻繁に使用される演算子は、「データ」メニューとアイコン・バーに表示されます。また、BETWEEN、LIKE、INなどの特殊な比較演算子も数多くあります。
日付値

日付を扱う場合、比較演算子は相対的な時間を表します。つまり、"より少ない"（<）は"より前"を意味します。

日付値は一重引用符で囲み、DD-MON-YY形式で指定する必要があります。DDはカレンダーの日付、MONは月、YYは年を表します。

文字値

文字の列では、演算子は英数字順を表します。（AはBより前にあるので、Aで始まる名前はBで始まる名前より"少なく"なります。それ以降も同様です。

リテラル値

リテラル値は、列名と区別するために一重引用符で囲む必要があります。データベース値と指定する値の間の比較には、大/小文字の区別があります。

数字値

入力する値がNUMBERデータ型の場合は、その数字のみを入力します。つまり、カンマや通貨記号（$）などの書式を使用することはできません。数字列の数字値を引用符で囲む必要はありません。

注意: 3種類の論理（ブール）演算子（AND、OR、NOT）を使用すると、複数または否定の条件を作ることもできます。

追加情報: さまざまなデータ型のOracle構文の詳細は、『Oracle8 Server SQLリファレンス』を参照してください。


否定条件の作成

  関連項目

否定条件を作成するには:

1	条件を作成します。

2	「条件」フィールドをクリックしてアクティブにします。

3	条件の論理演算子を選択します。

4	アイコン・バーの [image] をクリックします。

5	[Enter]または[Return]キーを押して、条件を確定します。

注意: NOT ANDは、すべての条件を満たす行を除く全行を戻します。NOT ORは、いずれかの条件を満たす行を除く全行を戻します。


問合せのSQL文の保存

  関連項目

問合せのSQL文を保存するには:

  問合せウィンドウで、「ファイル」 [image] 「保存」を選択して「別名保存」ダイアログ・ボックスを表示します。このダイアログ・ボックスで、ディレクトリとファイル名を指定できます。


列の順序の変更

 関連項目

問合せ結果内の列の表示順序を変更するには:

1	Query Builder作業領域で、アイコン・バーの [image] をクリックします。

2	「列順序」ダイアログ・ボックスで、「表示される列」リストの列をクリックし、目的の位置にドラッグします。先頭の列は一番左に、最後の列は一番右に表示されます。


問合せのSQL文の表示

  関連項目

問合せのSQL文を表示するには:

  Query Builder作業領域で、アイコン・バーの [image] をクリックします。

「SQLの表示」ダイアログ・ボックスは読込み専用です。SQL文を編集またはコピーすることはできません。


問合せへの列の追加

  関連項目

問合せに列を追加するには:

  問合せウィンドウで、表内の列を選択します。ヒント

チェックされた列は、SQL文および問合せ結果の両方に表示されることを示しています。SQL文に列を組み込み、表示結果の列を非表示にすることはできません。


 Query Builderメッセージ

関連項目

参照ボタンを使ってメッセージ範囲、ページの順にクリックし、目的のメッセージを見つけます。

BRW-15000からBRW-15092

BRW-15093からBRW-15146

BRW-15147からBRW-15196

BRW-15197からBRW-15390

BRW-15391からBRW-15424

BRW-15430からBRW-15520

BRW-15521からBRW-15569

BRW-15570からBRW-15912

BRW-15913からBRW-16551

BRW-16552からBRW-16660


BRW-15000: Query Builderのエラー・ハンドラで内部エラーが発生しました。

原因:	エラー・ハンドラを起動できませんでした。

処置:	サポート担当に連絡してください。


BRW-15001: <message number>

原因:	メッセージ・ファイルは見つかりませんでした。 またはこのバージョンのQuery Builderと互換性がありません。

処置:	Oracle HomeのQuery Builderディレクトリで適切なメッセージ・ファイルを確認してください。


BRW-15002: メモリーが足りません。

原因:	メモリー不足です。

処置:	文書を保存し、Oracle Query Builderを再始動してください。


BRW-15003: ファイル名: <name>が無効です。

原因:	ユーザーは無効なファイル名（たとえば、文字数が多い）を入力しました。

処置:	新しい、有効なファイル名を入力してください。


BRW-15004: 内部エラーです(<Value1>:<Value2>)。

原因:	内部エラーが発生しました。 Oracle Query Builderが信頼性のない状態にあります。

処置:	サポート担当に連絡してください。


BRW-15005: ファイル名が指定されていません。

原因:	「データをエクスポート」ダイアログ・ボックスでファイル名が入力されませんでした。

処置:	ファイル名を入力してください。


BRW-15006: データ表をDESCRIBEできません。

原因:	内部メッセージ。

処置:	サポート担当に連絡してください。


BRW-15007: SQL文が複雑すぎて表示できません。

原因:	MS Wｉｎｄｏｗｓで編集バッファ・サイズを超過しました.

処置:	問合せから列をいくつか除外して、SQL文のサイズを小さくしてください。


BRW-15009: Query Builderからログインする権限がありません。

原因:	接続権限がSYSTEM.BROWSER_PROFILE表で使用不可になっています。

処置:	DBAに連絡してください。


BRW-15065: 構文エラーです。

原因:	計算式を間違って入力しました。

処置:	式を入力し直してください。


BRW-15066: 式が複雑すぎます。

原因:	式が複雑すぎます。

処置:	式を簡単にしてください。


BRW-15068: ファンクション: <name>が無効です。

原因:	無効なファンクション名を入力しました。

処置:	有効なファンクションを指定してください。


BRW-15069: 列: <name>が無効です。

原因:	無効な列名を入力しました。

処置:	有効な列名を入力してください。


BRW-15070: 表: <name>が無効です。

原因:	無効な表名を入力しました。

処置:	有効な表名を入力してください。


BRW-15071: 所有者: <name>が無効です。

原因:	無効なユーザー名またはビジネス・エリア名を入力しました。

処置:	有効なユーザー名またはビジネス・エリア名を入力してください。


BRW-15072: 条件が無効です。

原因:	無効な条件を入力しました。

処置:	その条件を削除し、有効な条件を入力してください。


BRW-15073: 式が無効です。

原因:	無効な式を入力しました（通常スペース）。

処置:	有効な式を入力してください。


BRW-15074: 予約語: <name>は使用できません。

原因:	ユーザーは予約語を識別子として使用しました。

処置:	予約語を識別子にすることはできません。詳細は、ヘルプまたはドキュメンテーションを参照してください。


BRW-15075: ファンクション: <name>への引数の数が無効です。

原因:	ファンクションに入力した引数が、少なすぎるか多すぎます。

処置:	適切な引数を入力してください。詳細は、ヘルプまたはドキュメンテーションを参照してください。


BRW-15077: 名前があいまいです: <name>

原因:	あいまいな列名を入力しました。

処置:	固有の列名を入力してください。修飾子が必要である可能性があります。


BRW-15078: 名前: <name>が再定義されています。

原因:	すでに存在する名前を使用して列またはデータ表を再定義しました。

処置:	新しい名前を使用して列または表を定義してください。


BRW-15079: 問合せで選択された列がありません。

原因:	表示列を指定しないで問合せを作成または入力されました。

処置:	問合せを再実行する前に列を選択してください。


BRW-15080: 問合せで表が選択されていません。

原因:	表を指定せずに問合せを入力しました。

処置:	問合せを再実行する前に表を選択してください。


BRW-15081: START WITHにはCONNECT BYが必要です。

原因:	SQL文にSTART WITH句が入っていますが、CONNECT BY句がありません。

処置:	START WITH句を使用する場合、CONNECT BY句を指定してください。


BRW-15082: PRIORにはCONNECT BYが必要です。

原因:	SQL文にPRIOR句が入っていますが、CONNECT BY句がありません。

処置:	PRIOR句を使用する場合、CONNECT BY句を指定してください。


BRW-15083: ファンクション: <name>の引数の型が無効です。

原因:	入力した関数の引数の型が間違っています。

処置:	正しい引数の型を入力してください。


BRW-15084: コメントが終了していません。

原因:	読み込まれるバッファに、未終了のC型コメントが入っています。

処置:	ファイルを編集（正しく終了されているかどうか確認）し、Query Builderから再度オープンしてください。


BRW-15085: 定義列に循環参照があります。

原因:	定義済み列を修正すると循環参照になります。

処置:	列を再定義し、それ自身の定義内で自己を参照しないようにしてください。


BRW-15086: 相互関係のある副問合せファンクションへの引数は、列を指定する必要があります。

原因:	avg (sal, deptno*2)のような複雑な引数が与えられました。

処置:	副問合せには式ではなく有効な列のみを指定してください。


BRW-15087: ロケーション: <name>は無効です。

原因:	表に関して無効なデータベース・ロケーションを入力しました。

処置:	有効なデータベース・ロケーションを入力してください。


BRW-15088: 表: <表名>があいまいです。

原因:	あいまいなデータ表名を入力しました（この名前は複数の表が使用しています）。

処置:	データ表をさらに修飾する必要があります。詳細は、ヘルプまたはドキュメンテーションを参照してください。


BRW-15089: 式でPRIOR演算子は1つのみ使用できます。

原因:	1つの式に2つ上のPRIOR句を入力しました。

処置:	PRIOR句を1つ削除してください。


BRW-15090: 名前: <name>はすでに使用されています。

原因:	すでに使用されている名前を入力しました。

処置:	新しい名前を入力してください。


BRW-15091: 名前: <name>は無効です。

原因:	無効な名前を入力しました（スペースまたは印字不能のキャラクタがあります）。

処置:	新しい名前を入力してください。


BRW-15092: 外部リレーションの使用方法が無効です。

原因:	列以外の要素に外部リレーションを指定しました。

処置:	外部リレーションは列に対してのみ有効です。


BRW-15093: 対応レコードの要素の数が無効です。

原因:	ユーザーは要素数の異なる2つのレコードを入力しました。

処置:	条件を再入力してください。


BRW-15094: グループ・ファンクションのネストが深すぎます。

原因:	ユーザーは、二重（三重）の集約条件（式）を入力しました。

処置:	集約条件/式を簡単にしてください。


BRW-15096: 表名は<name1>と重複しているため、<name2>に改名されました。

原因:	問合せをオープン中に、表の別名が新しい列と重複します。

処置:	別名を改名してください。


BRW-15097: 名前が<name1>と重複しているため、<name2>に改名されました。

原因:	保存された問合せをロード中に、別名が新しい列と重複します。

処置:	別名を改名してください。


BRW-15098: FROM句に複製の表: <name>があります。

原因:	FROM句にデータ表が（別名なしで）複数存在します。

処置:	FROM句の重複しているデータ表名を削除してください。


BRW-15099: 副問合せで不正な値数が返されました。

原因:	副問合せで返された値が多すぎるか少なすぎます。

処置:	条件を再入力してください。


BRW-15100: 相関式はここでは使用できません。

原因:	ユーザーは、無効な相関式を入力しました。

処置:	条件/式を再入力してください。


BRW-15101: 表の別名<name>は、同一のFROM句では使用できません。

原因:	別名をそれ自体が定義されたFROM句で使用しようとしました。

処置:	別名への参照を削除してください。


BRW-15102: レコードの要素が多すぎます。

原因:	レコードに、要素数が255以上あります。

処置:	要素数を減らしてください。 条件をORに分解します。


BRW-15103: FROM句に名前のないSELECT文があります。

原因:	SQLには、名前のない問合せを指定したFROM句があります。

処置:	問合せ名を追加してから、再度解析してください。


BRW-15110: 数値が無効であるか、精度を超えています: <column name>

原因:	英数字以外の入力または数が、この列の精度を超えました。

処置:	有効な数と精度を再入力してください。


BRW-15111: 日付: <Value>は無効です。

原因:	列の書式マスクまたはデフォルト・マスクを使用してフォーマットできませんでした。

処置:	有効な書式マスクを再入力してください。


BRW-15112: 入力値: <##>は、この列のサイズ制限を超えています。

原因:	入力された文字列が、列のサイズ制限を超えています。

処置:	文字列を短くしてください。


BRW-15113: 指定されていないパラメータがあります。

原因:	すべてのパラメータを定義しないで問合せを実行しようとしました。

処置:	パラメータを指定するか、パラメータ付き式を除外して、再試行してください。


BRW-15114: パラメータには必ず定数式を使用してください。

原因:	列値に依存するパラメータ値を入力しようとしました。

処置:	列値に依存しない有効なパラメータを指定してください。


BRW-15115: パラメータ: <name>の使用方法が間違っています。

原因:	列または表のパラメータ名を入力しました。

処置:	有効なパラメータを指定してください。


BRW-15116: パラメータ名: <name>は無効です。

原因:	無効なパラメータ名を入力しました。

処置:	有効なパラメータ名を指定してください。


BRW-15117: パラメータ: <name>が無効です。

原因:	無効なパラメータを入力しました。

処置:	有効なパラメータを指定してください。


BRW-15128: パーサーの内部エラー: <Value>が発生しました。

原因:	パーサー／スキャナに内部エラーが発生しました。

処置:	サポート担当に連絡してください。


BRW-15129: 定義済み列: <name>は、相関副問合せでは使用できません。

原因:	相関副問合せで派生列（DQ4）が使用されています。

処置:	相関副問合せからその引数を削除してください。


BRW-15130: 問合せの実行に失敗しました。

原因:	データベース・アクセス・エラーです。

処置:	データベース・エラーをチェックし、問合せを再度実行してください。


BRW-15131: 関係演算子が無効です。

原因:	条件に無効な演算子を適用しました。

処置:	有効な演算子を入力してください。


BRW-15132: FROM句が指定された位置にありません。

原因:	FROM句が指定されていないか、またはFROM句の前にGROUP/HAVING句が指定されています。

処置:	SQL文を編集してください。


BRW-15133: SELECT句と対応していないFROM句が見つかりました。

原因:	SELECT句の前にFROM句があります。

処置:	SQL文を編集してください。


BRW-15135: 条件は変更できません。

原因:	ユーザーは、スキーマ・エディタでトップの条件を変更しようとしました。

処置:	子条件に対して操作を実行してください。


BRW-15136: SQLに集合演算子があります。

原因:	集合演算はサポートされていません。

処置:	SQL*Plusで問合せを実行してください。


BRW-15137: 式が複雑で名前を生成できません。

原因:	SQLファイルをオープン中に名前のない式を検出しました。

処置:	.sqlファイルの列名を定義してください。


BRW-15138: CONNECT BY句がありましたが、無視されました。

原因:	Connect Byはこの（トップ）レベルではサポートされていません。

処置:	CONNECT BYの結果が目的どおりかどうか、SQL*Plusで問合せを実行してください。


BRW-15139: 条件のグループ解除ができません。

原因:	トップの条件をグループ解除しようとしています。

処置:	この操作はサポートされていません。


BRW-15141: 問合せ表にパラメータを含むことはできません。

原因:	ビューを作成中に、1つ以上のパラメータを検出しました。

処置:	問合せからパラメータを除外するか、無視してください。


BRW-15142: 2つ以上の列が同じ名前: <name>です。

原因:	ビュー作成中に、重複する列名を検出しました。

処置:	「定義」コマンドを使用して、重複列を改名してください。


BRW-15143: <name>はすでに表示列です。

原因:	重複する表示列を指定しようとしました。

処置:	重複列を指定するには、新しい名前を定義して再表示してください。


BRW-15144: <name>はすでにソート列です。

原因:	重複ソート列を指定しようとしました。

処置:	重複列を指定するには、新しい名前を定義して再ソートしてください。


BRW-15145: <name>はすでにグループ列です。

原因:	重複グループ列を指定しようとしました。

処置:	重複列を指定するには、新しい名前を定義して再グループ化してください。


BRW-15146: 問合せのオープンで内部エラーが発生しました。

原因:	問合せをオープン中に、内部エラーが発生しました。

処置:	サポート担当に連絡してください。


BRW-15147: 問合せの保存中に内部エラーが発生しました。

原因:	問合せを保存中に内部エラーが発生しました。

処置:	サポート担当に連絡してください。


BRW-15148: リレーションは互換性のあるデータ型/サイズ間でのみ成立します。

原因:	互換性のないデータ型を持つ2つの列を関係付けようとしました。

処置:	互換性のあるデータ型のみを関係付けてください。詳細は、ヘルプまたはドキュメンテーションを参照してください。


BRW-15150: 自分自身に対するリレーションは定義できません。

原因:	1つのデータ表内にリレーションを定義しようとしました。

処置:	データ表に別名を付けてから、リレーションを定義してください。


BRW-15151: ユーザー定義のリレーションはすでに存在します。

原因:	すでに存在するリレーションを定義しようとしました。

処置:	処置は不要です。


BRW-15152: 定義済みリレーションの列が間違っています。

原因:	リレーションを定義中に不正な式を指定しました。

処置:	新しい列をもう一度入力してください。


BRW-15153: 表の別名を _A<数>で終わることはできません。

原因:	別名が無効です。

処置:	末尾が_A<数>でない新しい名前を入力してください。


BRW-15154: データベース・リレーションを削除できません。

原因:	データ・ディクショナリのリレーションを削除しようとしました。

処置:	ユーザーが定義したリレーションのみを削除できます。


BRW-15155: 文書: <name>が影響を受けている可能性があります。

原因:	保存された問合せが、他の問合せ文書でデータ表として使用されていました。

処置:	この問合せを変更または削除すると、その他の問合せに影響を与えます。


BRW-15156: 問合せと同じ名前の表を含むことはできません。

原因:	データ表Dを問合せ文書Dに取り込もうとしました。

処置:	この表を取り込む前に問合せを改名してください。


BRW-15157: LONG列はソート、グループ化またはブレークできません。

原因:	LONG列に対してソート、グループ化またはブレークしようとしています。

処置:	操作を取り消します。Oracleではこの操作はサポートされていません。


BRW-15158: RAW列はソート、グループ化またはブレークできません。

原因:	RAW列に対してソート、グループ化またはブレークしようとしています。

処置:	操作を取り消します。Oracleではこの操作はサポートされていません。


BRW-15159: リモート・データベースからLONG列を表示できません。

原因:	リモート・データベース・データ表からLONG列を取り込もうとしています。

処置:	操作を取り消します。Oracleではこの操作はサポートされていません。


BRW-15160: 列の最大数: <##>を超えました。

原因:	サポートされる表示/グループ/ソート列の最大数を超過しました。

処置:	不要な列をいくつか削除してから、必要なものを再度取り込んでください。


BRW-15161: 表示列: <column name>をオープン中にエラーが発生しました。

原因:	保存後、データベースが変更されているので表示列をオープンできません。

処置:	この列は変更されたか、データベースに存在していません。


BRW-15162: ソート列: <column name> をオープン中にエラーが発生しました。

原因:	保存後、データベースが変更されているのでソート列をオープンできません。

処置:	この列は変更されたか、データベースに存在していません。


BRW-15163: グループ列: <column name>をオープン中にエラーが発生しました。

原因:	保存後、データベースが変更されているのでグループ列をオープンできません。

処置:	この列は変更されたか、データベースに存在していません。


BRW-15164:ブレーク列: <column name>をオープン中にエラーが発生しました。

原因:	保存後、データベースが変更されているのでブレーク列をオープンできません。

処置:	この列は変更されたか、データベースに存在していません。


BRW-15165: ブレーク列の最大数: <##>を超えました。

原因:	サポートされているブレーク列の最大数を超えました。

処置:	不要なブレーク列を削除してから、必要なものを再度取り込んでください。


BRW-15166: 条件: <value>のオープンでエラーが発生しました。

原因:	保存後、データベースが変更されているので条件をオープンできません。

処置:	この条件で使用される表または列は、データベースに存在していません。


BRW-15167: 別名は、<##>バイト以下でなければなりません: <name>

原因:	別名が長すぎます。

処置:	30バイト以下の長さの別名を入力してください。


BRW-15168: 集約式に対してグループ化ができません。

原因:	集約式に対してグループ化しようとしました。

処置:	別の式に対してグループ化を実行してください。


BRW-15169: <name>は、すでにブレーク列として含まれています。

原因:	重複したブレーク列を指定しようとしました。

処置:	同じ列を指定するには、新しい名前を定義し、再度ブレークしてください。


BRW-15170: 表: <name>の制約が無効です。

原因:	選択された表にとって無効な制約を入力しました。

処置:	制約を再入力してください。


BRW-15171: 表列: <name>の制約が無効です。

原因:	選択された列にとって無効な制約を入力しました。

処置:	制約を再入力してください。


BRW-15172: 制約では副問合せは使用できません。

原因:	無効な制約を入力しました。

処置:	制約を再入力してください。


BRW-15173: 制約では集約条件は使用できません。

原因:	無効な制約を入力しました。

処置:	制約を再入力してください。


BRW-15174: 制約は、1つの表上でのみ使用できます。

原因:	無効な制約を入力しました。

処置:	制約を再入力してください。


BRW-15175: すべての列が非表示になっているため表がロードされませんでした。

原因:	すべての列が隠されています。少なくとも1つの列が表示されている必要があります。

処置:	Query Builder Administrator Utilityを使用して隠し列を表示させてください。


BRW-15188: 問合せの戻り値は1行です。

原因:	1行Query Countのステータス・メッセージです。

処置:	処置は不要です。


BRW-15189: 問合せの戻り値は<##>行です。

原因:	n行Query Countのステータス・メッセージです。

処置:	処置は不要です。


BRW-15190: 問合せを実行しなければカウントできません。問合せの戻り値は<##>行以下です。

原因:	n行Query Count Distinctのステータス・メッセージです。

処置:	処置は不要です。


BRW-15192: 書式: <name1>（列: <name2>）が間違っています。

原因:	ある表示列にとって認識不能な書式を入力しました。

処置:	別の書式を入力してください。


BRW-15193: 書式が無効です。

原因:	ある表示列にとって認識不能な書式を入力しました。

処置:	別の書式を入力してください。


BRW-15195: リレーション: <name>は列に型の互換がありません。

原因:	不正なリレーションを作成しようとしています。

処置:	列タイプに互換性がありません。詳細は、ヘルプまたはドキュメンテーションを参照してください。


BRW-15196: 表: <name>をオープン中にエラーが発生しました。

原因:	データベースが修正されたか、オブジェクトが存在しないために、データ表をオープンできません。

処置:	接続文字列を調べてください（あるいはDBAに連絡してください）。


BRW-15197: 列: <name>の位置の回復中にエラーが発生しました。

原因:	データベースが変更されたか、オブジェクトが存在しないために、列の再配置ができません。

処置:	接続文字列を調べてください（あるいはDBAに連絡してください）。


BRW-15198: 結合: <Value>の回復中にエラーが発生しました。

原因:	データベースが変更されたか、オブジェクトが存在しないため、オープン中はリンクを回復できません。

処置:	接続文字列を調べてください（あるいはDBAに連絡してください）。


BRW-15199: 結合: <Value>の取込み状態の回復中にエラーが発生しました。

原因:	データベースが変更されたか、オブジェクトが存在しないために、オープン中は取込み状態を設定できません。

処置:	接続文字列を調べてください（あるいはDBAに連絡してください）。


BRW-15200: 結合: <Value>の外部結合状態の回復中にエラーが発生しました。

原因:	データベースが変更されたか、オブジェクトが存在しないために、オープン中は外部結合を設定できません。

処置:	接続文字列を調べてください（あるいはDBAに連絡してください）。


BRW-15258: 文書名: <name>が無効です。

原因:	無効な文書名を入力しました。

処置:	有効な文書名を入力してください。


BRW-15259: 文書が64Kのサイズ制限を超えました。

原因:	64Kを超える文書を保存/オープンしようとしました。

処置:	文書のサイズを減らしてください。


BRW-15260: 文書: <name>は存在していません。

原因:	存在しない文書を指定しました。

処置:	別の文書を指定してください。


BRW-15261: 文書: <name>はすでに存在しています。

原因:	すでに存在する文書名で保存しようとしました。

処置:	別の文書名を指定するか、既存文書を削除してください。


BRW-15262: <name>という名前の文書が複数存在します。

原因:	同じ名前の文書が複数存在しています。

処置:	1つを除きすべてを削除してください。


BRW-15263: データベース・オブジェクト: <name>はすでに存在しています。

原因:	すでに存在するオブジェクトの名前で保存しようとしました。

処置:	別の文書名を指定してください。


BRW-15264: 表: <name>は存在していません。

原因:	保存文書に対応するビューが削除されています。

処置:	文書（もはや問合せビューとしては存在しません）を再保存してください。


BRW-15265: 表: <name>は削除、または変更されました。

原因:	保存文書に対応するデータ表ビューが変更されています。

処置:	文書を再保存してください。


BRW-15266: ファイル: <name>は存在していません。

原因:	存在しないファイルを指定しました。

処置:	別のファイルを指定してください。


BRW-15267: ファイル: <name>はすでに存在しています。

原因:	すでに存在するファイルの名前で保存しようとしました。

処置:	別のファイル名を指定してください。


BRW-15268: ファイル: <name>をオープンできません。

原因:	I/Oコアがファイルをオープンできませんでした。

処置:	別のファイルを指定してください。


BRW-15269: ファイル: <name>をロックできません。

原因:	I/Oコアがファイルをロックできませんでした。

処置:	別のファイルを指定してください。


BRW-15270: ファイル: <name>の読込みでエラーが発生しました。

原因:	オペレーティング・システム・エラー、またはファイルが正しい形式ではありません。

処置:	別のファイルを指定してください。


BRW-15271: ファイル: <name>の書込みでエラーが発生しました。

原因:	オペレーティング・システム・エラー、またはI/Oコア・エラーです。

処置:	再試行してください。


BRW-15272: Query Builder文書: <name>は旧い文書です。

原因:	サポートされていない旧い文書をオープンしようとしました。

処置:	別の文書を指定してください。


BRW-15273: ファイル: <name>はQuery Builderファイルではありません。

原因:	Query Builderファイルではない文書をオープンしようとしました。

処置:	別のファイルを指定してオープンしてください。


BRW-15274: SQLファイル: <name>は有効ではありません。

原因:	無効なSQLファイルをインポートしようとしました。

処置:	別のファイルを指定してインポートしてください。


BRW-15275: エクスポート、または出力するデータがありません。

原因:	データのない問合せ（またはリージョン）をエクスポートまたは印刷しようとしました。

処置:	別のリージョンを指定するか、問合せを実行するか、問合せを変更してください。


BRW-15277: 作業中の表: <name>を上書きできません。

原因:	保存されている旧データ表を削除/改名しようとしてエラーが発生しました。

処置:	データ表の問題を修正し、再度保存してください。


BRW-15278: 文書は保存されましたが、ビュー: <name>を作成できませんでした。

原因:	問合せは有効なビューではありません。保存はされていますが、データベース・ビューとしてではありません。

処置:	問合せを有効なビューとして再定義するか、無視してください（問合せは保存されますが、ビューとしては保存されません）。


BRW-15279: SQL文'<name>'は正しくありません。

原因:	ユーザーは、SQL*Plus以外のファイルをインポートしようとしました。

処置:	別のファイルを指定してインポートしてください。


BRW-15320: 内部I/Oコア･エラー(<Value>,行<##>)。

原因:	内部ステートが無効です。

処置:	サポート担当に連絡してください。


BRW-15321: リソースが見つかりません(<name>)。

原因:	リソース名がQuery Builderコードに一致しません（または、ファイルが壊れています）。

処置:	Query Builderリソース・ファイルの正しいバージョンを入手してください。


BRW-15322: リソース・ファイルが見つかりませんでした。

原因:	ディレクトリ構造が間違っています。あるいは、何らかの理由でファイルが失われています。

処置:	リソース・ファイルの所在を確認してください（NLS_LANGファイル名をチェックしてください）。


BRW-15323: 問合せは、現アプリケーション(<name>)ですでにオープンされています。

原因:	ユーザーは、複数の問合せを同じ名前でオープンしようとしました。

処置:	別のファイルを指定してください。


BRW-15324: ウィンドウ・システムを起動できません。

原因:	環境変数が不正か、または失われています（例:DISPLAY、APIPATH）。

処置:	必要な環境変数がすべて正しく設定される必要があります。


BRW-15342: スナップショット情報が見つかりません。

原因:	このデータベースではスナップショットはサポートされていません（もしくは、データベース・エラーです）。

処置:	スナップショット・ディクショナリ表が存在するかチェックしてください。


BRW-15387: ログインに失敗しました。

原因:	データベースまたはSQL*Netエラーが発生しました。

処置:	ログイン情報をチェックし、再試行してください。


BRW-15388: データベース・リレーションがロードできません。

原因:	データベース・リレーションをロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当に連絡してください。


BRW-15389: アクセスできる所有者のリストをロードできません。

原因:	アクセス可能な所有者のリストをロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当に連絡してください。


BRW-15390: アクセス可能な表のリストをロードできません。

原因:	データ表のリストをロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当に連絡してください。


BRW-15391: 表をロードできません

原因:	データ表をロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当に連絡してください。


BRW-15392: 表をロードできません

原因:	表をロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当 に連絡してください。


BRW-15393: シノニムをロードできません

原因:	シノニムをロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当 に連絡してください。


BRW-15394: 問合せをロードできません

原因:	問合せをロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当 に連絡してください。


BRW-15395: 表の列情報をロードできません

原因:	列情報をロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当 に連絡してください。


BRW-15396: シノニムの列情報をロードできません

原因:	シノニム列情報をロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当 に連絡してください。


BRW-15397: 制約をロードできません

原因:	制約をロード中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当 に連絡してください。


BRW-15398: 主キー情報が見つかりません

原因:	主キーを探索中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当 に連絡してください。


BRW-15399:外部キー情報が見つかりません

原因:	外部キーを探索中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当 に連絡してください。


BRW-15400: 表と列のコメントをロードできません

原因:	コメント取得中にスキーマ内部エラーが発生しました。

処置:	このエラーを予期していなかった場合は、サポート担当 に連絡してください。


BRW-15401: データベース・リンク: <name>のロードでエラーが発生しました

原因:	データベース・リンクをロード中にスキーマ内部エラーが発生しました。

処置:	詳細については、後に続くエラー・メッセージを参照してください。


BRW-15402: 所有者: <name>のロードでエラーが発生しました

原因:	データベース・リンクをロード中にスキーマ内部エラーが発生しました。

処置:	詳細は、後に続くエラー・メッセージを参照してください。


BRW-15403:表: <name>をロード中にエラーが発生しました

原因:	データ表をロード中にスキーマ内部エラーが発生しました。

処置:	詳細は、後に続くエラー・メッセージを参照してください。


BRW-15404: <name>の主キー制約:<name>(<Value>)のロードでエラーが発生しました

原因:	主制約をロード中にスキーマ内部エラーが発生しました。

処置:	詳細は、後に続くエラー・メッセージを参照してください。


BRW-15405: 外部キー制約:<name>のロードでエラーが発生しました

原因:	外部キー制約をロード中にスキーマ内部エラーが発生しました。

処置:	詳細については、後に続くエラー・メッセージを参照してください。


1BRW-5406: シノニム: <name>のロードでエラーが発生しました

原因:	主制約をロード中にスキーマ内部エラーが発生しました。

処置:	詳細は、後に続くエラー・メッセージを参照してください。


BRW-15407:シノニム: <name>によって参照される表は存在しません

原因:	存在しないデータ表のシノニムを作成しようとしました。

処置:	シノニムを再作成してください。


BRW-15408: <name>の列情報のロードでエラーが発生しました

原因:	Oracleエラー、またはデータ表が削除されています。

処置:	データ表を再作成してください。


BRW-15409: <name>の制約情報: <Value>のロードでエラーが発生しました

原因:	Oracleエラーです。

処置:	再試行してください。


BRW-15410: 外部キー<name>(<Value>)が参照する表にアクセスできません

原因:	外部キーが参照する表はアクセス不能です。

処置:	現ユーザーにその表へのアクセス権を付与してください。


BRW-15411: ログアウトに失敗しました

原因:	ログアウト中に内部エラーが発生しました。

処置:	終了するか、文書をクローズしてください。


BRW-15412: 問合せ: <name>の表が変更されました。問合せはビューとしてロードされました。

原因:	問合せが依存するビューに、最後の保存以降変更があります。

処置:	問合せをオープンして、データ表として使用するために再度保存してください。


BRW-15413: 問合せ: <name>の表が削除されました。問合せはロードされません。

原因:	問合せが依存するビューは、削除されています。

処置:	問合せをオープンして、データ表として使用するために再度保存してください。


BRW-15414: 表: <name>は存在していません

原因:	このデータ表は、データベースに存在しません。

処置:	この表が必要な場合はシステム管理者に連絡してください。


BRW-15415: 表の最大列数(254)を超えています

原因:	列が255以上あるデータ表をロードしようとしました。

処置:	システム管理者に連絡してください。


BRW-15416: 各ユーザーの最大表数(8192)を超えています

原因:	ユーザーの所有するデータ表が多すぎます。

処置:	システム管理者に連絡してください。


BRW-15417: 所有者およびデータベースの最大数(1024)を超えました

原因:	あまりにも多くのユーザー、所有者およびデータベース・リンクをロードしようとしました。

処置:	システム管理者に連絡してください。


BRW-15418: データベース・リンク情報が見つかりません

原因:	このデータベースでは、データベース・リンクまたはデータベース・エラーをサポートされていません。

処置:	このエラーが予測外の場合は、後でもう一度試してください。


BRW-15419: シノニム情報が見つかりません

原因:	このデータベースでは、シノニムまたはデータベース・エラーはサポートされていません。

処置:	このエラーが予測外の場合は、後でもう一度試してください。


BRW-15420: 制約情報が見つかりません

原因:	このデータベースでは、制約またはデータベース・エラーはサポートされていません。

処置:	このエラーが予測外の場合は、後でもう一度試してください。


BRW-15421: 表のコメント表が見つかりません

原因:	このデータベースでは、表についてのコメントはサポートされていません。 またはデータベース・エラーです。

処置:	このエラーが予測外の場合は、後でもう一度試してください。


BRW-15422:表の列のコメント表が見つかりません。

原因:	このデータベースでは、列についてのコメントはサポートされていません。 またはデータベース・エラーです。

処置:	このエラーが予測外の場合は、後でもう一度試してください。


BRW-15423: 順序へのシノニムは現在サポートされていません

原因:	順序を参照するシノニムをロードしようとしました。

処置:	処置はサポートされていません。


BRW-15424: ログインの試行回数が最大数(3)を超えました

原因:	ログイン回数が多すぎます。

処置:	システム管理者に連絡して正しいユーザー名、パスワード、および（または）接続文字列を取得してください。


BRW-15430: 索引情報がロードされていません。

原因:	索引表を見つけることができません。

処置:	これはOracle以外のデータベースです。 ODBCドライバを試してください。


BRW-15434: 表の最大列数は、<##>です。

原因:	ユーザーは、1つの表で許されている最大列数を超えて、列を作成しようとしました。

処置:	作成する列の数を減らしてください。


BRW-15435: この操作を行う場合には管理者権限が必要です。

原因:	DBA権限が必要です。

処置:	システム管理者にDBA権限の付与を依頼してください。


BRW-15447: 問合せを削除できません。問合せウィンドウで「ファイル」>「削除...」を実行してください。

原因:	問合せを削除しようとしました。

処置:	この操作は、スキーマ・エディタからはできません。かわりに「問合せ」ウィンドウを使用してください。


BRW-15448: 問合せをコピーできません。問合せウィンドウで「別名保存...」を実行してください。

原因:	問合せをコピーしようとしました。

処置:	この操作は、スキーマ・エディタからはできません。かわりに「問合せ」ウィンドウを使用してください。


BRW-15449: LONG列のみの表からデータをコピーすることはできません。

原因:	LONG列を持つ表をコピーしようとしました。

処置:	データベースでは、サポートされていません。


BRW-15450: 削除された表での操作は許可されていません。

原因:	ユーザーは、削除済みのデータ表に対して処理を行おうとしました。

処置:	まず削除を解除してください。


BRW-15451: 削除された列での操作は許可されていません。

原因:	ユーザーは、削除済みのデータ列に対して処理を行おうとしました。

処置:	まず削除を解除してください。


BRW-15452: 別所有者の表は改名できません。

原因:	アクセス権を与えられたデータ表の名前を設定しようとしました。

処置:	この処理は、許可されていません。所有者に改名を依頼してください。


BRW-15466: 表名が長すぎます(最大 <##>バイト)。

原因:	データ表名が長すぎます。

処置:	名前を短くして、もう一度試してください。


BRW-15467: 名前はすでに使用されています。別の名前を選択してください。

原因:	名前はすでに使用されています。

処置:	別の名前を選択してください。


BRW-15468: 列名が長すぎます(最大 <##>バイト)。

原因:	列名が長すぎます。

処置:	名前を短くして、もう一度試してください。


BRW-15493: この操作は現在サポートされていません。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


BRW-15494: ビューのSQLテキストをロード中にエラーが発生しました。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


BRW-15495: ビュー: <name>用SQLテキストをロード中にエラーが発生しました。

原因:	内部エラーです。

処置:	サポート担当に連絡してください。


BRW-15496: スケールは<##>から<##>の間で設定してください。

原因:	スケールには不正な値です。

処置:	スケールに正しい値を入力してください。


BRW-15498: 問合せを変更できません。

原因:	問合せを変更することは正しくありません。

処置:	問合せをオープンして、それをQuery Builder文書として変更してください。


BRW-15499: データ付きでコピーされた表の列属性を設定できません。

原因:	重複データを持つ表の列タイプを設定しようとしました。

処置:	まず表をコミットし、再試行してください。


BRW-15501: アプリケーション用の仮想メモリーが確保できません。

原因:	ディスクに空きスペースがないか、仮想メモリー・マネージャのシステム・メモリーがありません。

処置:	文書をクローズするか、ディスクに空き領域を作ってください。


BRW-15502: 各文書は<##>行しか作成できません。

原因:	self-imposedのコンパイル時の最大行を超えました。

処置:	問合せの条件の付加を検討してください。


BRW-15504: データベースのキャラクタ･セットを決定できません。

原因:	SELECT USERENV('LANGUAGE') FROM DUALに問題がありました。

処置:	Oracle以外のデータベースです。 サポートされていません。


BRW-15505: 仮想メモリー・ファイルをオープンできません。

原因:	書込み許可がないか、またはファイル・システムがいっぱいです。

処置:	ディレクトリに対する許可を変更するか、ファイルをいくつか削除してください。


BRW-15506: 仮想メモリー・ファイルをクローズできません。

原因:	オペレーティング・システム・エラーです。

処置:	システム管理者に問い合せてください。


BRW-15507: 仮想メモリー・ファイルからの読込みができません。

原因:	仮想メモリー・ファイルは存在しません。

処置:	仮想メモリー・ファイルがオープンされていることを確認してください。


BRW-15508: 仮想メモリー・ファイルへの書込みができません。

原因:	ファイル・システムがいっぱいか、仮想メモリー・ファイルがオープンされていません。

処置:	ファイルをいくつか削除してください。仮想メモリー・ファイルがオープンされていることを確認してください。


BRW-15509: 仮想メモリー・マネージャを作成できません。

原因:	内部エラーか、メモリー不足です。

処置:	システム管理者に問い合せてください。


BRW-15511: 仮想メモリーの最大サイズを超えました。

原因:	仮想メモリー・サイズが大きすぎます。

処置:	再試行してください。


BRW-15513: コマンド: <name>にはNULL値があります。

原因:	コマンド･ラインで、オプションを選択せずに<コマンド>=を入力しました。

処置:	<コマンド>のための値を追加してください。


BRW-15514: コマンド・ラインがNULLです。

原因:	コマンド･ラインで=<値>を入力しましたが、コマンドを指定しませんでした。

処置:	コマンドを追加してください。


BRW-15515: コマンド・ラインのコマンド: <name>を認識できません。

原因:	ユーザーはコマンド・ラインで不正なコマンドを入力しました。

処置:	コマンドを変更してください。


BRW-15516: コマンド: <name>は、コマンド・ラインで2度指定されています。

原因:	コマンド・ラインで1つのコマンドを2回入力しました。

処置:	1つを削除してください。


BRW-15517: 指定されたコマンド: <name1>とコマンド: <name2>には互換性がありません。

原因:	ユーザーは、コマンド・ラインで2つの互換性のないコマンドを入力しました。

処置:	1つを削除してください。


BRW-15518: オプション: <name1>(コマンド: <name2>中)が無効です。

原因:	コマンド・ラインで、コマンドに不正なオプションを入力しました。

処置:	オプションを変更してください。


BRW-15519: コマンド・ラインで複数のログインが指定されました。

原因:	コマンド・ラインで2つのログインを入力しました。

処置:	1つを削除してください。


BRW-15520: コマンド・ラインの文書名: <name>が無効です。

原因:	ユーザーは、コマンド・ラインで不正な文書名を入力しました。

処置:	文書名を変更してください。


BRW-15521: コマンド:'<name>'は、文書なしで指定されています。

原因:	コマンド行で文書を指定せずにコマンドを入力しました。

処置:	文書を指定してください。


BRW-15522: コマンド: '<name1>'は、'<name2>'なしで指定されています。

原因:	必要なコマンドがありません。

処置:	コマンドを追加してください。


BRW-15523: コマンド: '<name>'には一致しないカッコがあります。

原因:	コマンド行で入力したカッコが一致しません。

処置:	不一致のカッコを修正してください。


BRW-15530: 削除された行を編集することはできません。

原因:	削除のマークが付いた行を編集しようとしました。

処置:	まず行の削除を解除してください。


BRW-15531: データベースから行が削除されました。

原因:	問合せを最後に実行した後、別のユーザーがこの行を削除しました。

処置:	サポート担当に連絡してください。これは発生してはならないことです。


BRW-15532: 他のユーザーが行を変更しました。問合せを再実行してください。

原因:	問合せを最後に実行した後、別のユーザーがこの行を更新しました。

処置:	再試行してください。


BRW-15533: 他のユーザーが行を現在ロックしています。

原因:	他の人がこの行を編集中です。

処置:	後でもう一度試してください。


BRW-15539:<##>行の挿入中にエラーが発生しました。

原因:	入力ファイルの1行以上の挿入に失敗しました。

処置:	入力ファイルを修正するか、無視します。


BRW-15540: この型のデータは操作できません。

原因:	編集不能な型のデータを持つセルを編集しようとしました。

処置:	不明です。


BRW-15541: 変更されたデータが多くなりすぎました。コミットを実行してください。

原因:	1つの文書に、INSERT、UPDATEまたはDELETEの保留が多すぎます。

処置:	「コミット」または「戻し」を選択してください。


BRW-15545: QXFファイル読込み中にエラーが発生しました。解析処理は中止されました。

原因:	QXFファイル読込み中の構文エラー。

処置:	QXFファイルを修正します。


BRW-15546: 解析エラー: <##>行。

原因:	特定行で構文が不正です。

処置:	その行をデバッグしてください。


BRW-15547: リレーション・ブロック内に演算子が指定されていません。

原因:	QXFファイルのリレーション・ブロックで演算子が指定されていません。

処置:	ブロック内で演算子フィールドを指定してください。


BRW-15548: エラー: リレーション・ブロック: <name>に引数がありません。

原因:	リレーション・ブロックの列フィールドに引数がありません。

処置:	そのフィールドに列名を指定してください。


BRW-15549: 条件ブロック内にCONDITION_TEXTがありません。

原因:	条件ブロックのCONDITION_TEXTフィールドに引数がありません。

処置:	CONDITION_TEXTフィールドを指定してください。


BRW-15550: INCLUSION_ORDER値(<name1>)(式: <name2>中)が無効です。

原因:	式のINCLUSION_ORDER値が不正です。

処置:	INCLUSION_ORDER値を修正してください。


BRW-15551: 式: <name>は含まれていますが、INCLUSION_ORDERが指定されていません。

原因:	取り込まれる式ブロックのINCLUSION_ORDERが指定されていません。

処置:	INCLUSION_ORDERフィールドを指定してください。


BRW-15552:式: <name>は含まれていませんが、INCLUSION_ORDERがNULLではありません。

原因:	式は含まれません(INCLUDED = FALSE)が、INCLUSION_ORDERがNULLではありません。

処置:	これらのフィールドの値を修正してください。


BRW-15553: エラー: 式: '<name>'にテキストがありません。

原因:	テキスト文字列がQFX式ブロックに指定されていません。

処置:	テキスト文字列を指定してください。


BRW-15554: エラー: ソートされた式: '<name>'のSORT_PRIORITYが指定されていません。

原因:	ソートされる式のSORT_PRIORITYが指定されていません。

処置:	SORT_PRIORITYを指定してください。


BRW-15555: フィールド: '<name1>'(表: '<name2>'中)のINCLUSION_ORDER値が間違っています。

原因:	フィールドのINCLUSION_ORDER値が不正です。

処置:	INCLUSION_ORDER値を修正してください。


BRW-15556: フィールド: '<name1>'(表: '<name2>'中)は含まれていますが、INCLUSION_ORDERがNULLです。

原因:	フィールドは含まれます(INCLUDED = FALSE)が、INCLUSION_ORDERが指定されていません。

処置:	これらのフィールドの値を修正してください。


BRW-15557: フィールド: '<name1>'(表:'<name2>')は除外されていますが、INCLUSION_ORDERは存在しています。

原因:	指定されたデータ表のフィールドは含まれませんが、INCLUSION_ORDERはNULLではありません。

処置:	これらのフィールドの値を修正してください。


BRW-15558: ソートされたフィールド: '<name1>'(表: '<name2>'中)のSORT_PRIORITYが指定されていません。

原因:	ソートされるフィールドのSORT_PRIORITYが指定されていません。

処置:	そのフィールドのSORT_PRIORITYを指定してください。


BRW-15559: エラー: 表: '<name2>'のINCLUSION_ORDERの値('<name1>')が間違っています。

原因:	取込み順序に負の値があります。

処置:	その値を修正してください。


BRW-15560: 表:'<name>'は含まれていますが、INCLUSION_ORDERは指定されていません。

原因:	データ表は取り込まれます(INCLUDED = TRUE)が、INCLUSION_ORDERが指定されていません。

処置:	これらのフィールドの値を修正してください。


BRW-15561: 表:'<name>'は除外されていますが、INCLUSION_ORDERは、NULLではありません。

原因:	データ表は取り込まれません(INCLUDED = FALSE)が、INCLUSION_ORDERhはNULLではありません。

処置:	これらのフィールドの値を修正してください。


BRW-15562: エラー: メイン条件ブロックは2つ以上指定できません。

原因:	メイン（ルート）条件ブロックが複数存在します。

処置:	条件ブロックをいくつか排除するか、結合を使用してください。


BRW-15563: エラー: QXFファイル・バージョン1.0を使用してください。

原因:	VERSIONフィールドで指定されているバージョン番号が不正です。

処置:	バージョンを修正してください。


BRW-15564: 解析エラー: 行: <##>: フォント・スタイル:'<name>'が無効です。

原因:	フォント・スタイルが無効です。

処置:	フォント・スタイルをチェックし、修正してください。


BRW-15565: 解析エラー: <##>行: フォント・スタイル引数が無効です。

原因:	無効なフォント・スタイル引数です。

処置:	フォント・スタイル文字列をチェックし、修正してください。


BRW-15566: 解析エラー: 行: <##>: 集約ファンクション:'<name>'が無効です。

原因:	集約ファンクション名が無効です。

処置:	関数名を修正してください。


BRW-15567: 解析エラー: <##>行: サマリーの引数が無効です。

原因:	サマリーのフィールド引数が無効です。

処置:	フィールド引数を修正してください。


BRW-15568: 解析エラー: <##>行: フィールド引数が無効です。

原因:	フィールド引数が無効です。

処置:	フィールド引数を修正してください。


BRW-15569: 警告: エラーのため、QXFファイルは部分的にしかロードされていません。

原因:	QXFファイルをロード中のエラーです。

処置:	それらのエラーを修正してください。


BRW-15570: 解析エラー: 行: <##>: リレーション・ブロックの演算子: '<name>'が無効です。

原因:	リレーション・ブロックの演算子が無効です。

処置:	演算子をチェックし、修正してください。


BRW-15571: 解析エラー: <##>行: フィールド引数の演算子が無効です。

原因:	派生項目式のオブジェクトIDが無効です。

処置:	ディクショナリのオブジェクトIDを修正してください。


BRW-15572: 派生項目式のオブジェクトIDが一貫していません。

原因:	リレーション・ブロックの演算子フィールド引数が無効です。

処置:	演算子文字列をチェックし、修正してください。


BRW-15580: アクセスできるビジネス・エリアのリストをロードできません。

原因:	エンド・ユーザー・レイヤーにビジネス・エリア表がありません。

処置:	エンド・ユーザー・レイヤーを再インストールしてください。システム管理者に問い合せてください。


BRW-15581: コピーされたデータで作成された表には列を追加できません。

原因:	コピーされたデータで作成された表に列を追加しようとしました。

処置:	コピーされた表をコミットしてから、再試行してください。


BRW-15582: 表の新規およびコピーは既存の表でのみ可能です。

原因:	新規/コピー/更新の表に対して新しい表を作成しようとしています。

処置:	まず、新規/コピー/更新の表をコミットしてください。


BRW-15583: 索引には1つ以上の列を指定しなければなりません。

原因:	索引にある最後の列を削除しようとしました。

処置:	他の列を追加してから、削除してください。


BRW-15584: 列: <name>はLONG型のため、コピーされません。

原因:	スナップショットの作成中に、LONG列をコピーすることはできません。

処置:	列はコピーできません。


BRW-15600: サポートされていない構文です。

原因:	サポートされていない構文を解析しようとしました。

処置:	かわりとなるOracle8構文を使用してください。


BRW-15601: 無効なOracle 8 SQLの構文です。

原因:	Oracle8言語構文を使用できません。

処置:	Oracle7 SQLを使用してください。


BRW-15602: Oracle 8 SQLのタイプ・コンストラクタはサポートされていません。

原因:	Oracle8 SQLのタイプ・コンストラクタはサポートされていません。

処置:	Oracle7に戻してください。


BRW-15603: Oracle 8 SQLのREFはサポートされていません。

原因:	Oracle8 SQLのREFはサポートされていません。

処置:	かわりに、Oracle7を使用してください。


BRW-15604: Oracle 8 SQLのCASTはサポートされていません。

原因:	Oracle8 SQLのCASTはサポートされていません。

処置:	かわりに、Oracle7を使用してください。


BRW-15605: Oracle 8 SQLのMULTISETはサポートされていません。

原因:	Oracle8 SQLのMULTISETはサポートされていません。

処置:	かわりに、Oracle7を使用してください。


BRW-15606: Oracle8 SQLのMETHODSはサポートされていません。

原因:	Oracle8 SQLのMETHODSはサポートされていません。

処置:	かわりに、Oracle7を使用してください。


BRW-15607: Oracle 8 SQLのTHE副問合せはサポートされていません。

原因:	Oracle8 SQLのTHE副問合せはサポートされていません。

処置:	かわりに、Oracle7を使用してください。


BRW-15608: Oracle 8 SQLの表のPARTITIONはサポートされていません。

原因:	Oracle8 SQLの表のPARTITIONはサポートされていません。

処置:	かわりに、Oracle7を使用してください。


BRW-15609: Oracle 8 SQLの副問合せのTABLEキーワードはサポートされていません。

原因:	副問合せ内のTABLEキーワードはサポートされていません。

処置:	かわりに、Oracle7を使用してください。


BRW-15610: 表の名前を表の別名として変更します。

原因:	表の別名のかわりに、表を使用しようとしました。

処置:	別名を使用して表の名前を変更してください。


BRW-15641: ヘルプ・システムの初期化に失敗しました。ヘルプは使用できません。

原因:	ヘルプ・ドキュメントまたはヘルプ・リソース・ファイルの場所がわかりません。

処置:	継続できますが、ヘルプ・メニューは使用できません。オンラインまたはペーパー・ドキュメンテーションを使用してください。


BRW-15643: リソース・ファイル(<name>)が見つかりません、デフォルトのリソース・ファイルで再実行中です。

原因:	NLS_LANGは設定されていますが、ファイルが見つかりませんでした。

処置:	デフォルトの言語を使用してリソース・ファイルをオープンしてください。


BRW-15644: ヘルプ文書(<name>)が見つかりません。デフォルトのヘルプ文書を再実行中です。

原因:	NLS_LANGは設定されていますが、ファイルが見つかりませんでした。

処置:	デフォルトの言語を使用してヘルプ文書をオープンしてください。


BRW-15647: ヘルプ文書が見つかりません。

原因:	正しいディレクトリにヘルプ・ファイルを見つけることができませんでした。

処置:	Query Builderディクショナリ構造をチェックしてください。NLS_LANGが正しく設定されていることを確認してください。


BRW-15648: ヘルプ・システム作成エラーが発生しました。

原因:	ヘルプ・システムが起動できませんでした。

処置:	Query Builderではヘルプ・リソース・ファイルを見つけることができませんでした。 または、NLS_LANGが設定されていないか、メモリーが不十分です。


BRW-15649: <name>に入力された値が小さすぎます。最小許容値は<##>です。

原因:	入力値が小さすぎました。

処置:	より大きい値でもう一度試してください。


BRW-15650: <name>に入力された値は大きすぎます。最大許容値は<##>です。

原因:	入力値が大きすぎました。

処置:	より小さい値でもう一度試してください。


BRW-15651: <name>に入力された値は範囲外です。<##>と<##>の間にある値を入力してください。

原因:	入力値が有効範囲外でした。

処置:	有効な値でもう一度試してください。


BRW-15652: 値は、<Value>にリセットされました。

原因:	入力値は、有効範囲外だったため変更されました。

処置:	有効な値でもう一度試してください。 そうしないと、Query Builderは指定された値を使用します。


BRW-15653: 作業環境ファイル・エラー: 値: <Value>が小さすぎます。最小許容値は<##>です。

原因:	入力値が小さすぎました。

処置:	より大きい値でもう一度試してください。


BRW-15654: 作業環境ファイル・エラー: 値: <Value>が大きすぎます。最大許容値は<##>です。

原因:	入力値が大きすぎました。

処置:	より小さい値でもう一度試してください。


BRW-15655: 作業環境ファイル・エラー: 値: <Value>が範囲外です。<##>と<##>の間にある値を入力してください。

原因:	入力値が有効範囲外でした。

処置:	有効な値でもう一度試してください。


BRW-15656: 作業環境ファイル・エラー: <Value>の値が認識されていません。

原因:	作業環境ファイルに設定されている値は無効でした。

処置:	有効な値でもう一度試してください。


BRW-15657: OWNERLIST=NAMEの値には、1つ以上の名前が存在する必要があります。

原因:	OWNERLIST=NAMEの値はNULLでした。

処置:	有効な名前でもう一度試してください。


BRW-15900: 時間間隔の情報が見つかりません。

原因:	このデータベースでは時間がサポートされていないか、またはデータベース・エラーです。

処置:	このエラーが予測外の場合は、後でもう一度試してください。


BRW-15901: オブジェクト: <name2>が参照しているデータソース: <name1>は、すでに存在しません。

原因:	オブジェクトのベース・データ・ソースが削除されています。

処置:	オブジェクトをリフレッシュ/削除してください。


BRW-15902: オブジェクト: <name>に参照されていた表は存在していません。

原因:	オブジェクトのベース・データ・ソースが削除されています。

処置:	オブジェクトをリフレッシュ/削除してください。


BRW-15903: 対応する表: <name>は、ビジネス・エリアにはありません。結合情報にアクセスできません。

原因:	リレーション: 対抗データ表/オブジェクトがどのグループにもありません。

処置:	グループにそのオブジェクトへのアクセス権を付与してください。


BRW-15904: <##>バイトを超えるリレーション名を指定することはできません。

原因:	リレーション名が制限よりも長すぎます。

処置:	より短い名前を使用してください。


BRW-15905: <##>バイトを超える列見出しを指定することはできません。

原因:	項目の見出しが制限よりも長すぎます。

処置:	より短い見出しを使用してください。


BRW-15906: <##>バイトを超える列書式を指定することはできません。

原因:	項目の書式が制限よりも長すぎます。

処置:	より短い書式を使用してください。


BRW-15907: 列表示に<##>ディジット桁を超える数値を指定することはできません。

原因:	項目の表示幅の精度が制限よりも長すぎます。

処置:	より短い表示幅を使用してください。


BRW-15908: <##>バイトを超える時間間隔名を指定することはできません。

原因:	時間間隔名が長すぎます。

処置:	より短い時間間隔名を使用してください。


BRW-15909: 間隔列および時間間隔の順次列は同じです。

原因:	時間間隔および時間間隔の順次列が、同一列に設定されています。

処置:	時間間隔および順次列が異なることを確認してください。


BRW-15910: 時間間隔: <name>をロードできません。

原因:	時間間隔をロード中にスキーマ内部エラーが発生しました。

処置:	詳細は、後に続くエラー・メッセージを参照してください。


BRW-15911: 時間間隔: <name>はすでに存在しています。

原因:	時間間隔名は、一意にする必要があります。

処置:	別の名前で時間間隔を作成してください。


BRW-15912: 表示幅の値が間違っています。

原因:	表示幅の値が不正です。

処置:	正しい値を入力してください。


BRW-15913: <name>キー・テキストを指定してください。

原因:	外部キーまたは主キーのテキストが空です。

処置:	主キーまたは外部キーのテキストを入力してください。


BRW-15914: リレーション名を指定してください。

原因:	リレーション名が、NULLです。

処置:	リレーション名を入力してください。


BRW-15924: ビジネス･エリア名を指定してください。

原因:	ビジネス・エリア名が空またはスペースです。

処置:	新しい名前を入力してください。


BRW-15925: 表: <name1>は、<name2>としてすでにインポートされています。

原因:	表は、与えられた名前で1度だけインポートできます。

処置:	異なる名前で表をインポートしてください。


BRW-15926: ビジネス･エリア: <name>はすでに存在します。

原因:	ビジネス・エリア名は一意でなくてはなりません。

処置:	別の名前でビジネス・エリアを作成してください。


BRW-15927: ビジネス･エリア: <name1>には、すでに<name2>という名前の表があります。

原因:	表名は、ビジネス・エリア内で一意にする必要があります。

処置:	表を改名/再インポートして、ビジネス・エリアに追加してください。


BRW-15928: ビジネス・エリア名が長すぎます（最大<##>バイト）。

原因:	ビジネス・エリア名が長すぎます。

処置:	名前を短くして、もう一度試してください。


BRW-15929: ビジネス・エリアの記述が長すぎます（最大<##>バイト）。

原因:	ビジネス・エリアの記述が長すぎます。

処置:	記述を短くして、もう一度試してください。


BRW-15930: 表: <name>をコミットしている間にエラーが発生しました。

原因:	表をコミットしている間にエラーが発生しました。

処置:	再試行してください。


BRW-15931: ビジネス･エリア: <name>をコミットしている間にエラーが発生しました。

原因:	ビジネス・エリアをコミットしている間にエラーが発生しました。

処置:	再試行してください。


BRW-15932: 時間間隔: <name>をコミットしている間にエラーが発生しました。

原因:	時間間隔をコミットしている間にエラーが発生しました。

処置:	再試行してください。


BRW-15933: リレーション: <name>をコミットしている間にエラーが発生しました。

原因:	リレーションをコミットしている間にエラーが発生しました。

処置:	再試行してください。


BRW-15937: 表:<name>のSQLを生成中にエラーが発生しました。

原因:	表のSQLを生成中にエラーが発生しました。

処置:	再試行してください。


BRW-15938: ビジネス･エリア: <name>のSQLを生成中にエラーが発生しました。

原因:	ビジネス・エリアのSQLを生成している間にエラーが発生しました。

処置:	再試行してください。


BRW-15939: 時間間隔: <name>のSQLを生成中にエラーが発生しました。

原因:	時間間隔のSQLを生成中にエラーが発生しました。

処置:	再試行してください。


BRW-15940: リレーション: <name>のSQLを生成中にエラーが発生しました。

原因:	リレーションのSQLを生成中にエラーが発生しました。

処置:	再試行してください。


BRW-15950: Query Builder表がありません -- データベースのオープン/保存ができません。

原因:	データベースにQuery Builderのシステム問合せ表が1つもありません。

処置:	システム問合せ表を作成してください（Query Builderインストール・スクリプトを実行する）。


BRW-15951: 製品のユーザー・プロファイル情報をロードできません。

原因:	ユーザー・プロファイル表をロードできません。

処置:	システム管理者に作成を依頼してください。


BRW-15952: ユーザ権限表がロードされていません。

原因:	USER_USERS表がありません（Oracle以外またはOracle V7データベース）。

処置:	何も使用できません。


BRW-15953: 表権限表がロードされていません。

原因:	権限表を見つけることができません。

処置:	Oracle以外のデータベースか、Oracle V7データベースです。


BRW-15954: Oracle Query Builder 2.5の表が存在しないか、適切にインストールされていません。

原因:	QUERY BUILDER_DOCS_SQL表がありません。

処置:	Query Builder 2.5の表を再インストールしてください。


BRW-15955: 問合せが行を返しませんでした。

原因:	問合せが行を返しませんでした。

処置:	問合せを修正し、データベースに存在するデータをリクエストするようにしてください。


BRW-16000: 文書は標準ディクショナリではなく、エンド・ユーザ･レイヤーのディクショナリで保存されます。よろしいですか?

原因:	エンド・ユーザー・レイヤーを使用して保存した文書をネイティブ・モードでオープンしようとしました。

処置:	DICTIONARY=ENDUSERでQuery Builderを実行するか、続行してください（エンド・ユーザー・オブジェクトはアクセス不能になります）。


BRW-16001: 文書はエンド・ユーザ･レイヤーのディクショナリではなく、標準ディクショナリで保存されます。よろしいですか?

原因:	ユーザーは、標準ディクショナリを使用して保存した文書をENDUSERモードでオープンしようとしました。

処置:	DICTIONARY=NATIVEでQuery Builderを実行するか、続行してください（いくつかのデータベース・オブジェクトがアクセス不能になる可能性があります）。


BRW-16250: 文書はすでに存在しています。上書きしますか?

原因:	ユーザーは、既存の文書を「名前を指定して保存」しようとしました。

処置:	ユーザーは上書きするか、取り消すことができます。


BRW-16251: 表が変更されています。続行しますか?

原因:	ビューは削除され、再作成されました。 文書と一貫していない可能性があります。

処置:	継続するか、保存を中止してください。


BRW-16500: ローカル・ソートにはメモリーが使用できません。再実行しますか?

原因:	ローカル・ソートにまだすべての行がフェッチされていません。

処置:	問合せを再実行してください。


BRW-16503: ローカル・ソートにはデータが使用できません。再実行しますか?

原因:	ローカル・ソートにまだすべての行がフェッチされていません。

処置:	問合せを再実行してください。


BRW-16504: ローカル・ブレークにはデータが使用できません。再実行しますか?

原因:	ローカル・ブレークにまだすべての行がフェッチされていません。

処置:	問合せを再実行してください。


BRW-16525: 問合せには直積が必要かもしれません。続行しますか?

原因:	問合せでは関連付けられていない表の結果を結合します。

処置:	メッセージを無視するか、実行する前に表を関連付けてください。詳細はヘルプまたはドキュメンテーションを参照してください。


BRW-16531: パラメータ: <name>を再定義しますか？

原因:	式または条件に以前削除したパラメータを入力しました。

処置:	意図的に入力した場合は、「OK」を押してください。


BRW-16532: パラメータ: <name>は存在していません。定義しますか?

原因:	式または条件に新しいパラメータを入力しました。

処置:	意図的に入力した場合は、「OK」を押してください。


BRW-16549: 「変更の破棄」は、これらの表のすべての変更を元に戻します。変更を破棄しますか?

原因:	データ表を戻す前に確認が必要です。

処置:	選択されているデータ表の変更をすべて戻す場合は、「OK」をクリックし、操作を取り消す場合は「取消し」をクリックします。


BRW-16550: 表:<name>には、他から参照されている主キー/一意キーがあります。削除しますか?

原因:	表には制約が含まれています。

処置:	データ表を削除する場合は「OK」をクリックし、操作を取り消す場合は「取消し」をクリックします。


BRW-16551: 列には、主キー/一意キー、または索引があります。削除しますか?

原因:	列が制約または索引に使用されています。

処置:	列を削除する場合は「OK」をクリックし、操作を取り消す場合は「取消し」をクリックします。


BRW-16552: 全ての制約を無効にしますか？

原因:	すべての制約を使用不可にすることを確認するメッセージです。

処置:	確定または取り消すことができます。


BRW-16553: 全ての制約を有効にしますか？

原因:	すべての制約を使用可能にすることを確認するメッセージです。

処置:	確定または取り消すことができます。


BRW-16575: コミットされていない変更は失われます。コミットしますか?

原因:	変更をコミットせずに、データ・エディタを終了しようとしました。

処置:	「コミット」をクリックします。 コミットしない場合、変更は失われます。


BRW-16576: 定義済み列、サマリー値、ブレーク値が現在のものでない可能性があります。再度実行しますか?

原因:	ブレーク列、サマリー列または定義済み列を表示中に値が編集されました。

処置:	問合せを実行して、値を更新します。


BRW-16623: この操作で使用できるデータはありません。

原因:	印刷に使用できる行または列の数がゼロの場合に警告されるメッセージです。

処置:	再実行または列の取り込みを行ってください。


BRW-16624: 問合せ定義が変更されました。データは最新のものではないかもしれません。よろしいですか?

原因:	問合せドキュメントが、最後の実行以降変更されています。

処置:	問合せを再実行、エクスポートの継続または中止のいずれかを行ってください。


BRW-16625: プリンタは必要なすべてのフォントをサポートしているわけではありません。かわりのフォントを使用しますか?

原因:	選択されているプリンタに、そのフォント、スタイルまたは太さが存在しません。

処置:	フォントを置き換えて続行するか、取り消すことができます。


BRW-16626: 印刷プレビューを表示するのにメモリーが足りません。

原因:	印刷プレビューのためのビットマップを作成できません。

処置:	処置は不要です。


BRW-16627: この操作に使用できるデータがありません。問合せを実行しますか?

原因:	エクスポート・データが空のワークシートでコールされる場合に警告されるメッセージです。

処置:	問合せの実行または取消しを行ってください。


BRW-16628: プリンタ装置を取得することができません。印刷できません。続行しますか?

原因:	uiprc()を伴うツールキット・プリンタ・サーフィスの作成エラーです。

処置:	印刷せずに続行するか、取り消すことができます。


BRW-16629: 終了する前にコンテナを更新しますか?

原因:	OLEドキュメントをクローズ/終了するときに、変更を保存することを指示するメッセージです。

処置:	変更を保存、中止または操作を取り消すことができます。


BRW-16650: プリンタは必要なすべてのフォントをサポートしているわけではありません。かわりのフォントを使用しますか?

原因:	選択されているプリンタに、そのフォント、スタイルまたは太さは存在しません。

処置:	フォントを置き換えて続行するか、取り消すことができます。


BRW-16651: プリンタが選択されていません。デフォルトのプリンタを使用しますか?

原因:	使用するプリンタを明示的に指定していません。

処置:	システムのデフォルト・プリンタで続行するか、取り消すことができます。


BRW-16652: 文書のマージンが広すぎます。再設定してください。

原因:	マージンを大きく設定しすぎて、コンテンツに余裕が残されていません。

処置:	マージンを再設定する必要があります。


BRW-16653: プリンタが選択されていません。デフォルトのプリンタを使用しますか?

原因:	使用するプリンタを明示的に指定していません。

処置:	システムのデフォルト・プリンタで続行するか、取り消すことができます。


BRW-16654: 印刷されませんでした。

原因:	コピー数を0に設定したか、開始/終了ページを範囲外に設定しています。

処置:	ページ範囲を再設定してください。


BRW-16660: 問合せ定義が変更されました。データは最新のものでない可能性があります。再実行しますか?

原因:	問合せドキュメントが、最後のDDE更新以降変更されています。

処置:	DDE更新の前に問合せを再実行するか、実行せずに更新してください。


以下に示されているのは、（共通領域の独自のフォルダにある）Oracle8の項目を除くリリース6.0の新機能です。


PL/SQL編集機能の強化

プログラム単位エディタおよびストアド・プログラム単位エディタでは、Microsoft Windowsでの次のようなさまざまな編集機能が新しくサポートされます。

•	自動インデント－エディタでのコード入力中に、自動的に行がインデントされます。

•	色による構文の強調－キーワード、コメントおよび文字列にそれぞれ異なる色が付けられます。

•	列および行の選択－テキストの列をソース・コードの行と同じように選択できます。

•	テキストのドラッグ・アンド・ドロップ操作－選択したテキストを、ドラッグ・アンド・ドロップ操作によりコピーまたは移動できます。

•	分割表示－エディタ内で、現在のプログラム単位に対して最大4個の個別のビューを作成できます。

•	無制限の取消し/再実行－すべての編集アクションを、コードが最後に保存された時点にさかのぼって取消しまたは再実行できます。

•	無制限の取消し/再実行－すべての編集アクションを、コードが最後に保存された時点にさかのぼって取消しまたは再実行できます。


値リスト・ウィザード

  関連項目

値リスト・ウィザードを使用して、値リストを作成および修正できます。値リストはスクロール可能なポップアップ・ウィンドウで、単一または複数の列を持った選択リストをユーザーに提示します。このウィザードでは、既存のレコード・グループの選択（または、新規問合せレコード・グループの作成）、レコード・グループからの表示列の選択、および値リストのフォーマットという値リスト作成の一連のプロセスが順に提示されます。値リスト・ウィザードを再入力可能モードで使用することにより、既存の値リストを修正することもできます。


階層構造ツリーの制御

  関連項目

階層構造ツリーには、Forms Developerで使用されるツリーに似た標準のナビゲータ形式でデータが表示されます。

階層ツリーには、レコード・グループや問合せテキストに含まれる値を移入できます。実行時には、プログラムを使用して、階層ツリー内の要素を追加、削除、変更または評価できます。

一度に表示できるデータの量は、ビルトインを使用する場合も、ユーザーがノードをクリックする場合も、個々のデータ・ノードの拡張数によって異なります。通常、データ・セットは最初にForm Builderによって指定され、実行時に変更または置換される場合があります。


Forms Runtime Diagnostics

  関連項目

Forms Runtime Diagnostics（FRD）は実行時イベント・ベースのロギング・システムで、アプリケーションのデバッグを支援する目的で設計されています。

FRDを有効にしてフォームを実行すると、外部のユーザー・アプリケーションとの対話と内部のForms処理イベントの両方が、ファイル・システム上のログに時系列順に書き込まれます。これらが正しいイベントかどうかを分析できます。


トランスポータブルJavaコンポーネントを使用したアプリケーションの拡張
プラグイン可能Javaコンポーネントを使用したアプリケーションの拡張

  関連項目

WebFormsアプリケーションを作成する際、その機能を拡張およびカスタマイズすることができます。

これには2つの方法があります。

•	アプリケーションへのJavaBeans追加による方法。

•	フォームの標準ユーザー・インタフェース・コンポーネントとユーザー独自のカスタマイズ･バージョンとの置換による方法。または、ユーザー独自の特別なユーザー・インタフェースコンポーネント追加による方法。

JavaBeansおよびWebFormsによりサポートされるカスタマイズ済コンポーネントは、プラグイン可能Javaコンポーネントと呼ばれます。

JavaBeansとは

JavaBeansとは、Javaで記述されたアプリケーション単位です。移植および再使用が可能であり、プラットフォーム独自のものです。機能的には、JavaBeanではJava言語において可能なことはすべて実行できます。

JavaBeansを個別、または相互もしくはJavaプログラム以外のものと組み合わせて使用して、適用性の広い能力を持つ大規模なアプリケーションを迅速に構成することができます。

JavaBeansはJavaアプレットと類似していますが、すべてのJavaBeansは公開のJavaBeansの仕様に準拠しており、アプリケーション・コンポーネントとしての有用性を拡張する一定の特性を備えています。JavaBeansには、永続性があり、イントロスペクションが行えます。また、アプリケーション内の他コンポーネントとの通信の際には、プロパティ、メソッドおよびイベントが使用されます。

JavaBeansが便利な理由

JavaBeanをFormsアプリケーションに追加することにより、機能を簡単に拡張することができます。独自のJavaBeansを書き込むこともできますが、開発者の多くは、開発処理のスピード向上が可能なため、既製のJavaBeansを好んで取得します。既製のBeansは、アプリケーションに迅速に組み込むことができます。

既製のJavaBeansは、増え続けているソフトウェア・ベンダーから入手できます。また、使用可能なBeansにより、幅広いインスタント機能が提供されます。

プラグイン可能Javaコンポーネントの動作について

WebForms製品により、JavaBeansおよびカスタマイズされたインタフェース・コンポーネントをユーザーのアプリケーションに簡単に追加することができるインタフェース・ メカニズムが提供されます。

JavaBeansおよびカスタマイズされたコンポーネントでは、IViewインタフェースがコールされ、特別なForms定義インタフェースが使用されます。このJavaインタフェースは、ユーザー用に提供されます。

JavaBeansにおいても、VBeanクラスがコールされ、特別なForms提供のJavaクラスが使用されます。このクラスを拡張するコンテナにJavaBeanをラップすることにより、JavaBeanにおいて、実行時にフォームと簡単に通信できます。JavaBeanは、フォームから開始され、値は相互に渡されます。

IViewインタフェースおよびVBeanクラスに加えて、WebFormsにおいても、プラグイン可能コンポーネント通信用に一定のフォーム・プロパティ、ビルトイン、トリガーおよびシステム変数が提供されます。

画面に表示されるもの

実行時、エンド・ユーザーに対しては、JavaBeanがインタフェース項目により画面上に表示されます。項目をクリックすると、JavaBeanが実行されます。他のコントロールおよびデータ項目もBeansと対応付けられ、実行時の対話や変更された値もしくは結果の表示が可能となる場合があります。

実行時の通信

実行開始時の起動処理中、WebFormsではJavaBeanとの通信メカニズムが設定されます。WebFormsでは、コンテナ・クラスへのアクセスが実行され、コンテナとそのBeansがインスタンシエートされます。この起動処理において、リスナー・リレーションが登録されるため、実行中プロパティは共有され、イベントは伝達されます。

Forms要素への影響

WebForms製品の要素は、次のような新しいプラグイン可能Javaコンポーネント機能の影響を受けます。

•	Bean領域という新しい項目タイプが追加される項目タイプのプロパティ。

•	完全修飾クラス名により項目をJavaコンポーネントに接続するインプリメンテーション・クラス・プロパティという新規プロパティ。

•	Javaコンポーネントとの通信の際に使用されるGet_Custom_PropertyおよびSet_Custom_Propertyという新規ビルトイン。

•	Javaコンポーネントからのイベント情報受信の際に使用されるWhen-Custom-Item-Eventトリガー。（Bean領域のみで適用可能）

•	Javaコンポーネントからのイベント識別子および値受信の際に使用されるSystem.Custom_Item_EventおよびSystem.Custom_Item_Event_Parameters記憶領域。

プラグイン可能Javaコンポーネントに関する追加情報については、前述の「関連項目」ボタンを使用します。


DesignerからのWebFormsの起動
BuilderからのWebFormsの起動

  関連項目

Webから実行されるように設計されたフォームを簡単にプレビューできるようになりました。Web プレビューアを起動して、Java UIシェルにおいてローカルでフォームを実行するには、オブジェクト・ナビゲータまたはレイアウト・エディタで「Webでフォーム実行」アイコン（ [image] ）をクリックします。


Java UI（ユーザー・インタフェース）シェル

Network Computing initiativeの一員として、オラクル社はJavaコンポーネントの新しいデスクトップ環境の定義に取り組んでいます。このデスクトップ環境に対する最初のステップとして、オラクル社ではOracleデスクトップ環境の一部となる軽量のウィンドウ・システムおよびメニュー・システムを開発中です。Java UIシェルは、Java UIコンポーネントの構成可能な操作性や処理をサポートします。

クライアントUIシェルの詳細は、「Forms Developer Serverの構成」を参照してください。


｢遅延を必須強制｣プロパティの拡張

Defer Required Enforcementプロパティに3番目のオプションが追加されました。このオプションを使用すると、リリース5.0互換性モードでの実行が可能になりますが、部分的にリリース4.5の動作も残ります。

このオプションを選択すると、項目レベルの妥当性チェック時に必須項目にNULL値が受け入れられ（項目インスタンスは有効なものとしてマークされません）、When-Validate-Triggerが起動されます。

詳細は、｢遅延を必須強制｣プロパティおよびForm Builder 4.5のランタイム動作の｢BehaviorForm_Builder_45_Runtime_Behaviior｣を参照してください。


切捨ておよび検証の制御に使用する新規プロパティ

「Flag_User_Value_Too_Long.」という新規アプリケーション・プロパティが追加されました。

このプロパティを使用すると、エンド・ユーザーにより項目の「最大長」プロパティを超える値が入力されたときに、Form Builderでは検証中にどのように動作させるかを選択できます。

このプロパティは、UTF8以外のマルチバイト・キャラクタ・セットを指定する中間層（Forms Server）を持つ3層環境にのみ適用されます。

詳細は、「Flag_User_Value_Too_Long」プロパティを参照してください。


すべてのタブ・ページをリストする新機能

[List Tab Pages (タグページのリスト)]という新しいキー（[F2]キーに対応）が、タブ・キャンバス機能に追加されました。

このキーを押すと、キャンバスのすべてのタブ・ページ名の「ポップダウン」リストが表示されます。このリストから、起動するタブ・ページを見つけることができます。

この機能は、キャンバス用に多数のタブがあり、すべてを同時に表示できない場合などに有用です。


エラー・メッセージについて

各コンポーネントには、次に示す一意のエラー・メッセージ接頭辞があります。

接頭辞	コンポーネント
FRM	Form Builder
OG	Graphics Builder
PDE	Procedure Builder
REP	Reports Builder
BRW	Query Builder
BRS	Schema Builder
NX, XBD	Translation Builder
注意: UNIXでは、Report Builderにより、いくつかのメッセージに表示される$status変数の値は0(正常終了)または1(異常終了)に設定されます。

Forms DeveloperおよびReports Developerのエラー・メッセージに加え、次に示す他のソースからのエラー・メッセージが発生する場合があります。

接頭辞	ソース	ヘルプ
ORA	Oracle Server	『Oracle8 Serverエラー・メッセージ』
PLS	PL/SQL	『Oracle8 Serverエラー･メッセージ』
『Oracle8 Serverエラー・メッセージ』には、SQL*DBA、SQL*Loader、SQL*Module、エクスポート、インポート、Oracleプリコンパイラなど、すべてのデータベース・ユーティリティのエラー・メッセージ・コードと説明が挙げられています。

システム固有のエラー・メッセージについては、オペレーティング・システムのマニュアルに記述されています。


サポート担当への連絡

エラーによっては（内部エラーなど）、エラー報告のためサポート担当に連絡が必要なものがあります。カスタマ・サポートに連絡する場合、次の情報を用意しておいてください。

1	氏名、会社名およびOracleサポートID番号。

2	ハードウェア、オペレーティング・システムおよび使用しているオペレーティング・システムのリリース番号。

3	エラー発生時に使用していたコンポーネントの完全なバージョン番号、および改訂番号とポート・リリース番号（存在する場合）。（コンポーネントのバージョン番号が不明な場合は、「ヘルプ」 [image] 「バージョン情報」を選択してください。）

4	エラー発生時に使用していたその他のすべてのコンポーネント（およびバージョン番号）（たとえば、Oracle 8.0.4）。

5	1つ以上のエラー・メッセージが発生した場合、それらが現れた順に、正確なメッセージ番号と説明。

6	問題の説明（異常な状態など）。

7	次のコードに基づいた、問題の重大度。

•	1:  プログラムが使用できない。操作に重大な影響がある。

•	2:  プログラムは使用できる。操作がかなり制限される。

•	3:  プログラムは使用できるが機能に制限がある。全体の操作に重大な影響はない。

•	4:  使用方法が限定される。操作にはわずかな影響しかない。


異常な状態

時々、異常な状態として知られているエラーが発生する場合があります。これは、次に挙げる原因から起きる可能性があります。

•	アプリケーションが要求されたタスクを完了できない事態が生じました。たとえば、誰かが標準のユーザー・インタフェースを使用せずに、データベースの表の中のデータを変更した場合、無効な値を入力する可能性があります。

•	ソフトウェアのバグが、要求されたタスクの完了を妨げました。

対策  まず、メッセージがForms DeveloperおよびReports Developer以外のものが原因で起きたかどうかを確認するため、システム管理者に連絡してください。メッセージがユーザー・エラーやシステム問題から発生したのではないことが確認された場合、サポート担当に連絡してください。


「PL/SQL V1の変換オプション」ダイアログ・ボックス

サポートされているPL/SQL V1またはV2構文の各タイプのエラーが発生した場合、「PL/SQL V1の変換オプション」ダイアログ・ボックスを使用して、ユーティリティが取るべき処置をコントロールします。作業環境は変換ユーティリティの複数回の起動に渡って、Windows95/NTレジストリまたはUNIXプロファイルのどちらにも保存されます。

問題のタイプ	変換ユーティリティでサポートされるPL/SQL V1またはV2構文タイプの状態リスト。 CHARをVARCHAR2に置換 VARCHAR2に必要な文字列の長さを設定 OUTおよびIN OUTのデフォルト式を削除 式に必須なRETURN文 廃止されたビルトインの置換 ファンクションlengthはゼロ長の文字列に対しNULLを返す NULLを渡すオーバーロードしたサブプログラムへの対処 ファンクションにRETURN文を指定しないとランタイム・エラーが発生する
変換	選択された問題のすべてのインスタンスが、確認の指示なしに自動的に変換されます。
すべて変換	変換するすべての問題のタイプを設定するための迅速なパス。ユーティリティは、確認の指示なしにすべてのPL/SQL V1またはV2を自動的に変換します。
スキップ	問題のタイプが選択されると、問題のすべてのインスタンスが無視されます。コンパイラ・エラーを避けるには、手動でV1またはV2コードを修正する必要があります。
すべて無視	無視するすべての問題のタイプを設定するための迅速なパス。ユーティリティは、すべての問題のタイプを無視し、どんな変換も実行しません。コンパイラ・エラーを避けるには、手動でV1またはV2コードを修正する必要があります。
確認	選択された問題のタイプについて、各インスタンスを別々に「変換」ダイアログ・ボックスに表示します。ダイアログ・ボックスから、「変換」または「無視」のどちらでも選択できます。
すべて確認	すべての問題タイプを「確認」に設定するための迅速なパス。ユーティリティは、PL/SQL V1またはV2文字列を変換する前に、（「変換」ダイアログ･ボックスで）確認を行うように指示します。
OK	選択したものを確認し、ダイアログ・ボックスをクローズします。
取消し	モジュールへのすべての変更を取り消し、ダイアログ・ボックスをクローズします。


「変換」ダイアログ・ボックス

「変換」ダイアログ・ボックスで、PL/SQL V1またはV2の変換プロセスを対話式にコントロールできます。以下に示した変換のためのオプションを設定するには、「オプション」をクリックしてください。

ソース・ペイン	変換条件が検出されるプログラム単位ソースを表示します。変換される構文は強調表示されます。このペイン内でスクロール・アップまたはダウンを行い、それまでに完成された変換をレビューできます。
条件:	変換を必要とするPL/SQL V1またはV2文。
処置:	「変換」をクリックしたときに、変換ユーティリティが行うこと。
説明. . .	問題の詳細と、変換を無視した場合に起こることについて表示します。
変換	推奨されるデフォルト動作を受け入れ、次の文に移動します。
すべて変換	モジュール全体にわたり、すべてのPL/SQL V1またはV2構文の問題を変換します。このモジュールは、複数のユニットを持つ場合があります。すべてのデフォルト動作が受け入れられます。
スキップ	「問題」フィールドに記述されるPL/SQL V1またはV2文を変換せずに、次の文へ移動します。
すべて無視	モジュール全体についての変換を回避します。このモジュールは、複数のプログラム単位を持つ場合があります。
オプション. . .	変換プロセスを制御するオプションを指定できる「PL/SQL V1の変換オプション」ダイアログ・ボックスを表示します。


「PL/SQL V1の変換サマリー」ダイアログ・ボックス

「PL/SQL V1の変換サマリー」ダイアログ・ボックスによって、次の情報を入手できます。

•	正常に変換されたソース行

•	無視されたソース行

•	PL/SQLコンパイラ・エラーを生成したソース行

ツールバー・ボタン:

Xアイコン	ダイアログ・ボックスをクローズします。
?アイコン	ダイアログ・ボックスのヘルプを表示します。
サマリー・ペイン:

検索	拡張および縮小ノードのどちらにも標準検索機能を提供します。
ノード	モジュールの各プログラム単位のためのもの。ノードがプラス記号を含む場合は、それをクリックすると、変換または無視されたもの（およびその方法）についてのサマリーを表示します。ノードが空（プラス記号もマイナス記号もない）の場合は、プログラム単位は変換を必要としません。 コンパイラ・エラーをアドレスする、または変換されたソースや無視したアイテムをレビューするには、拡張されたノードにある行をダブル・クリックします。（または行を選択し、「プログラム」 [image] 「プログラム単位エディタ」を選択します。）エディタは、選択された行のカーソル位置でオープンします。 注意: プログラム単位エディタを使用してソースを変更した後では、次回に行をダブル・クリックするか、または「編集」ボタンを使用すると、カーソルがあるべき位置にないことがあります。
メニュー・アイテム:

プログラム・メニューには次の2つのオプションがあります。

プログラム単位エディタ	プログラム単位エディタでソースをオープンします。カーソルは選択した行に置かれます。
変換オプション	「PL/SQL V1の変換オプション」ダイアログ・ボックスを表示するので、指定したオプションをビューまたは修正できます。
ポップアップ・メニュー:

マウス右ボタンをクリックして、ポップアップ・メニューを表示します。

編集	プログラム単位エディタでソースをオープンします。カーソルは選択した行に置かれます。
説明	選択された行に要求される変換のタイプについてのオンライン・ヘルプを表示します。


PL/SQL V1変換の例

関連項目 	   すべての例

デフォルト式を削除する

NULLをRETURN文に追加する

廃止されたビルトインを置換する

ファンクションlength

オーバーロードしたサブプログラムにNULLを渡す

RETURN文が指定されていない

パッケージのプロシージャ名を一意名に変更する

パッケージの接頭辞を削除する

予約語

長さの制限を削除する

変数の宣言


オブジェクト・ナビゲータ

オブジェクト・ナビゲータでのオブジェクトの表示

オブジェクト・ナビゲータについて

オブジェクト・ナビゲータのビューの変更

オブジェクト・ナビゲータでのナビゲートとオブジェクトの選択

オブジェクト・ナビゲータでのオブジェクトの拡張と縮小

高速検索を使ったオブジェクト・ナビゲータのエントリの検索

オブジェクト・ナビゲータでのマークの設定

複数のウィンドウを使った作業

オブジェクト・ナビゲータでのオブジェクトの作成と移動

オブジェクト・ナビゲータでのオブジェクトの作成と削除

オブジェクト・ナビゲータでのオブジェクト名の変更

オブジェクト・ナビゲータでのオブジェクトの移動とコピー

モジュール間でのオブジェクトのコピー


レイアウト・エディタ

一般的な情報

レイアウト・エディタについて

レイアウト・エディタのツール・パレット

レイアウト・エディタでの別のキャンバスへの切替え

レイアウト・エディタでのオブジェクトの選択

レイアウト・エディタでのオブジェクトの移動

レイアウト・エディタでのオブジェクトのサイズ変更

レイアウト・エディタでのオブジェクトの整列

レイアウト・エディタでのオブジェクトのグループ設定

レイアウト・エディタでのオブジェクトの順序

ブロックと項目

項目の作成

レイアウト・エディタのブロック・コンテキストの設定

マルチレコード・ブロックを使った作業

オブジェクトのフォーマット

レイアウト・エディタでのカラー属性とパターン属性の設定

レイアウト・エディタでの項目のフォーマット


PL/SQLエディタ

PL/SQLエディタでのコードの書込み

トリガーの作成

トリガー・コードの書込み

ビルトイン・サブプログラムのコール

PL/SQLエディタについて

PL/SQLエディタのコンテキスト

PL/SQLエディタ・コマンド

Forms BuilderでのPL/SQLの使用


メニュー・エディタ

カスタム・メニューの構築ステップ

メニュー・モジュールの作成

メニューとメニュー項目の作成

メニュー項目へのコマンドの割当て

フォームへのメニュー・モジュールの連結

メニュー・エディタの使用

メニュー・エディタでのメニューの表示

メニュー・オブジェクト名とラベルについて

メニュー・オブジェクト名とラベルの変更

特殊メニュー項目の追加

特殊メニュー項目のタイプについて

特殊メニュー項目の作成

チェック・メニュー項目とラジオ・メニュー項目のコマンド

チェック・メニュー項目とラジオ・メニュー項目の状態の設定

マジック項目のデフォルトの機能


インタフェース項目の定義

  ステップ・オーバー

動作の定義方法

•	ActiveXコントロールの定義

•	ボタンの定義

•	チャート項目の定義

•	チェックボックスの定義

•	イメージ項目の定義

•	リスト項目の定義

•	OLEコンテナ項目の定義

•	ラジオ・グループの定義

•	サウンド項目の定義

•	テキスト項目の定義


ActiveXコントロールの定義

  関連項目

目的の操作

フォームのActiveXコントロールの有効化

ActiveXコントロール・プロパティの設定と取得

ActiveXコントロール・メソッドの起動

ActiveXコントロール・イベントへの応答

ActiveXコントロールの登録

アプリケーションでのActiveXコントロールの実行


ボタンの定義

  関連項目

目的の操作

ボタン・ラベルの追加

アイコン・ボタンの定義

デフォルト・ボタンの定義

実行時のボタンの操作


チャート項目の定義

目的の操作

チャート項目の作成


チェックボックスの定義

  関連項目

目的の操作

チェックボックスの初期値の指定

実行時のチェックボックスの操作


イメージ項目の定義

  関連項目

目的の操作

イメージ項目の挿入

実行時のイメージの項目操作


リスト項目の定義

  関連項目

目的の操作

リスト項目の初期値の指定

実行時のリスト項目の操作

リスト要素の追加について

レコード・グループにおけるリスト要素の検索と格納

リスト要素の削除


OLEコンテナ項目の定義

  関連項目

目的の操作

OLEオブジェクトの埋込み

OLEオブジェクトのリンク

OLEオブジェクトの表示

OLEオブジェクトの編集

OLEオブジェクトの変換


ラジオ・グループの定義

  関連項目

目的の操作

ラジオ・グループの初期値の指定

実行時のラジオ・グループの操作


サウンド項目の定義

  関連項目

目的の操作

サウンド項目制御プロパティの設定

プログラムでのサウンド項目の操作


テキスト項目の定義

  関連項目

目的の操作

単一行テキスト項目と複数行のテキスト項目の作成

値が必須なテキスト項目の作成

テキスト項目の最大長の指定

テキスト項目の必須値の指定

テキスト項目の固定長値の指定

有効な値の範囲の指定

テキスト項目の値の非表示

書式マスクを使った書式の値

テキスト項目への値リスト（値リスト）の割当て

実行時のテキスト項目の操作


ビルトイン・パッケージ

 アルファベット順リスト	  関連項目

ActiveXビルトイン

警告ビルトイン

アプリケーション・ビルトイン

ブロック・ビルトイン

キャンバス・ビルトイン

チャート・ビルトイン

フォーム・ビルトイン

項目ビルトイン

メニュー・ビルトイン

メッセージ・ビルトイン

複数フォーム・ビルトイン

OLEビルトイン

パラメータ・リスト・ビルトイン

PECSビルトイン

問合せビルトイン

レコード・ビルトイン

関係ビルトイン

レポート・ビルトイン

タブ・ページ・ビルトイン

トランザクション・ビルトイン

Webビルトイン

ウィンドウ・ビルトイン


Form Builderのビルトイン

 すべてのビルトイン

A

ABORT_QUERY

ADD_GROUP_COLUMN

ADD_GROUP_ROW

ADD_LIST_ELEMENT

ADD_OLEARGS

ADD_PARAMETER

APPLICATION_PARAMETER

B

BELL

BLOCK_MENU

BREAK

C

CALL_FORM

CALL_INPUT

CALL_OLE

CALL_OLE_<return type>

CANCEL_REPORT_OBJECT

CHECK_RECORD_UNIQUENESS

CHECKBOX_CHECKED

CHECKED

CLEAR_BLOCK

CLEAR_EOL

CLEAR_FORM

CLEAR_ITEM

CLEAR_LIST

CLEAR_MESSAGE

CLEAR_RECORD

CLOSE_FORM

COMMIT_FORM

CONVERT_OTHER_VALUE

COPY

COPY_REGION

COPY_REPORT_OUTPUT

COUNT_QUERY

CREATE_GROUP

CREATE_GROUP_FROM_QUERY

CREATE_OLEOBJ

CREATE_PARAMETER_LIST

CREATE_QUERIED_RECORD

CREATE_RECORD

CREATE_TIMER

CREATE_VAR

CUT_REGION

D

DBMS_ERROR_CODE

DBMS_ERROR_TEXT

DEBUG_MODE

DEFAULT_VALUE

DELETE_GROUP

DELETE_GROUP_ROW

DELETE_LIST_ELEMENT

DELETE_PARAMETER

DELETE_RECORD

DELETE_TIMER

DESTROY_PARAMETER_LIST

DESTROY_VARIANT

DISPATCH_EVENT

DISPLAY_ERROR

DISPLAY_ITEM

DOWN

DO_KEY

DUMMY_REFERENCE

DUPLICATE_ITEM

DUPLICATE_RECORD

E.

EDIT_TEXTITEM

ENFORCE_COLUMN_SECURITY

ENTER

ENTER_QUERY

ERASE

ERROR_CODE

ERROR_TEXT

ERROR_TYPE

EXECUTE_QUERY

EXECUTE_TRIGGER

EXIT_FORM

F.

FETCH_RECORDS

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

FIRST_RECORD

FORM_FAILURE

FORM_FATAL

FORM_SUCCESS

FORMS_DDL

FORMS_OLE.ACTIVATE_SERVER

FORMS_OLE.CLOSE_SERVER

FORMS_OLE.EXEC_VERB

FORMS_OLE.FIND_OLE_VERB

FORMS_OLE.GET_INTERFACE_POINTER

FORMS_OLE.GET_VERB_COUNT

FORMS_OLE.GET_VERB_NAME

FORMS_OLE.INITIALIZE_CONTAINER

FORMS_OLE.SERVER_ACTIVE

G

GENERATE_SEQUENCE_NUMBER

GET_APPLICATION_PROPERTY

GET_BLOCK_PROPERTY

GET_CANVAS_PROPERTY

GET_FILE_NAME

GET_FORM_PROPERTY

GET_GROUP_CHAR_CELL

GET_GROUP_DATE_CELL

GET_GROUP_NUMBER_CELL

GET_GROUP_RECORD_NUMBER

GET_GROUP_ROW_COUNT

GET_GROUP_SELECTION

GET_GROUP_SELECTION_COUNT

GET_INTERFACE_POINTER

GET_ITEM_INSTANCE_PROPERTY

GET_ITEM_PROPERTY

GET_LIST_ELEMENT_COUNT

GET_LIST_ELEMENT_LABEL

GET_LIST_ELEMENT_VALUE

GET_LOV_PROPERTY

GET_MENU_ITEM_PROPERTY

GET_MESSAGE

GET_OLEARG_<type>

GET_OLE_MEMBERID

GET_OLE_<proptype>

GET_PARAMETER_ATTR

GET_PARAMETER_LIST

GET_RADIO_BUTTON_PROPERTY

GET_RECORD_PROPERTY

GET_RELATION_PROPERTY

GET_REPORT_OBJECT_PROPERTY

GET_TAB_PAGE_PROPERTY

GET_VAR_BOUNDS

GET_VAR_DIMS

GET_VAR_TYPE

GET_VIEW_PROPERTY

GET_WINDOW_PROPERTY

GO_BLOCK

GO_FORM

GO_ITEM

GO_RECORD

H

HELP

HIDE_MENU

HIDE_VIEW

HIDE_WINDOW

HOST

I

ID_NULL

IMAGE_SCROLL

IMAGE_ZOOM

INIT_OLEARGS

INITIALIZE_CONTAINER

INSERT_RECORD

ISSUE_ROLLBACK

ISSUE_SAVEPOINT

ITEM_ENABLED

J

K

L

LAST_OLE_ERROR

LAST_OLE_EXCEPTION

LAST_RECORD

LIST_VALUES

LOCK_RECORD

LOGON

LOGON_SCREEN

LOGOUT

M

MENU_CLEAR_FIELD

MENU_NEXT_FIELD

MENU_PARAMETER

MENU_PREVIOUS_FIELD

MENU_REDISPLAY

MENU_SHOW_KEYS

MESSAGE

MESSAGE_CODE

MESSAGE_TEXT

MESSAGE_TYPE

MOVE_WINDOW

N

NAME_IN

NEW_FORM

NEXT_BLOCK

NEXT_ITEM

NEXT_FORM

NEXT_KEY

NEXT_MENU_ITEM

NEXT_RECORD

NEXT_SET

O

OLEVAR_EMPTY

OPEN_FORM

P

PASTE_REGION

PAUSE

PECS.ADD_CLASS

PECS.ADD_EVENT

PECS.COLLECTOR

PECS.DISABLE_CLASS

PECS.ENABLE_CLASS

PECS.END_EVENT

PECS.POINT_EVENT

PECS.START_EVENT

PLAY_SOUND

POPULATE_GROUP

POPULATE_GROUP_WITH_QUERY

POPULATE_LIST

POST

PREVIOUS_BLOCK

PREVIOUS_FORM

PREVIOUS_ITEM

PREVIOUS_MENU

PREVIOUS_MENU_ITEM

PREVIOUS_RECORD

PRINT

PTR_TO_VAR

Q

QUERY_PARAMETER

R

READ_IMAGE_FILE

READ_SOUND_FILE

RECALCULATE

REDISPLAY

RELEASE_OBJ

REPLACE_CONTENT_VIEW

REPLACE_MENU

REPORT_OBJECT_STATUS

RESET_GROUP_SELECTION

RESIZE_WINDOW

RETRIEVE_LIST

RUN_PRODUCT

RUN_REPORT_OBJECT

S

SCROLL_DOWN

SCROLL_UP

SCROLL_VIEW

SELECT_ALL

SELECT_RECORDS

SET_ALERT_BUTTON_PROPERTY

SET_ALERT_PROPERTY

SET_APPLICATION_PROPERTY

SET_BLOCK_PROPERTY

SET_CANVAS_PROPERTY

SET_FORM_PROPERTY

SET_GROUP_CHAR_CELL

SET_GROUP_DATE_CELL

SET_GROUP_NUMBER_CELL

SET_GROUP_SELECTION

SET_INPUT_FOCUS

SET_ITEM_INSTANCE_PROPERTY

SET_ITEM_PROPERTY

SET_LOV_COLUMN_PROPERTY

SET_LOV_PROPERTY

SET_MENU_ITEM_PROPERTY

SET_OLE

SET_PARAMETER_ATTR

SET_RADIO_BUTTON_PROPERTY

SET_RECORD_PROPERTY

SET_RELATION_PROPERTY

SET_REPORT_OBJECT_PROPERTY

SET_TAB_PAGE_PROPERTY

SET_TIMER

SET_VAR

SET_VIEW_PROPERTY

SET_WINDOW_PROPERTY

SHOW_ALERT

SHOW_EDITOR

SHOW_KEYS

SHOW_LOV

SHOW_MENU

SHOW_VIEW

SHOW_WINDOW

SYNCHRONIZE

T

TERMINATE

TO_VARIANT

U

UNSET_GROUP_SELECTION

UP

UPDATE_CHART

UPDATE_RECORD

USER_EXIT

V

VALIDATE

VARPTR_TO_VAR

VAR_TO_TABLE

VAR_TO_<type>

VAR_TO_VARPTR

VBX.FIRE_EVENT

VBX.GET_PROPERTY

VBX.GET_VALUE_PROPERTY

VBX.INVOKE_METHOD

VBX.SET_PROPERTY

VBX.SET_VALUE_PROPERTY

W

WEB.SHOW_DOCUMENT

WHERE_DISPLAY

WRITE_IMAGE_FILE

WRITE_SOUND_FILE

X

y

Z


ActiveXビルトイン

 すべてのビルトイン

ADD_OLEARGS

CALL_OLE

CALL_OLE_<return type>

CREATE_OLEOBJ

CREATE_VAR

DESTROY_VARIANT

DISPATCH_EVENT

GET_OLEARG_<type>

GET_OLE_MEMBERID

GET_OLE_<proptype>

GET_VAR_BOUNDS

GET_VAR_DIMS

GET_VAR_TYPE

INIT_OLEARGS

LAST_OLE_ERROR

LAST_OLE_EXCEPTION

OLEVAR_EMPTY

PTR_TO_VAR

RELEASE_OBJ

SET_OLE

SET_VAR

TO_VARIANT

VARPTR_TO_VAR

VAR_TO_TABLE

VAR_TO_<type>

VAR_TO_VARPTR


警告ビルトイン

 すべてのビルトイン

FIND_ALERT

ID_NULL

SET_ALERT_BUTTON_PROPERTY

SET_ALERT_PROPERTY

SHOW_ALERT


アプリケーション・ビルトイン

 すべてのビルトイン

DO_KEY

GET_APPLICATION_PROPERTY

HOST

PAUSE

SET_APPLICATION_PROPERTY

USER_EXIT


ブロック・ビルトイン

 すべてのビルトイン

BLOCK_MENU

CLEAR_BLOCK

FIND_BLOCK

GET_BLOCK_PROPERTY

GO_BLOCK

ID_NULL

NEXT_BLOCK

PREVIOUS_BLOCK

SET_BLOCK_PROPERTY


キャンバス・ビルトイン

 すべてのビルトイン

FIND_CANVAS

FIND_VIEW

GET_CANVAS_PROPERTY

GET_VIEW_PROPERTY

HIDE_VIEW

ID_NULL

PRINT

SCROLL_VIEW

SET_CANVAS_PROPERTY

SET_VIEW_PROPERTY

SHOW_VIEW


チャート・ビルトイン

 すべてのビルトイン

UPDATE_CHART


フォーム・ビルトイン

 すべてのビルトイン

BELL

BREAK

CALL_FORM

CALL_INPUT

CLEAR_FORM

COMMIT_FORM

DEBUG_MODE

ENTER

ERASE

EXECUTE_TRIGGER

EXIT_FORM

FIND_FORM

FORM_FAILURE

FORM_FATAL

FORM_SUCCESS

GET_FORM_PROPERTY

HELP

ID_NULL

NEW_FORM

OPEN_FORM

POST

REDISPLAY

REPLACE_MENU

SET_FORM_PROPERTY

SHOW_KEYS

SHOW_MENU

SYNCHRONIZE


項目ビルトイン

 すべてのビルトイン

CHECKBOX_CHECKED

CLEAR_EOL

CLEAR_ITEM

CONVERT_OTHER_VALUE

COPY

COPY_REGION

CUT_REGION

DEFAULT_VALUE

DISPLAY_ITEM

DUMMY_REFERENCE

DUPLICATE_ITEM

EDIT_TEXTITEM

FIND_ITEM

GET_FILE_NAME

GET_ITEM_INSTANCE_PROPERTY

GET_ITEM_PROPERTY

GET_RADIO_BUTTON_PROPERTY

GO_ITEM

ID_NULL

IMAGE_SCROLL

IMAGE_ZOOM

NAME_IN

NEXT_ITEM

NEXT_KEY

PASTE_REGION

PLAY_SOUND

PREVIOUS_ITEM

READ_IMAGE_FILE

READ_SOUND_FILE

RECALCULATE

SELECT_ALL

SET_ITEM_INSTANCE_PROPERTY

SET_ITEM_PROPERTY

SET_RADIO_BUTTON_PROPERTY

WRITE_IMAGE_FILE

WRITE_SOUND_FILE


メニュー・ビルトイン

 すべてのビルトイン

APPLICATION_PARAMETER

FIND_MENU_ITEM

GET_MENU_ITEM_PROPERTY

HIDE_MENU

ITEM_ENABLED

MENU_CLEAR_FIELD

MENU_PARAMETER

MENU_PREVIOUS_FIELD

MENU_REDISPLAY

MENU_SHOW_KEYS

NEXT_MENU_ITEM

PREVIOUS_MENU

PREVIOUS_MENU_ITEM

QUERY_PARAMETER

REPLACE_MENU

SET_INPUT_FOCUS

SET_MENU_ITEM_PROPERTY

SHOW_MENU

TERMINATE

WHERE_DISPLAY


メッセージ・ビルトイン

 すべてのビルトイン

CLEAR_MESSAGE

DBMS_ERROR_CODE

DBMS_ERROR_TEXT

DISPLAY_ERROR

ERROR_CODE

ERROR_TEXT

ERROR_TYPE

GET_MESSAGE

MESSAGE

MESSAGE_CODE

MESSAGE_TEXT

MESSAGE_TYPE


複数フォーム・ビルトイン

 すべてのビルトイン

CLOSE_FORM

GO_FORM

NEW_FORM

NEXT_FORM

OPEN_FORM

PREVIOUS_FORM


OLEビルトイン

 すべてのビルトイン

FORMS_OLE.ACTIVATE_SERVER

FORMS_OLE.CLOSE_SERVER

FORMS_OLE.EXEC_VERB

FORMS_OLE.FIND_OLE_VERB

FORMS_OLE.GET_INTERFACE_POINTER

FORMS_OLE.GET_VERB_COUNT

FORMS_OLE.GET_VERB_NAME

FORMS_OLE.INITIALIZE_CONTAINER

FORMS_OLE.SERVER_ACTIVE


パラメータ・リスト・ビルトイン

 すべてのビルトイン

ADD_PARAMETER

CREATE_PARAMETER_LIST

DELETE_PARAMETER

DESTROY_PARAMETER_LIST

GET_PARAMETER_ATTR

ID_NULL

RUN_PRODUCT

SET_PARAMETER_ATTR


PECSビルトイン

 すべてのビルトイン

PECS.ADD_CLASS

PECS.ADD_EVENT

PECS.COLLECTOR

PECS.DISABLE_CLASS

PECS.ENABLE_CLASS

PECS.END_EVENT

PECS.POINT_EVENT

PECS.START_EVENT


問合せビルトイン

 すべてのビルトイン

ABORT_QUERY

COUNT_QUERY

ENTER_QUERY

EXECUTE_QUERY


レコード・ビルトイン

 すべてのビルトイン

CHECK_RECORD_UNIQUENESS

CLEAR_RECORD

CREATE_QUERIED_RECORD

CREATE_RECORD

DELETE_RECORD

DOWN

DUPLICATE_RECORD

FIRST_RECORD

GENERATE_SEQUENCE_NUMBER

GET_RECORD_PROPERTY

GO_RECORD

INSERT_RECORD

LAST_RECORD

LOCK_RECORD

NEXT_RECORD

NEXT_SET

PREVIOUS_RECORD

SCROLL_DOWN

SCROLL_UP

SELECT_RECORDS

SET_RECORD_PROPERTY

UP

UPDATE_RECORD


関係ビルトイン

 すべてのビルトイン

FIND_RELATION

GET_RELATION_PROPERTY

ID_NULL

SET_RELATION_PROPERTY


レポート・ビルトイン

 すべてのビルトイン

CANCEL_REPORT_OBJECT

COPY_REPORT_OUTPUT

FIND_REPORT_OBJECT

GET_REPORT_OBJECT_PROPERTY

RUN_REPORT_OBJECT

SET_REPORT_OBJECT_PROPERTY


タブ・ページ・ビルトイン

 すべてのビルトイン

FIND_TAB_PAGE

GET_TAB_PAGE_PROPERTY

SET_TAB_PAGE_PROPERTY


トランザクション・ビルトイン

 すべてのビルトイン

CHECK_RECORD_UNIQUENESS

DELETE_RECORD

ENFORCE_COLUMN_SECURITY

FETCH_RECORDS

FORMS_DDL

GENERATE_SEQUENCE_NUMBER

INSERT_RECORD

ISSUE_ROLLBACK

ISSUE_SAVEPOINT

LOGON

LOGON_SCREEN

LOGOUT

SELECT_RECORDS

UPDATE_RECORD


Webビルトイン

 すべてのビルトイン

WEB.SHOW_DOCUMENT


ウィンドウ・ビルトイン

 すべてのビルトイン

FIND_WINDOW

GET_WINDOW_PROPERTY

HIDE_WINDOW

ID_NULL

MOVE_WINDOW

REPLACE_CONTENT_VIEW

RESIZE_WINDOW

SET_WINDOW_PROPERTY

SHOW_WINDOW


プロパティ

 アルファベット順リスト	  関連項目

警告プロパティ

アプリケーション・プロパティ

ブロック・プロパティ

キャンバス・プロパティ

チャート・プロパティ

エディタ・プロパティ

パラメータ・プロパティ

モジュール・プロパティ

枠プロパティ

グラフィック・プロパティ

項目プロパティ

値リストプロパティ

メニュー・プロパティ

名前付き可視属性プロパティ

プロンプト・プロパティ

レコード・プロパティ

レコード・グループ・プロパティ

関係プロパティ

レポート・プロパティ

タブ・ページ・プロパティ

トリガー・プロパティ

ウィンドウ・プロパティ


Form Builderのプロパティ

  全プロパティ

A

コントロールについて

アクセス・キー

警告スタイル

別名

拡張可能

複数行プロンプト可能

開始連結プロンプト可能

上-連結プロンプト使用可

Application Instance

矢印スタイル

関連メニュー

オーディオ・チャネル(Audio Channels)

自動列幅

自動表示

自動位置

自動問合せ

自動最新表示(Automatic Refresh)

自動選択

自動スキップ（項目）(Automatic Skip (Item))

自動スキップ（値リスト）(Automatic Skip (LOV))

B

Background_Color

凹凸(Bevel)

Block Description

下タイトル（エディタ）

Built_in_Data_Format

ボタン1のラベル、ボタン2のラベル、ボタン3のラベル(Button 1 Label, Button 2 Label, Button 3 Label)

C

計算モード

Calling_Form

キャンバス

キャンバス・タイプ

端形式

小/大文字区別なし問合せ(Case Insensitive Query)

小/大文字の区別(Case Restriction)

文字セルの幅、文字セルの高さ

ほかの値のチェックボックス・マッピング

Checked

クリップ高さ

クリップ幅

クリップのX位置

クリップのY位置

クローズ可能

クローズ

列マッピング・プロパティ

列名

列仕様

列タイトル

列値

コマンド・テキスト

コマンド・タイプ

コメント

通信モード（チャート）

通信モード（レポート）

圧縮(Compress)

圧縮品質(Compression_Quality)

データ隠ぺい(Conceal Data)

Connect_String

コンソール・ウィンドウ

コントロール・ヘルプ

コントロール・プロパティ

座標システム

調整(Coordination)

Coordination_Status

（項目の）コピー値

Current_Form

Current_Form_Name

Current_Record

現レコード可視属性グループ(Current Record Visual Attribute)

Current_Row_Background_Color

Current_Row_Fill_Pattern

Current_Row_Font_Name

Current_Row_Font_Size

Current_Row_Font_Spacing

Current_Row_Font_Style

Current_Row_Font_Weight

Current_Row_Foreground_Color

Current_Row_White_On_Black

Cursor Mode

Cursor_Style

カスタム・スペース

D

幅スタイル

データ・ブロックの記述

データ・ソースのデータ・ブロック（チャート）

データ・ソースのデータ・ブロック（レポート）

データ・ソースのX軸

データ・ソースのY軸

データ型

データ型（レコード・グループ）

データベース・ブロック

Database_Value

Datasource

デフォルト警告ボタン

デフォルト・ボタン

デフォルト・フォント・スケ－ル

延期

遅延を必須強制(Defer_Required_Enforcement)

削除可(Delete Allowed)

削除プロシージャの引数

削除プロシージャ名

削除プロシージャの結果セット列

レコード削除時の動作(Delete Record Behavior)

ディテール・データ・ブロック

ディテール参照項目

方向(Direction)

権限なしで表示

Display_Height

キーボード・ヘルプの表示

ヒントの自動表示(Display Hint Automatically)

表示品質

Display_Width

ディスプレイ幅（値リスト）

レコード間の距離

ディザ

DML配列の大きさ

DMLデータ宛先名(DML Data Target Name)

DMLデータ宛先タイプ(DML Data Target Type)

E

枠のバックグラウンド・カラー

枠のフォアグラウンド・カラー

境界線パターン

エディタ

エディタX位置、エディタY位置

リスト内の要素

使用可能（項目）(Enabled (Item))

使用可能（メニュー項目）(Enabled (Menu Item))

使用可能（タブ・ページ）(Enabled(Tab Page))

終了角

列セキュリティの強化

主キーの強化(ブロック)(Enforce Primary Key)

Enterable

実行モード（チャート）

実行モード（レポート）

実行の階層

F

File_Name

塗り

Fill_Pattern

表示前フィルタ

問合せ入力モードで起動

First_Block

First_Detail_Relation

First_Item

First_Master_Relation

最初のナビゲーション・データ・ブロック(First Navigation Block)

固定境界ボックス

固定長（項目）(Fixed Length (Item))

固定長（メニュー置換パラメータ）

デフォルト・フォント・スケ－ル

Font_Name

Font_Size

Font_Spacing

Font_Style

Font_Weight

Foreground_Color

フォーム水平ツールバーのキャンバス

フォーム垂直ツールバーのキャンバス

Form_Name

書式マスク(Format Mask)

式

枠整列

枠タイトル

枠タイトル整列

枠タイトルのフォント名

枠タイトルのフォントの大きさ

枠タイトルのフォント間隔

枠タイトルのフォント・スタイル

枠タイトルのフォントの太さ

枠タイトルのフォアグラウンド・カラー

枠タイトルのオフセット

枠タイトルの読込み順

枠タイトルの間隔

枠タイトルの可視属性グループ

G

グラフィック・タイプ

Group_Name

H

ヘルプ

終了時に隠す(Hide on Exit)

最高許容値

ヒント（項目）

ヒント（メニュー項目）

ヒント（メニュー置換パラメータ）

水平文字位置

水平マージン

水平オブジェクト・オフセット

水平原点

水平ツールバー・キャンバス

I

アイコン・ファイル名(Icon Filename)

メニューのアイコン

アイコン化

イメ－ジの深さ(Image_Depth)

イメージ形式

インプリメンテーション・クラス

REF項目にインクルード

メニュー継承

初期キーボード状態

初期メニュー

初期値(項目)

挿入可（ブロック）(Insert Allowed (Block))

挿入可（項目）(Insert Allowed (Item))

挿入プロシージャの引数

挿入プロシージャ名

挿入プロシージャの結果セット列

対話モード

孤立モード

Item_Is_Valid

項目ロール

Item_Tab_Page（item）

項目のタイプ

J

結合条件

結合形式

文字位置(Justification)

K

カーソル位置を保持(Keep Cursor Position)

キーボード・アクセラレータ

Keyboard Help Description

キーボードで移動可能(Keyboard Navigable)

キーボード状態

キー・モード(Key Mode)

L

ラベル（項目）(Label (Item))

ラベル（メニュー項目）(Label (Menu Item))

ラベル（メニュー置換パラメータ）

ラベル（タブ・ページ）(Label (Tab Page))

Last_Block

Last_Item

Last Query

レイアウト・データ・ブロック

レイアウト・スタイル

長さ

線の間隔

線幅

データ・ブロック・メニューにリスト済み

リスト項目値

値リスト

リスト形式

リスト・タイプ

X位置のリスト

Y位置のリスト

ロック・プロシージャの引数

ロック・プロシージャ名

ロック・プロシージャの結果セット列

ロック・レコード(Lock Record)

ロック・モード(Locking Mode)

最高許容値/最低許容値

M

マジック項目

メイン・メニュー

ほかの値のマッピング

最大化可能

最大長（フォーム・パラメータ）

最大長

最大長（メニュー置換パラメータ）

1行あたりの最大オブジェクト数

最長問合せ時間(Maximum Query Time)

フェッチレコードの最大数(Maximum Records Fetched)

メニュー説明

メニュー・ディレクトリ

メニュー・ファイル名

メニュー項目コード

メニュー項目ラジオ・グループ

メニュー項目タイプ

メニュー・モジュール

メニュー・ロール

メニュー・ソース

メニュー・スタイル

メッセージ(Message)

アイコン化可能

アイコン化タイトル

モード

Module_NLS_Lang

モジュール・ロール

マウス・ナビゲート

マウス・ナビゲーション限界

移動可能

複数行

N

名前

ナビゲーション形式(Navigation Style)

NextBlock

NextItem

Next_Detail_Relation

Next_Master_Relation

次のナビゲーション・ブロック(Next Navigation Block)

次ナビゲーション項目(Next Navigation Item)

表示項目数

バッファ・レコード数

表示レコード数

O

OLEアクティブ・スタイル

OLEクラス

OLE同一ウィンドウ・アクティブ

OLEの詳細サポート

OLEポップアップ・メニュー項目(OLE Popup Menu Items)

OLEサイズ変更スタイル

OLEテナント形態

OLEテナント・タイプ

Operating_System

Optimizer_Hint(Optimizer_Hint)

ORDER BY句

その他のレポート・パラメータ

P

パラメータのデータ型

パラメータの初期値

メニュー・パラメータ初期値(メニュー置換パラメータ)

Password

PLSQL_Date_Format

Popup Menu (Item, Canvas)

X位置とY位置(Position (X, Y))

サマリーの予備計算

マスターなし操作防止(Prevent Masterless Operation)

前のナビゲーション・デ－タ・ブロック(Previous Navigation Block)

PreviousBlock

PreviousItem

前ナビゲーション項目(Previous Navigation Item)

主キャンバス

主キー（項目）(Primary Key (Item))

プログラム・ユニット・テキスト

プロンプト(Prompt)

プロンプト整列(Prompt Alignment)

プロンプト整列オフセット(Prompt Alignment Offset)

プロンプト連結枠(Prompt Attachment Edge)

プロンプト連結オフセット(Prompt Attachment Offset)

プロンプトのバックグラウンド・カラー(Prompt Background Color)

プロンプト表示スタイル(Prompt Display Style)

プロンプトのフォント名(Prompt Font Name)

プロンプトのフォント・サイズ(Prompt Font Size)

プロンプト・フォントの間隔(Prompt Font Spacing)

プロンプトのフォント・スタイル(Prompt Font Style)

プロンプトのフォントの太さ(Prompt Font Weight)

プロンプトのフォアグラウンド・カラー(Prompt Foreground Color)

プロンプトの塗りパターン(Prompt Fill Pattern)

プロンプトの文字位置

プロンプトの読込み順(Prompt Reading Order)

プロンプトの可視属性グループ(Prompt Visual Attribute Group)

プロンプトの塗りパタ－ン(Prompt_Fill_Pattern)

プロンプトのフォント名(Prompt_Font_Name)

プロンプトのフォント・サイズ(Prompt_Font_Size)

プロンプト・フォント間隔(Prompt_Font_Spacing)

プロンプトのフォント・スタイル(Prompt_Font_Style)

プロンプトのフォントの太さ(Prompt_Font_Weight)

プロンプトのフォアグラウンド・カラ－(Prompt_Foreground_Color)

Prompt_White_On_Black

プロパティ・クラス

Q

全レコードの問合せ

問合せ可（ブロック）(Query Allowed (Block))

問合せ可（項目）(Query Allowed (Item))

問合せ配列サイズ

問合せデータ・ソースの引数

問合せデータ・ソース列

問合せデータ・ソース名(Query Data Source Name)

問合せデータ・ソース・タイプ(Query Data Source Type)

問合せ長

問合せ名

Query Only

Query_Hits

Query_Options

R

ラジオ・ボタンの値

エントリでレイズ

読み込み順

実際単位

レコード・グループ(Record Group)

レコード・グループ・フェチ・サイズ

レコード・グループの問合せ(Record Group Query)

レコード・グループ・タイプ

レコード方向

Records_To_Fetch

リレーション・タイプ

開放

レポートの宛先形式

レポート宛先名

レポート宛先タイプ

Reports Server

必須（項目）(Required (Item))

必須（メニュー・パラメータ）

サイズ変更可能

戻り項目（LOV）

回転角度

ランタイム互換性モード

S

Savepoint Mode(Savepoint Mode)

Savepoint_Name

スクロール・バー整列

スクロール・バー高さ

スクロール・バー幅

Secure（メニュー・パラメータ）

ライブラリをフォームと共有

早送りボタン表示(Show Fast Forward Button)

水平スクロール・バー表示

OLEポップアップ・メニュー表示(Show OLE Popup Menu)

OLEテナント・タイプ表示

パレット表示(Show Palette)

再生ボタン表示(Show Play Button)

録音ボタン表示(Show Record Button)

巻戻しボタン表示(Show Rewind Button)

スクロール・バー表示

スライダー表示(Show Slider)

時間標識表示(Show Time Indicator)

垂直スクロール・バー表示

音量ボタン表示(Show Volume Control)

シュリンクラップ

単一オブジェクト整列

単一レコード

(サイズ)Size

サイズ調整形式

サウンド形式

サウンド品質

開始角

開始プロンプト整列

開始プロンプトのオフセット

起動コード

Status（Block）

Status（Record）

サブクラス情報

サブメニュー名

サマリー結果ブロック

サマリー結果項目

サマリー・ファンクション

項目と動機

T

タブ連結枠

タブ・ページ

Tab_Page_X_Offset

Tab_Page_Y_Offset

タブ・スタイル

切離しメニュー

Timer_Name

タイトル

ツールチップ(Tooltip)

Tooltip_Background_Color

Tooltip_Fill_Pattern

Tooltip_Font_Name

Tooltip_Font_Size

Tooltip_Font_Spacing

Tooltip_Font_Style

Tooltip_Font_Weight

Tooltip_Foreground_Color

ツールチップ可視属性グループ

Tooltip_White_On_Black

Topmost_Tab_Page（キャンバス）(Topmost_Tab_Page（Canvas）)

開始プロンプト整列

開始プロンプトのオフセット

Top Title

Top_Record

Transaction Triggers

トリガー・スタイル

トリガー・テキスト

トリガー・タイプ

U

更新可（ブロック）(Update Allowed (Block))

更新可（項目）(Update Allowed (Item))

変更列のみを更新(Update Changed Columns Only)

Update_Column

Update_Commit

Update Layout

NULLのみ更新(Update Only if NULL)

Update_Permission

更新プロシージャの引数

更新プロシージャ名

更新プロシージャの結果セット列

問合せ時に更新

3Dコントロール使用

セキュリティ使用

User_Interface

User_NLS_Date_Format

User_NLS_Lang

Username

V

リストで妥当性チェック

Validation

有効単位(Validation Unit)

チェック時の値

未チェック時の値

VBX Control File

VBX Control Name

VBX Control Value

垂直方向の埋込み

垂直文字位置

垂直方向のマージン

垂直方向のオブジェクト・オフセット

垂直原点

垂直ツールバー・キャンバス

ビューポートの高さと幅(Viewport Height, Viewport Width)

ビューポートのX位置、ビューポートのY位置(Viewport X Position, Viewport Y Position)

キャンバス上のビューポートのX位置とキャンバス上のビューポートのY位置(Viewport X Position on Canvas, Viewport Y Position on Canvas)

Visible

可視（キャンバス）(Visible (Canvas))

可視（項目）(Visible (Item))

可視（メニューに表示）(Visible in Menu)

可視（タブ・ページ）(Visible (Tab Page))

水平/垂直メニュー・ツールバー表示/垂直メニュ－・ツ－ルバ－表示

Visual_Attribute

可視属性グループ

可視属性タイプ

W

WHERE句/ORDER BY句(Where Clause/Order By Clause)

White_On_Black

幅/高さ

ウィンドウ

Window_Handle

Window_State

ウィンドウ・スタイル

ラップ形式

Wrap Text

X

X角の半径

X 位置、Y位置(X Position, Y Position)

y

Y位置とX位置(X Position, Y Position)

Z


警告プロパティ

  全プロパティ

警告スタイル

ボタン1のラベル、ボタン2のラベル、ボタン3のラベル

コメント

デフォルト警告ボタン

デフォルト・ボタン

メニュー・ソース

メッセージ

名前

プロパティ・クラス

タイトル


アプリケーション・プロパティ

  全プロパティ

Calling_Form

コメント

接続文字列

Current_Form

Current_Form_Name

Cursor_Style

問い合せデ－タ・ソ－スの名前

Display_Height

Display_Width

対話モード

孤立モード

最長問合せ時間

取出しレコ－ドの最大数

名前

Operating_System

パスワード

Savepoint_Name

Timer_Name

User_Interface

ユーザー名

User_NLS_Lang


 ブロック・プロパティ

  全プロパティ

Application Instance

Block Description

コメント

Current_Record

現レコード可視属性グループ

データ・ブロックの記述

データベース・ブロック

削除可

削除プロシージャの引数

削除プロシージャ名

削除プロシージャ結果セット列

DML配列の大きさ

DMLデータ宛先名

DMLデータ宛先タイプ

列セキュリティの強化

主キーの強化(ブロック)

Enterable

First_Block

First_Detail_Relation

First_Item

First_Master_Relation

挿入可（ブロック）

挿入プロシージャの引数

挿入プロシージャ名

挿入プロシージャの結果セット列

結合条件

キー・モード

Last_Item

データ・ブロック・メニューにリスト済み/デ－タブロックの記述

ロック・モード

ロック・プロシージャ名

ロック・プロシージャの結果セット列

名前

ナビゲーション形式

NextBlock

次のナビゲーション・デ－タ・ブロック

バッファ・レコード数

表示レコード数

Optimizer_Hint

ORDER BY

サマリーの予備計算

前のナビゲーション・デ－タ・ブロック

PreviousBlock

プロパティ・クラス

全レコードの問合せ

問合せ可（ブロック）

問合せ配列サイズ

問合せデータ・ソースの引数

問合せデータ・ソース列

問合せデータ・ソース名

問合せデータ・ソース・タイプ

Query_Hits

Query_Options

レコード方向

Records_To_Fetch

スクロール・バー表示

単一レコード

Status（ブロック）

Top_Record

Transaction Triggers

更新可（ブロック）

変更列のみを更新

更新プロシージャの引数

更新プロシージャ名

更新プロシージャの結果セット列

WHERE句/ORDER BY句

Window_Handle


キャンバス・プロパティ

  全プロパティ

凹凸

キャンバス・タイプ

コメント

フォーム水平ツールバーのキャンバス

フォーム垂直ツールバーのキャンバス

名前

ポップアップ・メニュー

プロパティ・クラス

エントリでレイズ

サイズ

タブ連結枠

タブ・スタイル

Topmost_Tab_Page

ビューポートの高さと幅

ビューポートのX位置、ビューポートのY位置

キャンバス上のビューポートのX位置、キャンバス上のビューポートのY位置

可視（キャンバス）

可視属性グループ

Width/Height(WD,HT)

ウィンドウ

X位置とY位置


 チャート・プロパティ

 すべてのプロパティ

通信モード（チャート）

データ・ソースのデータ・ブロック（チャート）

実行モード（チャート）


エディタ・プロパティ

  全プロパティ

下タイトル（エディタ）

コメント

エディタX位置、エディタY位置

名前

プロパティ・クラス

水平スクロール・バー表示

サイズ

Top Title

Width/Height(WD,HT)

ラップ形式

X位置とY位置


枠プロパティ

  全プロパティ

拡張可能

複数行プロンプト使用可

開始-連結プロンプト使用可

上-連結プロンプト使用可

レコード間の距離

枠整列

枠タイトル

枠タイトル整列

枠タイトルのフォント名

枠タイトルのフォントの大きさ

枠タイトルのフォント間隔

枠タイトルのフォント・スタイル

枠タイトルのフォントの太さ

枠タイトルのフォアグラウンド・カラー

枠タイトルの可視属性グル－プ

枠タイトルの読込み順

枠タイトルの間隔

枠タイトルの可視属性グループ

水平オブジェクト・オフセット

レイアウト・スタイル

1行あたりの最大オブジェクト数

表示レコード数

スクロール・バー整列

スクロール・バー幅

スクロール・バー表示

シュリンクラップ

単一オブジェクト整列

開始プロンプト整列

開始プロンプトのオフセット

開始プロンプト整列

開始プロンプトのオフセット

Update Layout

垂直方向の埋込み

垂直方向のマージン

垂直方向のオブジェクト・オフセット


グラフィック・プロパティ

  全プロパティ

端形式

幅スタイル

枠のバックグラウンド・カラー

枠のフォアグラウンド・カラー

境界線パターン

グラフィック・タイプ

結合形式

線幅

回転角度


項目プロパティ

  全プロパティ

コントロール・プロパティについて

アクセス・キー

Application Instance

オーディオ・チャネル

自動スキップ（項目）

凹凸

計算モード

キャンバス

小/大文字区別なし問合せ

小/大文字区別

ほかの値のチェックボックス・マッピング

列名

コメント

圧縮

圧縮品質

データ隠ぺい

コントロール・ヘルプ

コントロール・プロパティ

（項目の）コピー値

現レコード可視属性グル－プ

データ・ソースのX軸

データ・ソースのY軸

Database_Value

デフォルト・ボタン

ヒントの自動表示

表示品質

レコード間の距離

エディタ

エディタX位置、エディタY位置

リスト内の要素

使用可能（項目）

固定長（項目）

書式マスク

式

最高許容値

ヒント（項目）

アイコン・ファイル名

アイコン化

イメ－ジの深さ

イメ－ジ形式

インプリメンテーション・クラス

初期値(項目)

初期キーボード状態

挿入可（項目）

Item_Is_Valid

Item_Tab_Page（item）

項目のタイプ

文字位置

カーソル位置を保持

キーボードで移動可能

キーボード状態

ラベル（項目）

リスト項目値

値リスト

リスト形式

X位置のリスト

Y位置のリスト

ロック・レコード

最高許容値/最低許容値

ほかの値のマッピング

最大長

マウス・ナビゲート

複数行

名前

NextItem

次ナビゲーション項目

表示項目数

OLEアクティブ・スタイル

OLEクラス

OLE In-place Activation

OLE Inside-Out Support

OLEポップアップ・メニュー項目

OLEサイズ変更スタイル

OLEテナント形態

OLEテナント・タイプ

パラメータ・データ型

ポップアップ・メニュー

PreviousItem

前ナビゲーション項目

主キー（項目）

プロパティ・クラス

問合せ可（項目）

問合せ長

問合せのみ

ラジオ・ボタンの値

開放

必須（項目）

サイズ

サイズ調整形式

早送りボタン表示

水平スクロール・バー表示

OLEポップアップ・メニュー表示

OLEテナント・タイプ表示

パレット表示

再生ボタン表示

録音ボタン表示

巻戻しボタン表示

スライダー表示

時間標識表示

音量ボタン表示

サウンド形式

サウンド品質

サマリー結果ブロック

サマリー結果項目

サマリー・ファンクション

項目と同期

タブ・ページ

ツールチップ

ツールチップ可視属性グループ

更新可（項目）

Update_Column

Update_Commit

NULLのみ更新

Update_Permission

リストで妥当性チェック

チェック時の値

未チェック時の値

VBX Control File

VBX Control Name

VBX Control Value

可視（項目）

可視属性グループ

Width/Height(WD,HT)

Window_Handle

ラップ形式

テキストの折り返し

X位置とY位置


値リストプロパティ

  全プロパティ

自動表示

自動最新表示

自動選択

自動スキップ（値リスト）

列マッピング・プロパティ

列名

列仕様

列タイトル

コメント

ディスプレイ幅（値リスト）

表示前フィルタ

レコード・グループ

リスト・タイプ

名前

プロパティ・クラス

レコード・グループ

戻り項目（LOV）

サイズ

タイトル

X位置とY位置


メニュー・プロパティ

  全プロパティ

関連メニュー

下タイトル

小/大文字区別

Checked

コマンド・テキスト

コマンド・タイプ

コメント

権限なしで表示

使用可能（メニュー項目）

固定長（メニュー置換パラメータ）

ヘルプ

ヒント（メニュー項目）

ヒント（メニュー置換パラメータ）

アイコン・ファイル名

メニューのアイコン

項目ロール

キーボード・アクセラレータ

ラベル（メニュー項目）

ラベル（メニュー置換パラメータ）

マジック項目

最大長（メニュー置換パラメータ）

メニュー説明

メニュー・ディレクトリ

メニュー・ファイル名

メニュー項目ラジオ・グループ

メニュー項目タイプ

メニュー・モジュール

メニュー・ソース

モジュールのロール

パラメータ・データ型

メニュー・パラメータ初期値(メニュ－置換パラメ－タ)

プロパティ・クラス

必須（メニュー・パラメータ）

Secure（メニュー・パラメータ）

ライブラリをフォームと共有

起動コード

切離しメニュー

タイトル

セキュリティ使用

水平メニュー・ツールバー表示/垂直メニュー・ツールバー表示

可視（メニューに表示）

可視属性グループ


モジュール・プロパティ

  全プロパティ

Application Instance

文字セル幅/高さ

コメント

コンソール・ウィンドウ

座標システム

現レコード可視属性グル－プ

Cursor Mode

遅延を必須強制(Defer_Required_Enforcement)

ファイル名

First_Block

最初のナビゲーション・データ・ブロック

デフォルト・フォント・スケ－ル

フォーム水平ツールバーのキャンバス

フォーム垂直ツールバーのキャンバス

Form_Name

初期メニュー

Last_Block

メニュー・モジュール

メニュー・ロール

メニュー・ソース

メニュー・スタイル

Module_NLS_Lang

マウス・ナビゲーション限界

名前

プロパティ・クラス

実際単位

ランタイム互換性モード

Savepoint Mode

タイトル

3Dコントロール使用

Validation

有効単位

Window_Handle


パラメータ・プロパティ

  全プロパティ

コメント

最大長（フォーム・パラメータ）

名前

パラメータ・データ型

パラメータの初期値

プロパティ・クラス


プロンプト・プロパティ

  全プロパティ

プロンプト

プロンプト整列

プロンプト整列オフセット

プロンプト連結枠

プロンプト連結オフセット

プロンプトのバックグラウンド・カラー

プロンプト表示スタイル

プロンプトの塗りパターン

プロンプトのフォント名

プロンプトのフォント・サイズ

プロンプト・フォントの間隔

プロンプトのフォント・スタイル

プロンプトのフォントの太さ

プロンプトのフォアグラウンド・カラー

プロンプトの文字位置

プロンプトの読込み順

プロンプトの可視属性グループ


レコード・プロパティ

  全プロパティ

Status（レコード）


レコード・グループ・プロパティ

  全プロパティ

列名

列仕様

列値

コメント

データ型

レコード削除時の動作

長さ

名前

プロパティ・クラス

レコード・グループ・フェッチ・サイズ

レコード・グループの問合せ

レコード・グループ・タイプ


関係プロパティ

  全プロパティ

コメント

調整

Coordination_Status

延期

ディテール・データ・ブロック

結合条件

名前

Next_Detail_Relation

Next_Master_Relation

マスターなし操作防止

プロパティ・クラス


レポート・プロパティ

  全プロパティ

通信モード（レポート）

データ・ソースのデータ・ブロック（レポート）

実行モード（レポート）

その他のレポート・パラメータ

問合せ名

レポート宛先形式

レポート宛先名

レポート宛先タイプ


タブ・ページ・プロパティ

  全プロパティ

キャンバス

使用可能（タブ・ページ）

ラベル（タブ・ページ）

Tab_Page_X_Offset

Tab_Page_Y_Offset

可視（タブ・ページ）

可視属性グループ


トリガー・プロパティ

  全プロパティ

コメント

キーボード・ヘルプの表示

実行の階層

問合せ入力モードで起動

Keyboard Help Description

名前

プロパティ・クラス

トリガー・スタイル

トリガー・テキスト

トリガー・タイプ


名前付き可視属性プロパティ

  全プロパティ

Background_Color

Foreground_Color

名前

プロパティ・クラス

サイズ

可視

可視属性

可視属性タイプ

白黒

Width/Height(WD,HT)


ウィンドウ・プロパティ

  全プロパティ

「クローズ可能」

コメント

終了時に隠す

水平ツールバー・キャンバス

アイコン・ファイル名

メニュー継承

最大化可能

アイコン化可能

アイコン化タイトル

モード

移動可能

名前

主キャンバス

プロパティ・クラス

サイズ変更可能

水平スクロール・バー表示

垂直スクロール・バー表示

サイズ

タイトル

垂直ツールバー・キャンバス

可視

可視属性

可視属性グループ

Window_State

ウィンドウ・スタイル

X位置とY位置


オプション

 アルファベット順リスト

Forms Runtimeのオプション

Form Compilerのオプション

Form Builderのオプション


Form Builderのオプション

 すべてのオプション

A

Access（Form Builder）

Add_Triggers（Form Compiler）

配列処理

B

Batch（Form Compiler）

Block_Menu（Forms Runtime）

ファイルのバッファ・レコード

Build（Form Compiler）

実行前にコンパイル

C

チャート・ウィザード前置きページ

カラー・モード

カラー・パレット

Compile_All

CRT_File（Form Compiler）

D

データ・ブロック・ウィザード前置きページ

Debug（Forms Runtime）

Debug_Messages（Forms Runtime）

Delete（Form Compiler）

E.

Extract（Form Compiler）

F.

G

H

Help（Form Builder）

Help（Form Compiler）

Help（Forms Runtime）

HTMLファイル名

I

Insert（Form Compiler）

Interactive（Forms Runtime）

J

K

Keyin（Forms Runtime）

Keyout（Forms Runtime）

L

レイアウト・ウィザード前置きページ

Logon（Form Compiler）

Logon_Screen（Forms Runtime）

値リスト前置きページ

M

Module_Access（Form Builder）

Module_Access（Form Compiler）

Module_Type（Form Builder）

Module_Type（Form Compiler）

N

Nofail（Form Compiler）

O

Optimize SQL（Forms Runtime）

Optimize Transaction Process（Forms Runtime）

Output_File（Form Compiler）

Output_File（Forms Runtime）

P

Nofail（Form Compiler）

プリンタ

Q

Query_Only（Forms Runtime）

Quit Mode（Forms Runtime）

R

モジュールの非同期実行

S

ビルド前に保存

Script（Form Compiler）

Statistics（Form Compiler）

Statistics（Forms Runtime）

サブクラス・パス

サブクラス・パス

ヒント表示の抑止

T

Term（Forms Runtime）

U

Upgrade（Form Compiler）

Upgrade_Roles（Form Compiler）

システム・エディタの使用

V

Version（Form Compiler）

W

前置きダイアログ

ウィザード前置きページ

X

y

Z


Forms Runtimeのオプション

 すべてのオプション

Array

Block_Menu

Buffer_Records

Debug

Debug_Messages

Help

Interactive

Keyin

Keyout

Logon_Screen

OptimizeSQL

OptimizeTP

Options_Screen

Output_File

PECS

Query_Only

Quiet

Statistics

Term

Window_State


Form Compilerのオプション

 すべてのオプション

Add_Triggers

Batch

Build

Compile_All

CRT_File

Debug

Delete文

Extract

Help

Insert文

Logon

Module_Access

Module_Type

Nofail

Options_Screen

Output_File

Parse

Script

Statistics

Strip_Source

Upgrade

Upgrade_Roles

Version

Widen_Fields


Form Builderのオプション

 すべてのオプション

カラー・モード

カラー・パレット

実行前にコンパイル

Help

Module_Access

Module_Type

プリンタ

モジュールの非同期実行

ビルド前に保存

ヒント表示の抑止

システム・エディタの使用

ユーザー作業環境


トリガー

 アルファベット順リスト	関連項目

ActiveXトリガー

ブロック処理トリガー

インタフェース・イベント・トリガー

キー・トリガー

マスター/ディテール・トリガー

メッセージ処理トリガー

マウス・イベント・トリガー

ナビゲーション・トリガー

On-トリガー

Post-トリガー

Pre-トリガー

問合せ時トリガー

ストアド・プロシージャ・トリガー

トランザクション・トリガー

妥当性チェック・トリガー

When-トリガー


Form Builderのトリガー

  全トリガー

A

B

C

D

Delete-Procedure

E.

F.

Function Key

G

H

I

Insert-Procedure

J

K

Key-Fn

Key-Others

L

Lock-Procedure

M

N

O

On-Check-Delete-Master

On-Check-Unique

On-Clear-Details

On-Close

On-Column-Security

On-Commit

On-Count

On-Delete

On-Dispatch-Event

On-Error

On-Fetch

On-Insert

On-Lock

On-Logon

On-Logout

On-Message

On-Populate-Details

On-Rollback

On-Savepoint

On-Select

On-Sequence-Number

On-Update

P

Post-Block

Post-Change

Post-Database-Commit

Post-Delete

Post-Form

Post-Forms-Commit

Post-Insert

Post-Logon

Post-Logout

Post-Query

Post-Record

Post-Select

Post-Text-Item

Post-Update

Pre-Block

Pre-Commit

Pre-Delete

Pre-Form

Pre-Insert

Pre-Logon

Pre-Logout

Pre-Popup-Menu

Pre-Query

Pre-Record

Pre-Select

Pre-Text-Item

Pre-Update

Q

Query-Procedure

R

S

T

U

Update-Procedure

User-Named

V

W

When-Button-Pressed

When-Checkbox-Changed

When-Clear-Block

When-Create-Record

When-Custom-Item-Event

When-Database-Record

When-Form-Navigate

When-Image-Activated

When-Image-Pressed

When-List-Activated

When-List-Changed

When-Mouse-Click

When-Mouse-DoubleClick

When-Mouse-Down

When-Mouse-Enter

When-Mouse-Leave

When-Mouse-Move

When-Mouse-Up

When-New-Block-Instance

When-New-Form-Instance

When-New-Item-Instance

When-New-Record-Instance

When-Radio-Changed

When-Remove-Record

When-Tab-Page-Changed

When-Timer-Expired

When-Validate-Item

When-Validate-Record

When-Window-Activated

When-Window-Closed

When-Window-Deactivated

When-Window-Resized

X

y

Z


ActiveXトリガー

  全トリガー

On-Dispatch-Event


ブロック処理トリガー

  全トリガー

When-Clear-Block

When-Create-Record

When-Database-Record

When-Remove-Record


インタフェース・イベント・トリガー

  全トリガー

When-Button-Pressed

When-Checkbox-Changed

When-Custom-Item-Event

When-Image-Activated

When-List-Activated

When-List-Changed

When-Mouse-Click

When-Mouse-DoubleClick

When-Mouse-Down

When-Mouse-Enter

When-Mouse-Leave

When-Mouse-Move

When-Mouse-Up

When-Radio-Changed

When-Timer-Expired

When-Window-Activated

When-Window-Closed

When-Window-Deactivated

When-Window-Resized


キー・トリガー

  全トリガー

Key-Fn

Key-Others


マスター/ディテール・トリガー

  全トリガー

On-Check-Delete-Master

On-Clear-Details

On-Populate-Details


メッセージ処理トリガー

  全トリガー

On-Error

On-Message


マウス・イベント・トリガー

  全トリガー

When-Custom-Item-Event

When-Mouse-Click

When-Mouse-DoubleClick

When-Mouse-Down

When-Mouse-Enter

When-Mouse-Leave

When-Mouse-Move

When-Mouse-Up


ナビゲーション・トリガー

  全トリガー

Post-Block

Post-Form

Post-Record

Post-Text-Item

Pre-Block

Pre-Form

Pre-Record

Pre-Text-Item

User-Named

When-New-Block-Instance

When-New-Form-Instance

When-New-Item-Instance

When-New-Record-Instance


On-トリガー

  全トリガー

On-Check-Delete-Master

On-Check-Unique

On-Clear-Details

On-Close

On-Column-Security

On-Commit

On-Count

On-Delete

On-Dispatch-Event

On-Error

On-Fetch

On-Insert

On-Lock

On-Logon

On-Logout

On-Message

On-Populate-Details

On-Rollback

On-Savepoint

On-Select

On-Sequence-Number

On-Update


Post-トリガー

  全トリガー

Post-Block

Post-Change

Post-Database-Commit

Post-Delete

Post-Form

Post-Forms-Commit

Post-Insert

Post-Logon

Post-Logout

Post-Query

Post-Record

Post-Select

Post-Text-Item

Post-Update


Pre-トリガー

  全トリガー

Pre-Block

Pre-Commit

Pre-Delete

Pre-Form

Pre-Insert

Pre-Logon

Pre-Logout

Pre-Popup-Menu

Pre-Query

Pre-Record

Pre-Select

Pre-Text-Item

Pre-Update


問合せ時トリガー

  全トリガー

Post-Query

Pre-Query


ストアド・プロシージャ・トリガー

  全トリガー

Delete-Procedure

Insert-Procedure

Lock-Procedure

Query-Procedure

Update-Procedure


トランザクション・トリガー

  全トリガー

On-Check-Delete-Master

On-Check-Unique

On-Clear-Details

On-Close

On-Column-Security

On-Commit

On-Count

On-Delete

On-Dispatch-Event

On-Error

On-Fetch

On-Insert

On-Lock

On-Logon

On-Logout

On-Message

On-Populate-Details

On-Rollback

On-Savepoint

On-Select

On-Sequence-Number

On-Update

Post-Block

Post-Change

Post-Database-Commit

Post-Delete

Post-Form

Post-Forms-Commit

Post-Insert

Post-Logon

Post-Logout

Post-Query

Post-Record

Post-Select

Post-Text-Item

Post-Update

Pre-Block

Pre-Commit

Pre-Delete

Pre-Form

Pre-Insert

Pre-Logon

Pre-Query

Pre-Select

Pre-Text-Item

Pre-Update


妥当性チェック・トリガー

  全トリガー

When-Validate-Item

When-Validate-Record


Whenトリガー

  全トリガー

When-Button-Pressed

When-Checkbox-Changed

When-Clear-Block

When-Create-Record

When-Custom-Item-Event

When-Database-Record

When-Form-Navigate

When-Image-Activated

When-Image-Pressed

When-List-Activated

When-List-Changed

When-Mouse-Click

When-Mouse-DoubleClick

When-Mouse-Down

When-Mouse-Enter

When-Mouse-Leave

When-Mouse-Move

When-Mouse-Up

When-New-Block-Instance

When-New-Form-Instance

When-New-Item-Instance

When-New-Record-Instance

When-Radio-Changed

When-Remove-Record

When-Tab-Page-Changed

When-Timer-Expired

When-Validate-Item

When-Validate-Record

When-Window-Activated

When-Window-Closed

When-Window-Deactivated

When-Window-Resized


タイプ・ウィザードについて

タイプ・ウィザードの指示に従って操作を行うと、新しいOracle8ユーザー定義データ型の作成に必要なステップを実行できます。作成するデータ型は、オブジェクト・タイプまたはコレクション・タイプになります。

オブジェクト・タイプとは、構造化されたデータ単位の要素または属性を指定するテンプレートのことです。属性は、ビルトイン・データ型またはその他の構造化されたデータ単位です。オブジェクト・タイプは、対象のデータ単位に実行できる操作またはメソッドも指定します。メソッドは、PL/SQLで記述され、データベースに格納されたファンクションまたはプロシージャです。これらは、C言語で記述され、外部に格納されることもあります。

コレクション・タイプとは、表タイプまたは可変配列タイプのことです。各コレクション・タイプは、すべてが同じデータ型で、数に制限のない要素によって構成されるデータ単位を記述します。

表タイプまたはネストされた表とは、順序付けのされていない一連のデータ要素です。このデータ要素は単一列で、ビルトイン・データ型またはオブジェクト・タイプです。オブジェクト・タイプの場合、この表は、オブジェクト・タイプの属性ごとに単一列が構成される複数列表として表示することもできます。

可変配列タイプ、つまりVARRAYは、順序付けされた一連のデータ要素です。このデータ要素は、要素の数が可変で、配列のサイズを参照します。可変配列タイプを宣言するときは、最大サイズを指定する必要があります。

タイプ・ウィザードを使用すると、(属性およびメソッドを指定した)オブジェクト・タイプ、表タイプまたはVARRAYを作成できます。特に、次のタスクを実行する場合は、タイプ・ウィザードを使用してください。

•	オブジェクト・タイプの名前、属性およびメソッドを指定します。

•	表タイプまたはVARRAYの名前およびデータ型の情報を指定します。

•	オブジェクト・タイプの属性を追加、編集または削除します。

•	オブジェクト・タイプのメソッドを追加、編集または削除します。

•	オブジェクト・タイプのメソッドの制限を定義します。

タイプ・ウィザード内での移動

ページ間を移動しやすくするために、次のボタンが用意されています。

•	「取消」-加えた変更をすべて取り消して、ウィザードを終了します。

•	「ヘルプ」-ウィザードの現在のページにオンライン・ヘルプのテキストを表示します。

•	「戻る」-ウィザードの前のページに移動します。

•	「次へ」-ウィザードの次のページに移動します。

•	「完了」-このウィザードで加えた変更内容を保存して、ウィザードを終了します。

注意: ある特定のページに必要なすべての情報を入力する前に「次へ」または「戻る」をクリックした場合でも、このウィザードでは、次の(または前の)ページには移動できないようになっています。同様に、「完了」をクリックしたときに必要な情報がウィザードにすべて入力されていないと、このウィザードから、必要なデータ入力を終了するためのページに自動的に移動します。


タイプ・ウィザード: 「タイプの選択」のページ

次のステップ	関連項目

作成するOracle8タイプを選択する手順は、次のとおりです。

1	「タイプの選択」のページで、ラジオ・ボタンをクリックして、作成するオブジェクトまたはコレクションのタイプを指定します。

次の2つのいずれかが選択されます。

•	「オブジェクト」を選択すると、タイプ・ウィザードから属性およびメソッドを追加できます。

•	「コレクション」を選択すると、タイプ・ウィザードからコレクション・タイプの種類やそのデータ型を指定できます。

2	「タイプ名」テキスト・ボックスに名前を入力します。

3	「次へ」をクリックすると、選択に基づいて次のオブジェクト・タイプのページまたはコレクション・タイプのページが表示されます。


タイプ・ウィザード: 「オブジェクト・タイプ属性の定義」のページ

次のステップ	関連項目

属性を追加する方法は、次のとおりです。

「オブジェクト・タイプ属性の定義」のページで、「追加」をクリックします。

「属性」ダイアログ・ボックスが表示されます。

属性を編集する方法は、次のとおりです。

「オブジェクト・タイプ属性の定義」のページで、属性を1つ選択して「編集」をクリックします。

または

リスト・ボックスで属性を1つダブルクリックします。

「属性」ダイアログ・ボックスが表示されます。

属性を削除する方法は、次のとおりです。

1	「オブジェクト・タイプ属性の定義」のページで、属性を1つ選択して「削除」をクリックします。

メッセージ・ボックスが表示され、削除の確認を求めてきます。

2	「はい」をクリックして、強調表示された属性を削除します。

属性定義の順序を変更する方法は、次のとおりです。

リスト・ボックスで、移動する属性をクリックおよびドラッグして、新しく置く場所でドロップします。

オブジェクト・タイプの暗黙コンストラクタ・メソッドのパラメータの順序を変更する場合は、この方法を使用してください。(コンストラクタ・メソッドは、該当するタイプのインスタンスを作成します。)

コンストラクタ・メソッドのパラメータは、オブジェクト・タイプの属性です。したがって、これらのパラメータの順序は、そのタイプの属性定義の順序と同じになります。


「属性」ダイアログ・ボックス

「属性」ダイアログ・ボックスでは、あるオブジェクト・タイプに新しい属性を追加したり、既存の属性を編集できます。

属性名	属性の名前を入力します。
データ型	コンボ・ボックスにビルトイン・データ型を入力するか、またはドロップダウン・リストから選択します。使用可能なオブジェクト・タイプを参照するには、「...」ボタンをクリックして、「タイプ選択」ダイアログ・ボックスを表示します。
長さ	数値を入力するか、または上向き矢印や下向き矢印を使用して数値を選択します。
精度	(数値データ型のみ) 総桁数の数値を入力します。
スケール	(数値データ型のみ) 小数点以下の桁数を指定する数値を入力します。


「タイプ選択」ダイアログ・ボックス

「タイプ選択」ダイアログ・ボックスでは、現在接続されているデータベース内のアクセス可能な既存のOracle8ユーザー定義データ型を参照して選択できます。

タイプ	「Object」、「Collection」、「ALL」のいずれかを選択して、「所有者」ドロップダウン・リストに表示されているユーザー名によって所有されている該当のデータ型を表示します。 オブジェクト・タイプの定義時には、オブジェクトのデータ型として他のオブジェクト・タイプや他のコレクション・タイプを選択できます。 コレクション・タイプの定義時には、オブジェクトのデータ型に他のコレクション・タイプを選択することはできません。「ALL」オプションは、コレクション・タイプの定義時には使用不可です。
所有者	アクセス可能なユーザー定義データ型の所有者ドロップダウン・リストを表示します。  ある所有者名を選択するか、または「ALL」を選択してすべての所有者のデータ型を表示します。
リスト・ボックス	「タイプ」フィールドおよび「所有者」フィールドで選択したデータ型のタイプおよび名前を表示します。アクセス権限のあるデータ型のみが表示されます。 「所有者」フィールドで「ALL」を選択すると、リストの名前に、それぞれドット区切り表記のスキーマ名が接頭辞として付加されます。 「タイプ」フィールドで「ALL」を選択すると、それぞれの名前に丸カッコで囲まれたタイプが付加されます。   データ型を選択するには、リスト内のデータ型名をクリックします。
オブジェクトへの参照	リスト・ボックスにある選択（強調表示）されたオブジェクト・タイプのオブジェクト参照（REF）を選択する場合は、このチェックボックスにチェック・マークを付けます。 リスト・ボックス内の選択（強調表示）されたオブジェクト・タイプのオブジェクト・インスタンスを選択する場合は、このチェックボックスのチェックを外します。 オブジェクト・タイプにのみ利用可能です。
OK	リスト内で強調表示されたデータ型を選択して、このダイアログ・ボックスを閉じます。


タイプ・ウィザード: 「オブジェクト・タイプ・メソッドの定義」のページ

次のステップ	関連項目

メソッドは、PL/SQLで記述され、データベースに格納されたファンクションやプロシージャです。これらは、C言語で記述され、外部に格納されることもあります。メソッドは、オブジェクト・タイプの動作特性を記述します。

メソッドを追加する方法は、次のとおりです。

「オブジェクト・タイプ・メソッドの定義」のページで、「追加」をクリックします。

「メソッド」ダイアログ・ボックスが表示されます。

メソッドを編集する方法は、次のとおりです。

「オブジェクト・タイプ・メソッドの定義」のページで、メソッドを1つ選択して「編集」をクリックします。

または

リスト・ボックスでメソッドを1つダブルクリックします。

「メソッド」ダイアログ・ボックスが表示されます。

メソッドを削除する方法は、次のとおりです。

1	「オブジェクト・タイプ・メソッドの定義」のページで、メソッドを1つ選択して「削除」をクリックします。

メッセージ・ボックスが表示され、削除の確認を求めてきます。

2	「はい」をクリックして、強調表示されたメソッドを削除します。

オブジェクト・タイプのメソッドの制限を変更する方法は、次のとおりです。

「オブジェクト・タイプ・メソッドの定義」のページで、「変更」をクリックします。

「デフォルトの制限」ダイアログ・ボックスが表示されます。


「デフォルトの制限」ダイアログ・ボックス

「デフォルトの制限」ダイアログ・ボックスでは、オブジェクト・タイプのメソッドにデフォルトのプラグマ制限を指定できます。プラグマ制限は、SQL文からコールされたメンバー関数に適用されます。この制限により、データベースの表またはパッケージ変数、あるいはその両方に対するメンバー関数の読取り/書込みアクセスが拒否されます。

オブジェクト・タイプのメソッドのデフォルトのプラグマ制約を指定する方法は、次のとおりです。

すべてのチェックボックスにチェック・マークを付けるか、またはチェックを外します。

注意: 個々のメンバー関数にプラグマ制限を宣言できます。このようなプラグマでは、デフォルトの制限が上書きされます。


「メソッド」ダイアログ・ボックス

「メソッド」ダイアログ・ボックスには、「定義」と「制限」の2つのページがあります。これらのページでは、オブジェクト・タイプ・メソッドとそのパラメータ、およびそのオブジェクト・タイプの制限を定義できます。

「定義」ページを使用すると、メソッド名とタイプ、およびオプションのパラメータを定義できます。関数には、戻り値の型を指定できます。ページは次のように構成されています。

メソッド名	メソッドの名前を入力します。ここでは、オブジェクト・タイプ名またはオブジェクト・タイプ属性のいずれとも同じ名前は使用できません。
メソッド・タイプ	ドロップダウン・リストからメソッド・タイプを選択します。 メソッド・タイプには、プロシージャ、ファンクション、マップ・ファンクションおよびオーダー・ファンクションがあります。 マップ・ファンクションおよびオーダー・ファンクションは、比較メソッドです。オブジェクト・タイプにはマップ・ファンクションかオーダー・ファンクションのいずれかを指定できますが、両方を指定することはできません。
戻り値の型	ファンクションには、ドロップダウン・リストから戻り値の型を選択します。
パラメータ名	パラメータの名前を入力します。
データ型	ドロップダウン・リストからビルトイン・データ型を選択します。既存のオブジェクト・タイプを参照するには、「...」ボタンをクリックして、「タイプ選択」ダイアログ・ボックスを表示します。
方向	ドロップダウン・リストからIN、OUTまたはIN/OUTのいずれかを選択します。
デフォルト値	パラメータのデフォルト値を入力します。
	リストにパラメータを追加する場合にクリックします。「パラメータ名」フィールドが消去されます。
	リストから強調表示されたパラメータを削除する場合にクリックします。メッセージ・ボックスが表示され、操作の確認を求めてきます。
リスト・ボックス	このメソッドに定義したパラメータのリストが表示されます。 リスト・ボックス内のパラメータ定義の順序を変更するには、パラメータをクリックして、それを新しい場所にドラッグします。

「制限」ページを使用すると、オブジェクト・タイプにあらかじめ定義しておいたデフォルトのプラグマ制限を上書きできます。プラグマ制限は、SQL文からコールされたメンバー関数に適用されます。この制限では、データベースの表、パッケージ変数、またはその両方に対するメンバー関数の読取り/書込みアクセスが拒否されます。この「制限」ページの構成内容は、次のとおりです。

デフォルトの制限を上書き	デフォルトの制限のかわりにメソッド制限を使用するには、このボックスをチェックし、次に示すオプションをチェックするかまたはチェックを外して制限を指定します。  デフォルトのプラグマ制限を使用する場合は、このボックスのチェックを外してください。このチェックボックスのチェックが外してある場合、次に示すオプションは使用不可になります。
RNDS、WNDS、RNPS、WNPS	ルールを強制するには、該当するチェックボックスのチェック・マークを付けます。ルールを削除するには、該当するチェックボックスのチェックを外します。


タイプ・ウィザード: 「コレクション・タイプの定義」のページ

次のステップ	関連項目

コレクション・タイプを定義する方法は、次のとおりです。

1	「コレクション・タイプの定義」のページで、ラジオ・ボタンをクリックして、作成する表タイプまたは可変配列(VARRAY)タイプを指定します。

2	VARRAYを作成している場合は、「上限」テキスト・ボックスに配列の最大サイズを入力します。

3	「データ型」ドロップダウン・リストで、右側の矢印をクリックしてビルトイン・データ型を選択します。既存のオブジェクト・タイプを選択するには、「...」ボタンをクリックして、「タイプ選択」ダイアログ・ボックスを表示します。

4	「長さ」ボックスが使用可能な場合は、このボックスに数値を入力します。

5	(数値データ型の場合のみ)「精度」ボックスで、総桁数の数値を入力します。

6	(数値データ型の場合のみ)「スケール」ボックスで、小数点以下の桁数を指定する数値を入力します。


タイプ・ウィザード: 「完了」ページ

関連項目

タイプ・ウィザードの最後のページには、ここで定義したOracle8のタイプを生成するSQL文が表示されます。このページは読取り専用です。SQL文を編集することはできません。

「完了」をクリックすると、タイプ・ウィザードで次が実行されます。

•	コレクション・タイプの場合 - CREATE TYPE AS TABLEまたはCREATE TYPE AS VARYING ARRAYというSQL文をデータベースに発行します。

•	オブジェクト・タイプの場合 - CREATE TYPE AS OBJECTというSQL文をデータベースに発行します。タイプ指定が無効か、または不完全な場合は、オブジェクト・ナビゲータのオブジェクト・タイプ・ラベルの後にアスタリスク(*)が表示されます。

•	メソッド付きのオブジェクト・タイプの場合 - 最初のオブジェクト本体を作成して、これをストアド・プログラム単位エディタに表示します。メソッドを埋め込んで、「保存」をクリックします。CREATE TYPE BODYというSQL文がデータベースに発行されます。オブジェクト本体が無効の場合は、コンパイル・メッセージ・ペインにエラー・メッセージが表示されます。オブジェクト・ナビゲータのオブジェクト本体ラベルの後にアスタリスク(*)が表示されます。

注意: タイプ・ウィザードを使用すると、オブジェクト・タイプまたはコレクション・タイプは、現在接続されているOracle8データベース・サーバーに格納されます。


タイプ・ウィザードについて

関連項目

Oracle8のユーザー定義データ型を作成するには、タイプ・ウィザードを使用するのが最も早く簡単な方法です。タイプ・ウィザードでは、オブジェクト・タイプやコレクション・タイプ(多くの場合、表タイプまたは可変配列タイプ(VARRAY))を新規に作成するのに必要な手順が示されます。タイプ・ウィザードは、既存のタイプを編集するときは使用できません。

特に、次のタスクを実行する場合は、タイプ・ウィザードを使用してください。

•	オブジェクト・タイプの名前、属性およびメソッドを指定する場合

•	表タイプまたはVARRAYの名前およびデータ型情報を指定する場合

•	オブジェクト・タイプの属性を追加、編集または削除する場合

•	オブジェクト・タイプのメソッドを追加、編集または削除する場合

•	オブジェクト・タイプのメソッドの制限を定義する場合


タイプ・ウィザードによるOracle8ユーザー定義データ型の作成

関連項目

新しいOracle8データ型を作成する場合は、必ずOracle8データベース・サーバーに接続する必要があります。

新しいOracle8ユーザー定義データ型を作成する方法は、次のとおりです。

1	オブジェクト・ナビゲータにおいて、「データベース・オブジェクト」ノードを拡張します。

2	新しいデータ型の作成場所となるスキーマ・ノードを拡張します。

3	スキーマの「タイプ」ノードをクリックします。

4	ナビゲータ・ツールバーの [image] をクリックするか、またはメニューから「ナビゲータ」 [image] 「作成」の順に選択して、タイプ・ウィザードを表示します。

5	手順に従ってオブジェクト・タイプまたはコレクション・タイプを作成します。詳細は、タイプ・ウィザードのヘルプを参照してください。

タイプ・ウィザードを使用すると、オブジェクト・タイプまたはコレクション・タイプは、現在接続されているOracle8データベース・サーバーで作成され、格納されます。


Oracle8ユーザー定義データ型の編集

関連項目

既存のオブジェクト・タイプおよびコレクション・タイプを変更するには、ストアド・プログラム単位エディタを使用します。

オブジェクト・タイプやコレクション・タイプのタイプ仕様を編集できます。タイプ仕様では、データ構造の属性が宣言されます。オブジェクト・タイプの場合は、データを操作するオプションのメソッドもこの仕様によって指定されます。

オブジェクト・タイプの本体を編集することもできます。本体では、メソッドが完全に定義され、仕様がインプリメントされます。タイプ仕様を変更せずに本体をデバッグおよび置換できます。

オブジェクト・タイプまたはコレクション・タイプのタイプ仕様を編集する方法は、次のとおりです。

オブジェクト・ナビゲータで、タイプ・アイコンをダブルクリックして、ストアド・プログラム単位エディタにあるタイプ仕様を表示します。

または

オブジェクト・ナビゲータ内のあるタイプの(Windowsでは右クリックして表示される)ポップアップ・メニューから、「タイプ編集」をクリックして、ストアド・プログラム単位エディタのタイプ仕様を表示します。

または

ストアド・プログラム単位エディタの「名前」ドロップダウン・リストで、タイプ名をクリックして、ソースを表示します。

注意: オブジェクト・タイプの属性およびデフォルトの制限は、タイプ仕様の一部です。

オブジェクト・タイプのメソッドを編集する方法は、次のとおりです。

オブジェクト・ナビゲータ内のオブジェクト・タイプの(Windowsでは右クリックして表示される)ポップアップ・メニューから、「本体編集」をクリックして、ストアド・プログラム単位エディタのオブジェクト本体(メソッド)を表示します。

または

ストアド・プログラム単位エディタの「名前」ドロップダウン・リストで、オブジェクト・タイプ名をクリックして、ソースを表示します。


Oracle8ユーザー定義データ型の削除

関連項目

ユーザー定義データ型を削除すると、メッセージ・ボックスが表示され、確認が求められます。

ユーザー定義データ型を削除する方法は、次のとおりです。

 オブジェクト・ナビゲータで、オブジェクト・タイプ、表タイプ、可変配列タイプのいずれかをクリックして、メニューから「ナビゲータ」 [image] 「削除」の順に選択するか、またはツールバーの [image] をクリックします。

または

ストアド・プログラム単位エディタの「名前」ドロップダウン・リストからタイプ名を選択し、「削除」をクリックして、そのタイプを削除します。

注意: 別のデータ型、ネスト・オブジェクトまたはREFオブジェクトで参照しているタイプを削除することはできません。必ず先に参照を削除してから、タイプ定義を削除してください。


Oracle8のユーザー定義データ型について

関連項目

Oracle8は、オブジェクト・リレーショナル・データベース管理システムです。この意味は、データの種類を追加して定義できること、つまりデータの指定およびそのデータの操作方法の両方の指定ができ、リレーショナル・モデル内でこれらのタイプを使用できるということです。

ユーザー定義データ型には、オブジェクト・タイプおよびコレクション・タイプの2つの項目があります。ユーザー定義データ型では、アプリケーションのデータの構造や動作をモデル化するデータ型の作成ブロックとして、ビルトイン・データ型(CHAR、VARCHAR2およびNUMBERなど)およびその他のユーザー定義データ型が使用されます。

オブジェクト・タイプは、オブジェクトのテンプレートとして使用できます。オブジェクト・タイプは、発注書などの構造化されたデータ単位を構成する要素(または属性)を指定します。明細項目のリストなど、いくつかの属性は、別に構造化されたデータ単位である場合があります。オブジェクト・タイプは、発注書の合計値計算のように、実行対象のデータ単位の操作(またはメソッド)も指定します。

コレクション・タイプは、すべてが同じデータ型で、数に制限のない要素で構成されるデータ単位を記述します。コレクション・タイプには、可変配列タイプおよび表タイプがあります。

可変配列タイプは、VARRAYと呼ばれるデータ単位を指定します。このデータ単位は、すべてが同じデータ型を持つ、順序付けされた一連のデータ要素です。VARRAY内の要素数(またはそのサイズ)は可変です。ただし、可変配列タイプを宣言するときは、最大サイズを指定する必要があります。

表タイプは、ネスト表と呼ばれるデータ単位を指定します。このデータ単位は、すべてが同じデータ型を持つ、順序付けのされていない一連のデータ要素です。ネストされた表には、単一列があり、その列のタイプはビルトイン・タイプまたはオブジェクト・タイプです。