When-new-item trigger (form level) Note: this assumes that you have visual attributes named "required_curr", "required_field", "text_field" and "text_curr".
DECLARE
IT ITEM;
BEGIN
IF (:GLOBAL.PREVIOUS_ITEM IS NOT NULL) THEN
IF(GET_ITEM_PROPERTY(:GLOBAL.PREVIOUS_BLOCK||'.'||:GLOBAL.PREVIOUS_ITEM,
ITEM_TYPE) = 'LIST') OR
(:SYSTEM.MODE = 'ENTER-QUERY') THEN
IF (:GLOBAL.PREVIOUS_ATTRIBUTE = 'REQUIRED_CURR') THEN
SET_ITEM_PROPERTY(:GLOBAL.PREVIOUS_BLOCK||'.'||:GLOBAL.PREVIOUS_ITEM,
VISUAL_ATTRIBUTE,'REQUIRED_FIELD');
:GLOBAL.PREVIOUS_ATTRIBUTE := 'REQUIRED_FIELD';
ELSE
SET_ITEM_PROPERTY(:GLOBAL.PREVIOUS_BLOCK||'.'||:GLOBAL.PREVIOUS_ITEM,
VISUAL_ATTRIBUTE,'TEXT_FIELD');
:GLOBAL.PREVIOUS_ATTRIBUTE := 'TEXT_FIELD';
END IF;
END IF;
END IF;
:GLOBAL.PREVIOUS_ITEM := :SYSTEM.CURRENT_ITEM;
:GLOBAL.PREVIOUS_BLOCK := :SYSTEM.CURRENT_BLOCK;
HIGHLIGHT_FIELD;
END;
Post-text-item trigger (form level):
--Template Code
UNHIGHLIGHT_FIELD;
Highlight procedure:
---------------------------------------------------
-- Procedure Highlight_Field
-- Written by: Adapted from generic highlight field
-- by Andreas M. Olligschlaeger
-- Date Written: October, 1996
-- Last Modified:
-- Purpose: Highlights fields depending on their
-- text attributes.
---------------------------------------------------
PROCEDURE HIGHLIGHT_FIELD IS
IT ITEM;
BEGIN
---------------------------------------------------
--Template Code.
IT := FIND_ITEM(:SYSTEM.TRIGGER_ITEM);
IF (GET_ITEM_PROPERTY(IT,ITEM_TYPE) <> 'BUTTON') AND
(GET_ITEM_PROPERTY(IT,ITEM_TYPE) <> 'IMAGE') THEN
IF (GET_ITEM_PROPERTY(IT,VISUAL_ATTRIBUTE) = 'TEXT_FIELD') THEN
SET_ITEM_PROPERTY(IT,VISUAL_ATTRIBUTE,'TEXT_CURR');
:GLOBAL.PREVIOUS_ATTRIBUTE := 'TEXT_CURR';
ELSE
SET_ITEM_PROPERTY(IT,VISUAL_ATTRIBUTE,'REQUIRED_CURR');
:GLOBAL.PREVIOUS_ATTRIBUTE := 'REQUIRED_CURR';
END IF;
END IF;
----------------------------------------------------
END;
Unhighlight Procedure:
-----------------------------------------------------
-- Procedure Unhighlight_Field
-- Written by: Andreas M. Olligschlaeger
-- Date Written: October 1996
-- Last Modified:
-- Purpose: Unhighlights a field based on the value
-- of the text attribute of an item.
-----------------------------------------------------
PROCEDURE UNHIGHLIGHT_FIELD IS
BEGIN
--------------------------------------------------
--Template Code.
IF (GET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,ITEM_TYPE) <> 'BUTTON') AND
(GET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,ITEM_TYPE) <> 'IMAGE') AND
(GET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,ITEM_TYPE) <> 'LIST') THEN
IF (:GLOBAL.PREVIOUS_ATTRIBUTE = 'TEXT_CURR') THEN
SET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,VISUAL_ATTRIBUTE,'TEXT_FIELD');
ELSIF (:GLOBAL.PREVIOUS_ATTRIBUTE = 'REQUIRED_CURR') THEN
SET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,VISUAL_ATTRIBUTE,'REQUIRED_FIELD');
END IF;
END IF;
-------------------------------------------------
END;
Back to Main Page