I would think the same way that you have, i.e., by adding one more if statement.
However, I would create a new file rather than replacing your current file, so that you can test it.
Also, I personally, like to enter such statements in a way that makes it clearer what the various operators are supposed to do. e.g.:
data sped;
input (incidenttype weapontype) ($) repdist;
cards;
3700 3711 15
3701 3711 15
3700 3711 15
3701 3711 15
3700 3712 15
3700 3712 80
3700 3712 93
3700 3712 105
;
DATA sped2;
SET sped;
If incidenttype = '3700';
If weapontype = '3711' then weap = 'HANDGUNS ';
Else if weapontype = '3712' then weap = 'RIFLESHOTGUN';
If weap = 'HANDGUNS ' and REPDIST in (11,15,52,62,64,
80,89,93,103) then gfsa = 'YESWITHREP';
else if weap = 'RIFLESHOTGUN' and REPDIST in (11,15,52,62,64,
80,89,93,103) then gfsa = 'YESWITHREP';
ELSE gfsa = 'YESWOREP';
truants = -1;
if gfsa eq 'YESWITHREP';
Run;