none
Using table looping functoid and table extract functoid introduce performance issues RRS feed

  • Question

  • Hi,

    I have used table looping functoid and table extract functoid in some maps to convert flat structure to looping structure in EDI files like 810. I have connected more than 80 input nodes from source, combination of these 80 inputs would create table with say 10 rows and 20 columns, this in-turn would reach destination schema and creates 20 nodes with 10 times repeating structure.

    This worked well when we processed single file, but when we processed more than 10 files, this introduced serious performance issues, it made CPU usage go upto 99% and the BTS server itself became unstable.

    Please share your thoughts, Is going for custom XSLT would be a better solution?

    Regards

    Vivek

    Wednesday, November 22, 2017 1:47 PM

Answers

  • Presumably, the flat file has repeating rows based on the line item, with all the header data repeated.

    You don't need all custom Xslt, but probably my first solution would be to use a custom xslt map to group each invoice/line items in it's own parent element first.

    Then the next map to the 810 will be much easier, no tables or anything so complicated.

    So, yes, I mean use two maps, one to group the data, the other to transform to the 810.
    • Edited by Johns-305MVP Wednesday, November 22, 2017 2:44 PM
    • Marked as answer by Vivekanandh007 Wednesday, November 22, 2017 5:28 PM
    Wednesday, November 22, 2017 2:42 PM

All replies

  • Hi,

    Are you 100 % sure that the CPU utilization goes upto 99%due to this??


    Mandar Dharmadhikari

    Wednesday, November 22, 2017 2:32 PM
  • Presumably, the flat file has repeating rows based on the line item, with all the header data repeated.

    You don't need all custom Xslt, but probably my first solution would be to use a custom xslt map to group each invoice/line items in it's own parent element first.

    Then the next map to the 810 will be much easier, no tables or anything so complicated.

    So, yes, I mean use two maps, one to group the data, the other to transform to the 810.
    • Edited by Johns-305MVP Wednesday, November 22, 2017 2:44 PM
    • Marked as answer by Vivekanandh007 Wednesday, November 22, 2017 5:28 PM
    Wednesday, November 22, 2017 2:42 PM
  • Yes, we tested many times, as soon as we post 10 files that will flow through maps with table looping functoid and table extract functoid, CPU usage goes up.

    But when we process other files , even 500 files processed successfully , those maps don't have table looping functoid and table extract functoid.

    Wednesday, November 22, 2017 2:44 PM
  • John,

    I have implemented custom xslt template for that node alone instead of table looping functoid and table extract functoid in the same map. problem solved. Thanks for the advice

    Regards

    Vivek

    Wednesday, November 22, 2017 5:30 PM