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.