Hello!
You are using a BLOCK PROGRAMMING which operates with joint values of points. If you want to work with XYZOAT, you should write your program using AS Programming. In AS program you can operate with both joint and translation points. (Use the AS Language Reference Manual and Arc Welding AS Language Reference Manual)
Here's a very brief example:
.PROGRAM test()
JMOVE #jointpoint
LMOVE transnonweld
LWS weldpoint[1]
C1WC weldpoint[2]
C2WC weldpoint[3]
...
LWE weldpoint[111]
LMOVE somepoint
.END
Then you can load points like
.TRANS
transnonweld X Y Z O A T JT7 JT8....
weldpoint[1] X Y Z O A T JT7 JT8....
weldpoint[2] X Y Z O A T JT7 JT8....
... and so on
.END