The game determines which unit to use based on service dates and available FIXED SAM types. For example, if you have the SA-3 missile installed in your weapondata.ini, and the appropriate SAM launchers (SA-3QL, SA-3DL, SA-3BQL, etc.) are located within your ground objects folder, then the game engine will randomly use those and place them wherever there's a call out for a fixed-SAM battery using the service date as a control.
You also need to define the SAM type-specific radars, and network them to your launchers, so you won't encounter mixed batteries (SA-2s and 3s using the wrong radar, etc.)
There's a bug in the series that prevents Mobile SAMs from showing up, unless you redefine their groundobject role to "Mobile_AAA". Then they''ll be placed randomly, wherever there's a call out for AAA on the map.