When you Submit a Roll Query (i.e. assign it a value), every following Roll Query that shares the same name is parsed to the value of the first. e.g. If you Submit the default value of ?{Save|STR}, all future Roll Queries named Save will be parsed to STR. Since ?{Save|STR, {{rollname=STR save}} {{roll1=[[ 1d20 +
[[@{AAA|strength_save_mod}]] + [[@{AAA|global_saving_bonus}]] ]]}}
@{AAA|ro_strsave} @{AAA|classactionstrengthsave} } comes after ?{Save|STR}, it would be replaced with STR, as well. Unfortunately, the above is not the only issue you may have to address in the creation of this macro. The second issue concerns the fact that Roll Template syntax clashes with the Roll Query syntax in a way that's explained by Advanced Usage for Roll Queries . Unless the appropriate character replacements are made to {{rollname=STR save}} {{roll1=[[ 1d20 +
[[@{AAA|strength_save_mod}]] + [[@{AAA|global_saving_bonus}]] ]]}}
@{AAA|ro_strsave} @{AAA|classactionstrengthsave} , it will not be able to be nested within a Roll Query. If you'd prefer, this second issue could be worked around like so: &{template:5eDefault} {{character_name=@{AAA|character_name}}} {{title=?{Save|(@{AAA|strength_save_mod}) STR|(@{AAA|dexterity_save_mod}) DEX|etc.|etc.} saving throw}} {{subheader=@{AAA|character_name}}} {{save=1}} {{simple=1}} {{rollname=?{Save} save}} {{roll1=[[ 1d20 + [[?{Save}]] + [[@{AAA|global_saving_bonus}]] ]]}}