Qual é o valor de retorno de erro de uma tabela calculada pela JD Edwards com vários segmentos de retorno?

0

Estamos tentando implementar uma regra de inclusão de assembly no JD Edwards EnterpriseOne 9.1, usando uma tabela calculada que retorna vários segmentos. Parece funcionar bem quando a tabela tem uma entrada válida para os segmentos de entrada, mas quando uma entrada inválida é dada, os segmentos de retorno parecem estar em branco, em vez do caractere de erro normal.

Na maioria dos casos, isso é bom, mas se eu quiser usar esse valor de retorno em uma Regra de Edição de Segmentos Cruzados para detectar um erro, ele não responderá a compará-lo com * EM BRANCO.

Exemplo:

  • Eu tenho uma tabela, usando 3 entradas e 2 saídas.
  • Uma das saídas é uma cor e é colocada em um segmento calculado.
  • Se as entradas forem válidas, elas serão encontradas na tabela e podemos usar o segmento de cores calculado para criar uma peça inteligente.
  • Se as entradas forem inválidas, quero exibir uma mensagem de erro para o usuário. Anteriormente, usávamos um valor de retorno de 1 (erro) em uma regra de edição de segmento cruzado. Agora que está em branco, como faço para testar?
por RonaldB 29.07.2013 / 19:34

1 resposta

0

O valor de retorno é, na verdade, em branco ou, melhor ainda, "Não altere o que estava lá".

Isso é semelhante a uma tabela de peças ou roteamento em que várias partes ou etapas de roteamento são retornadas. Se não houver correspondência nos segmentos de entrada, nada será retornado.

Para tabelas de cálculo, isso pode ser um problema, pois não há como detectar um erro. A menos que ... você defina o sinalizador de erro primeiro.

Voltando ao exemplo da questão, suponha que os três segmentos de entrada sejam S1, S2 e S3 e suponhamos que os segmentos de saída sejam S101 e S102. A tabela calculada tem um nome de C.0001.

A maneira mais fácil é tornar o item configurado um item de uma passagem. Isso funciona imediatamente, mas é um recurso obsoleto, então tentaremos usar o cálculo estático.

Queremos disparar a regra quando um dos segmentos de entrada é alterado e definir os segmentos de saída como "erro" antes de chamar a tabela de cálculo. Testamos os segmentos de entrada comparando-os com um valor que eles nunca obterão, ou até mesmo * BLANK (parece que, contanto que apareçam no teste, isso funciona).

Então, aqui estão as regras C que usamos para fazer todo esse trabalho:

I ( S1   NE 'XYZ'
O   S2   NE 'XYZ'
O   S3   NE *BLANK )
*   S101 EQ 1
*   S102 EQ 2
*              C.0001

Isso parece funcionar em todos os casos que testamos. Deixe-me saber se há circunstâncias em que isso não funciona, ou você sabe uma maneira melhor de fazer isso!

    
por 18.08.2013 / 02:53