The first left join, joins the tables together based on the full id and weight from this is stored in variable weight1.
The second left join joins the tables together based on the FSA and the weight from this is stored in the variable weight2
The case statement is almost the equivalent of a if then else or a select statement.
See here:
http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a002473682.htm
so right now it checks for a missing value in weight1, if so then assigns the weight2 value.
You can add in a line to the case statement that checks for missing both and then set it to 1.
If you can't figure it out, post your code and I'll help to debug it.
HTH