cancel
Showing results for 
Search instead for 
Did you mean: 

UDF for multiple Arrays

Former Member
0 Kudos

Hello

Can you please help me write and UDF for the below requirement.

I have 3 Queues in the input XML.

In Queue 1, there is AA, search for AA in Queue 2 and pickup the corresponding indexes of AA in Queue 3 i.e 11,55,66

                    there is BB, search for BB in Queue 2 and pickup the corresponding indexes of BB in Queue 3 i.e 22

                    there is CC, search for CC in Queue 2 and pickup the corresponding indexes of CC in Queue 3 i.e 33

So the final desired queue should be 11,55,66,22,33

Queue 1

AA  ----------------------- index (1)

Context Change

BB----------------------- index (2)

Context Change

CC----------------------- index (3)

Context Change

Queue2 (number of values in Queue2 and Queue 3 are always same)

AA ----------------------- index (1)

Context Change

BB----------------------- index (2)

Context Change

CC----------------------- index (3)

Context Change

DD----------------------- index (4)

Context Change

AA----------------------- index (5)

Context Change

AA----------------------- index (6)

Context Change

Queue 3

11----------------------- index (1)

Context Change

22----------------------- index (2)

Context Change

33----------------------- index (3)

Context Change

44----------------------- index (4)

Context Change

55----------------------- index (5)

Context Change

66----------------------- index (6)

Context Change

Required output 

11

Context Change

55

Context Change

66

Context Change

22

Context Change

33

thanks

sudha

Accepted Solutions (1)

Accepted Solutions (1)

RaghuVamseedhar
Active Contributor
0 Kudos

Sudha,

Please try.

3 inputs remove context ->  below Queue UDF -> 1 output


        for (int i = 0; i < input1.length; i++) {

            for (int j = 0; j < input2.length; j++) {

                if (input1[i].equals(input2[j])) {

                    result.addValue(input3[j]);

                }

            }

            result.addValue(ResultList.CC);

        }

Answers (0)