RCarlos,
Como você está fazendo uma alteração no SX3, não existe uma refatoração, você deve remover isso do seu fonte, pois manipulações de dicionários não são mais aceitas via hardcode.
Caso você deseja que seu WHEN seja dinâmico conforme algumas condições, o ideal é criar uma função que encapsule essas regras de FunName
, lAltera
etc e colocar a função no X3_WHEN via Configurador.
As manipulações de dicionários devem ser feitas somente via Configurador, Gestão de ambiente ou alguma API que a LIB libere, como por exemplo a PutMV
.
Essa sua alteração pode impactar de forma negativa no ambiente, visto que os dicionários são lidos e depois mantidos em cache, portanto ao alterar o SX3, pode ser que sua alteração não seja interpreta, uma vez que as querys de dicionários são feita com cache do DBAccess e também mantidas em cache na thread para melhor performance do ambiente.