Problem in comparing 2 fields from 2 files

I've 2 files. Need to compare File1.Field1,File1.Field2 with File2.Field1,File2.Field2. If matches then create a new file.

File1

10 A|ADB|967143.24|1006101.5
3E HK|DHB|24294.76|242513.89
ABN ACU|ADB|22104.69|51647.14
ABN BU|DBA|39137.14|109128.38
ABN|ADB|64466.89|167936.55
ABOC BEI|DCN|1479334.95|26995639.66
ADARO INDO|ADB|9059622.21|9833248.58

File2

10 A	|ADB|	12330.7960|	12230.7960
AAVANTI	|ADB|	63624.5527|	634.5527
ABN ACU	|ADB|	2009.742|	-166064.0926
ABN BU	|ADB|	495550.3314|	480842.6906
ABOC SHA|ADB|	586697.7075|	5866397.7083
ADARO INDO|ADB|	116834.4671|	116034.4667
ADARO INDO|PTD|	0.0000|		-147909679.3007

Expected O/P

10 A|ADB|12330.7960|12230.7960967143.24|1006101.5
ABN ACU|ADB|2009.7423|-166064.0926|22104.69|51647.14
ADARO INDO|ADB|116834.4671|116034.4667|9059622.21|9833248.58

[/COLOR]
I've used the below script but got incorrect output

/usr/xpg4/bin/awk 'FNR==NR {a[$1]=$0; next} $1 in a {print $0"|"a[$1]}' FS="|" File1.txt File2.txt >> File3.txt

O/P which I got.(Incorrect)

10 A|ADB|12330.7960|12230.7960967143.24|1006101.5
ABN ACU|ADB|2009.7423|-166064.0926|22104.69|51647.14
ADARO INDO|ADB|0.0000| -147909679.3007|9059622.21|9833248.58

Pls, help me to solve this issue..

Thanks,
Buster

Try this awk script...

awk -F\| '{
   k=$1FS$2
   for (i=1;i<=NF;i++) {
      if (FNR!=NR) {
         if (k in x && i > 2) {
            y[k]++
            x[k]=x[k]"|"$i
         }
      } else x[k]=x[k]?x[k]"|"$i:$i
   }
} END {
   for (i in y) print x
}' File2.txt File1.txt

and make sure you put File2 before File1...

Thank you shamrock. Its working...