私の要件は、Item1、item2、item3、item4、item5、および fully_processed_flag の 7 つのフィールドを持つ新しいフォームを作成することです。
フォームを作成しましたが、full_processed_flag を有効にした場合、残りの項目を無効にする必要があります (グレー表示する必要があります)。
だから私は完全に処理さWHEN CHECKBOX CHANGED
れたフラグアイテムのために以下のコードを書きました。
しかし、私はこのエラーが発生しています
FRM-41805: あいまいなアイテム名: ROWID。
現在の行は、オラクルの標準とは異なる別の色でグレー表示されます。
DECLARE
LC$ITEM VARCHAR2 (255);
LC$NAVIGABLE VARCHAR2 (10);
BEGIN
LC$ITEM := GET_BLOCK_PROPERTY (:SYSTEM.TRIGGER_BLOCK, FIRST_ITEM);
WHILE LC$ITEM IS NOT NULL
LOOP
LC$NAVIGABLE := GET_ITEM_PROPERTY (LC$ITEM, NAVIGABLE);
IF LC$NAVIGABLE = 'TRUE'
THEN
IF :ITEMS_DETAILS.FULLY_PROCESSED_FLAG = 'Y'
THEN
/* SET_ITEM_INSTANCE_PROPERTY (:ITEMS_DETAILS.ITEM2,
CURRENT_RECORD,
UPDATE_ALLOWED,
PROPERTY_FALSE); */
SET_ITEM_INSTANCE_PROPERTY (LC$ITEM,
CURRENT_RECORD,
VISUAL_ATTRIBUTE,
'SELECTED');
SET_ITEM_INSTANCE_PROPERTY (LC$ITEM,
CURRENT_RECORD,
UPDATE_ALLOWED,
PROPERTY_FALSE);
SET_ITEM_INSTANCE_PROPERTY (LC$ITEM,
CURRENT_RECORD,
INSERT_ALLOWED,
PROPERTY_FALSE);
ELSE
SET_ITEM_INSTANCE_PROPERTY (LC$ITEM,
CURRENT_RECORD,
VISUAL_ATTRIBUTE,
'UNSELECTED');
SET_ITEM_INSTANCE_PROPERTY (LC$ITEM,
CURRENT_RECORD,
UPDATE_ALLOWED,
PROPERTY_TRUE);
SET_ITEM_INSTANCE_PROPERTY (LC$ITEM,
CURRENT_RECORD,
INSERT_ALLOWED,
PROPERTY_TRUE);
END IF;
END IF;
LC$ITEM := GET_ITEM_PROPERTY (LC$ITEM, NEXT_NAVIGATION_ITEM);
END LOOP;
END;
*****************************************************************************