I'm trying to make an appointment in a block with zip code, street, etc.
Query works perfectly, but I wanted the Forms to do the following:
- I execute Query by F7, usually seeks;
- When I press F8 again without F7, it should fetch all the information by cleaning the WHERE clause of the block.
follows the Trigger Key-Exeqry code
BEGIN
IF (get_block_property( name_in('SYSTEM.TRIGGER_BLOCK'), QUERY_ALLOWED) = 'FALSE') THEN
MESSAGE('Erro: Consulta não é permitida neste bloco');
RAISE FORM_TRIGGER_FAILURE;
END IF;
IF name_in('SYSTEM.TRIGGER_BLOCK') = 'T0202' THEN
IF :SYSTEM.MODE = 'QUERY' THEN
set_block_property('T0202', DEFAULT_WHERE, ' ');
:T0202.COD_CEP_TELA := NULL;
CGBS$.DO_KEYQRY( name_in('SYSTEM.TRIGGER_BLOCK'), 'EXECUTE_QUERY', name_in('SYSTEM.MODE'));
END IF;
IF :T0202.COD_CEP_TELA IS NOT NULL THEN
set_block_property('T0202', DEFAULT_WHERE, 'T0202.COD_CEP = '||:T0202.COD_CEP_TELA);
CGBS$.DO_KEYQRY( name_in('SYSTEM.TRIGGER_BLOCK'), 'EXECUTE_QUERY', name_in('SYSTEM.MODE'));
set_block_property('T0202', DEFAULT_WHERE, ' ');
ELSE
CGBS$.DO_KEYQRY( name_in('SYSTEM.TRIGGER_BLOCK'), 'EXECUTE_QUERY', name_in('SYSTEM.MODE'));
END IF;
ELSE
CGBS$.DO_KEYQRY( name_in('SYSTEM.TRIGGER_BLOCK'), 'EXECUTE_QUERY', name_in('SYSTEM.MODE'));
END IF;
END;