Please see the documentation: (NAT914 is out of support, but this area hasn’t changed) Rules for Arithmetic Assignment, specifically:

Condition A:

IF #ARRAY1(1:2) NOT EQUAL #ARRAY2(1:2)

This is equivalent to:

IF (#ARRAY1(1) NOT EQUAL #ARRAY2(1)) AND (#ARRAY1(2) NOT EQUAL #ARRAY2(2))

Condition A is therefore true if the first occurrence of #ARRAY1 does not equal the first occurrence of #ARRAY2and the second occurrence of #ARRAY1 does not equal the second occurrence of #ARRAY2.

Condition B:

IF NOT #ARRAY1(1:2) = #ARRAY2(1:2)

This is equivalent to:

IF NOT (#ARRAY1(1)= #ARRAY2(1) AND #ARRAY1(2) = #ARRAY2(2))

This in turn is equivalent to:

IF (#ARRAY1(1) NOT EQUAL #ARRAY2(1)) OR (#ARRAY1(2) NOT EQUAL #ARRAY2(2))

Condition B is therefore true if either the first occurrence of #ARRAY1 does not equal the first occurrence of #ARRAY2or the second occurrence of #ARRAY1 does not equal the second occurrence of #ARRAY2.

Thus, you may want to use “IF NOT (TEST1_A(1:4) = TEST2_A(1:4))” as the NOTEQUAL test will only be false if all occurrences of TEST1_A do not match the corresponding elements of TEST2_A. If any occurrences of TEST1_A match then the NOTEQUAL is false. The NOT (TEST1_A() = TEST2_A()) is false if any occurrence of TEST1_A is not equal to corresponding occurrence of TEST2_A.