HCM - Webservice - O campo 'BTNOK' não está disponível na tela 'FRHISLOC'
Incidente
Na execução do Web Service com.senior.g5.rh.fp.fichaBasica está retornando a seguinte mensagem:
Causa
A causa raiz estava associada ao local. A mensagem deve-se a uma perda de foco de edição durante o preenchimento da tela. O funcionamento do nosso WebService ao final nada mais é do que emular a tela e preencher seus campos conforme parametrizações carregadas do XML. Então se ocorrer de no XML vir algum campo sem preenchimento ou até mesmo preenchido a mais, isso pode levar a rotina perder o foco de edição e acabar parando no botão, e como um botão não possui edição de preenchimento é por isso que acaba exibindo a mensagem, pois perdeu-se o foco de edição dos campos.
Conforme o exemplo acima estava sendo passado o código de local que o colaborador já estava associado e consequentemente impactando no aviso em virtude da operação ser do tipo alteração.
Solução
Para que a mensagem não seja apresentada, realize os passos a seguir:
1. Valide que o local passado no parâmetro numLoc do WebService já existe, ou seja, já está associado ao colaborador;
2. Deixe o parâmetro numLoc associado ao local vazio nos parâmetros do WebService;
3. Realize uma nova execução. Somente deve ser passado o local/numLoc se realmente ele sofreu alteração.
Observações:
Neste exemplo o erro ocorreu no WebService com.senior.g5.rh.fp.fichaBasica e na tela FRHISLOC, porém o mesmo erro poderá ocorrer em outros WebServices e também em outras telas e assim sendo necessário utilizar a lógica exposta acima visando encontrar a causa raiz.