I'm doing a FORM with a series of columns in GRID which are
PARAMETER - ALPHA VALUE - VALUE NUMBER - VALUE DATE - COMMENT
Parameter and Comment are mandatory but I want the user to have to enter at least one of the values. If you enter one of them, the others are disabled. Up there well. The fact is that when you reach 'COMMENT', if you have not entered one of the 3 values, a warning trigger will be issued, but continue to the next record. Would there be any way to return to the first field of that record ('PARAMETER') and not continue to the next record as usual?
I add the trigger that I am using:
DISPSTD.WHEN_VALIDATE_ITEM;
DECLARE
v_alerta number;
BEGIN
IF :system.trigger_item = 'B2.VALOR_ALFA' THEN
IF :B2.VALOR_ALFA IS NOT NULL THEN
SET_ITEM_PROPERTY('B2.VALOR_NUMERO',ENABLED,PROPERTY_FALSE);
SET_ITEM_PROPERTY('B2.VALOR_FECHA',ENABLED,PROPERTY_FALSE);
END IF;
IF :B2.VALOR_ALFA IS NULL THEN
SET_ITEM_PROPERTY('B2.VALOR_NUMERO',ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('B2.VALOR_NUMERO',UPDATE_ALLOWED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('B2.VALOR_FECHA',ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('B2.VALOR_FECHA',UPDATE_ALLOWED,PROPERTY_TRUE);
END IF;
END IF;
IF :system.trigger_item = 'B2.VALOR_NUMERO' THEN
IF :B2.VALOR_NUMERO IS NOT NULL THEN
SET_ITEM_PROPERTY('B2.VALOR_ALFA',ENABLED,PROPERTY_FALSE);
SET_ITEM_PROPERTY('B2.VALOR_FECHA',ENABLED,PROPERTY_FALSE);
END IF;
IF :B2.VALOR_NUMERO IS NULL THEN
SET_ITEM_PROPERTY('B2.VALOR_ALFA',ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('B2.VALOR_ALFA',UPDATE_ALLOWED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('B2.VALOR_FECHA',ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('B2.VALOR_FECHA',UPDATE_ALLOWED,PROPERTY_TRUE);
END IF;
END IF;
IF :system.trigger_item = 'B2.VALOR_FECHA' THEN
IF :B2.VALOR_FECHA IS NOT NULL THEN
SET_ITEM_PROPERTY('B2.VALOR_NUMERO',ENABLED,PROPERTY_FALSE);
SET_ITEM_PROPERTY('B2.VALOR_ALFA',ENABLED,PROPERTY_FALSE);
END IF;
IF :B2.VALOR_FECHA IS NULL THEN
SET_ITEM_PROPERTY('B2.VALOR_NUMERO',ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('B2.VALOR_NUMERO',UPDATE_ALLOWED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('B2.VALOR_ALFA',ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('B2.VALOR_ALFA',UPDATE_ALLOWED,PROPERTY_TRUE);
END IF;
END IF;
IF :system.trigger_item = 'B2.D_PARAMETRO' THEN
IF :B2.VALOR_ALFA IS NULL AND :B2.VALOR_NUMERO IS NULL AND :B2.VALOR_FECHA IS NULL THEN
v_alerta := show_alert('NULL_ALERT');
END IF;
END IF;
END;