E se fosse possível simular o pressionamento de um
Na verdade é possível. Não só é possível como também é muito útil, simples, e fácil. Além de disparar um
Apenas com a chamada de uma função...
Recentemente passei por uma situação bem específica. Fiz um programa com uma particularidade no preenchimento dos campos da tela inicial. Quando o usuário preenche uma série de campos, algumas informações são validadas e depois alguns campos são desabilitados para que o usuário não modifique mais as entradas.
Esse mesmo programa citado também pode ser chamado a partir de outro programa com algumas entradas já preenchidas. Neste caso a validação e desabilitação dos campos não funcionava por si só. Para funcionar era necessário que alguém pressionasse um
Mas era estranho ter que pedir para o usuário. "Olha, depois que você preencher os dados na tela, você pode dar mais um
Foi então que conheci a função
Essa função pode disparar qualquer
Fiz alguns testes, e todos os
Outro detalhe que pude perceber nos testes é que nos programas do tipo
Se alguém souber mais informações sobre o uso da função
Um grande abraço e até a próxima.
ENTER
, para tratar alguma situação específica, ao invés de ficar esperando o usuário pressioná-lo???Na verdade é possível. Não só é possível como também é muito útil, simples, e fácil. Além de disparar um
ENTER
também é possível disparar qualquer CODE
de seu STATUS GUI
e tratá-lo nos eventos de INPUT
e OUTPUT
.Apenas com a chamada de uma função...
Recentemente passei por uma situação bem específica. Fiz um programa com uma particularidade no preenchimento dos campos da tela inicial. Quando o usuário preenche uma série de campos, algumas informações são validadas e depois alguns campos são desabilitados para que o usuário não modifique mais as entradas.
Esse mesmo programa citado também pode ser chamado a partir de outro programa com algumas entradas já preenchidas. Neste caso a validação e desabilitação dos campos não funcionava por si só. Para funcionar era necessário que alguém pressionasse um
ENTER
.Mas era estranho ter que pedir para o usuário. "Olha, depois que você preencher os dados na tela, você pode dar mais um
ENTER
, por favor???" rsrsrs. Então pensei que pudesse existir alguma funcionalidade que disparasse o pressionamento de um ENTER
como se fosse o usuário.Foi então que conheci a função
SAPGUI_SET_FUNCTIONCODE
.Essa função pode disparar qualquer
CODE
que você precise. Para disparar um ENTER
basta passar o sinal de igual para o parâmetro FUNCTIONCODE
da função. Veja exemplo abaixo.CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
EXPORTING
functioncode = '='
EXCEPTIONS
function_not_supported = 1
OTHERS = 2.
Fiz alguns testes, e todos os
CODES
disparados pela função funcionaram perfeitamente. Para disparar um CODE
, informe-o no parâmetro FUNCTIONCODE
.Outro detalhe que pude perceber nos testes é que nos programas do tipo
REPORT
a função não funciona muito bem nas seções START-OF-SELECTION
e END-OF-SELECTION
. Já nos programas do tipo MODULE POOL
a função funcionou em todos os lugares.Se alguém souber mais informações sobre o uso da função
SAPGUI_SET_FUNCTIONCODE
pode compartilhar aqui na página.Um grande abraço e até a próxima.
Postar um comentário