jueves, 23 de mayo de 2024

[JD Edwards] Orchestrator: Manipulate Output - Eliminar nodos duplicados (ES)

 

Hola JDEFriends,


En esta ocasión quería mostraros cómo he conseguido realizar de manera simple transformar un json de orchestrator con artículos repetidos, en otro como salida sin referencias repetidas.

Tenemos el siguiente json input:


Vemos cómo tenemos varias referencias repetidas. Vamos a usar la función "uniq" del módulo json en JRuby en el Manipulate Output de nuestro orchestrator:

require 'json'  
def main(orchAttr, input)
    
    jsonIn = JSON.parse(input)
    
    #Add code here to manipulate JSON output
    items = jsonIn['ITEMS']
    unique_items = items.uniq{|item| item['ShortItemNo']}
    jsonIn['ITEMS'] = unique_items
    
    jsonOut = JSON.generate(jsonIn)
    
    return jsonOut
end

Obtenemos todos los nodos de ITEMS y aplicamos la función uniq que itera sobre todo los items y nos devuelve el json con los items únicos en función del atributo 'ShortItemNo'



Buen código!


No hay comentarios:

Publicar un comentario