Operational Decision Manager (ODM) stage tratamento de valores nulos ( DataStage® )

O Operational Decision Manager (ODM) stage possui um mecanismo para lidar com valores nulos nos campos dos registros nos links de entrada e saída e os valores nulos Java™ nos valores dos parâmetros do conjunto de regras.

Links de entrada

Quando um campo de um registro de entrada usado para produzir o valor do parâmetro do conjunto de regras IN ou IN_OUT é um valor nulo, o valor nulo é mapeado para o valor nulo Java no parâmetro do conjunto de regras, se esse mapeamento for possível. Se o mapeamento não for possível, a tarefa falhará com um erro se um link de rejeição não estiver configurado. Se um link de rejeição estiver configurado para o link de entrada e a opção Erro de entrada nulo estiver ativada, o registro será rejeitado.

Não é possível mapear o valor de entrada nulo para o valor nulo Java no parâmetro do conjunto de regras nos seguintes cenários:
  • O conjunto de regras é baseado no Dynamic XOM. Nesse caso, o campo que representa o valor do documento XML do parâmetro do conjunto de regras não pode ser definido como nulo.
  • O campo mapeia para o parâmetro de conjunto de regras de um tipo Java primitivo, como byte, short, int, long, float, double, Boolean ou char. O valor nulo não pode ser especificado para um tipo Java primitivo.
  • O campo mapeia um argumento de um método na classe Java dos parâmetros do conjunto de regras, e esse argumento é de um tipo Java primitivo. Novamente, o valor nulo não pode ser especificado para um tipo Java primitivo.

Links de saída

Quando um valor nulo Java é encontrado, o valor do parâmetro do conjunto de regras OUT ou IN_OUT associado ao link de saída é inspecionado e, em seguida, o valor nulo Java é mapeado para o valor nulo no campo de registro de saída correspondente, se o mapeamento for possível. Se o mapeamento não for possível, a tarefa falhará com um erro.

Não é possível mapear o valor nulo Java para o valor nulo no campo de registro de saída correspondente nos seguintes cenários:
  • O valor do parâmetro ruleset é nulo e é mapeado para uma única coluna no link de saída que não é nula. Uma coluna não é nula se tiver o atributo Nullable definido como Não.
  • O valor do parâmetro ruleset é nulo e é mapeado para várias colunas no link de saída, algumas das quais são nulas e outras não. Nesse caso, o conector não consegue invocar métodos no parâmetro de saída para inicializar valores de campo com base nos valores de retorno do método.
  • O valor do parâmetro ruleset não é nulo, mas um método invocado no objeto Java do parâmetro de saída retorna nulo, e a coluna à qual o valor de retorno é mapeado não é nula.