Poxa, inteligente pra camaba essa solução, nunca tinha pensado nisso! Bem útil (mas meio obscura mesmo).
O segundo parâmetro da função
SET_[BLOCK/ITEM/RECORD]_PROPERTY
é sempre um número (que representa a propriedade a ser setada: insert_allowed, enabled, default_where, etc...).
Ou seja,
insert_allowed
,
update_allowed
,
delete_allowed
,
default_where
, etc não passam de constantes definidas no Forms do tipo number.
Os códigos 182, 183 e 184 mencionados referem-se respectivamente às propriedades delete_allowed, update_allowed e insert_allowed.
Uma forma mais legìvel de escrever o código (e que vai me ser útil, com certeza
) seria:
Selecionar tudo
procedure ativa_desativa_blocos
( p_param in number
) is
begin
-- 0 - ativa
-- 1 - desativa
for ind in delete_allowed .. insert_allowed loop
set_block_property('b03', ind , (p_param + 4) ) ;
set_block_property('b05', ind , (p_param + 4) ) ;
set_block_property('b06', ind , (p_param + 4) ) ;
set_block_property('b07', ind , (p_param + 4) ) ;
set_block_property('b09', ind , (p_param + 4) ) ;
set_block_property('b10', ind , (p_param + 4) ) ;
set_block_property('b11', ind , (p_param + 4) ) ;
end loop ;
end;