Conteúdo

Field-Exit

Nada mais é que uma exit de campos de tela, ou seja, numa transação standard, você pode criar validações daquele campo imediatamente, bastando dar um enter ou tentando sair da aba, clicando em gravar, etc.

Vale a pena ressaltar que você terá apenas 1 parâmetro de entrada e um de saída. E poderá apenas retornar mensagens de erro e sucesso.

É bem limitado, mas muito útil para validar sem precisar de enhancements ou exits.

Primeiramente acesse a transação que você quer validar o campo.

Vou utilizar a J1B1N, uma das mais chatinhas na questão de exit de programa ou manutenção. E o campo Exercício (Ano), conforme print abaixo:



Feito isto, precisamos pegar as características do campo, bastando dar F1 em cima do mesmo e clicando em Informações técnicas:



Agora já temos o Nome do Programa, Tela, e o Elemento de dados.

Pode sair da J1B1N neste momento.

Acesse a transação SE38 e execute o programa RSMODPRF.

Não preencha nada na tela de parâmetros e clique em executar (F8).

Irá retornar uma lista de campos com exit.

Vou apenas mostrar como Criar, depois vcs se viram pra editar ok.

No menu, acesse: Exit de campo -> Criar.

No Elemento de dados, preencha com o valor que encontramos, no caso, GJAHR, e clique ok.

Neste momento o SAP criou uma função com o nome FIELD_EXIT_GJAHR. Basta agora você editá-la normalmente.

Encontre sua field-exit e clique em "Processar MF".

Veja, existem apenas 2 parâmetros na sua função, INPUT e OUTPUT, e caso queira buscar informações de outros campos, precisará utilizar FIELD-SYMBOLS.
Ex: ASSIGN ('(SAPLJ1BB2)J_1BDYDOC-BUKRS') TO <fs_bukrs>.

Coloque algo simples no código, como:

IF input IS INITIAL.
  MESSAGE 'SAPeiros informa: Preencha o campo ANO' TYPE 'E'.
ENDIF.

Grave e ative sua função e volte na tela de field-exits.

Encontre sua field-exit e no menu, acesse: Exit de campo -> Ativar.

Agora é preciso atribuir o programa e tela que. Para isto deixe marcado sua field-exit e clique em "Atribuir progr/tela".

Preencha corretamente de acordo com os dados pegos na segunda imagem e pronto:


Basta executar novamente a J1B1N, ir na aba em questão e dar enter na tela ou clicar em gravar para ver sua mensagem.