What you're trying to do is swap values at the j-1 and j positions of the array a. So, if a holds the values: 8 2 1 7 3, and you are comparing the 2 and the 1, then you swap them to get 8 1 2 7 3. Eventually, after enough swapping, the whole array will be sorted (if the rest of your logic is right).
Unfortunately, the way you've written SWAP() there's no way it will work, no matter how the "missing piece" is filled in. That is, whatever you do in the method, the array will be unchanged after you finish. Now, if you defined it like:
then it would be possible to make it work. Give that a try and see if you can figure it out.
Fire me boy! Cool, soothing, shameless self promotion: