Yes, that's the point, I want just from the moment the caster activate the shield the enemy units are pushed back which mean the field range begin from 0 to 300 range that give enough space inside the field for ally units.
Notice : Allies unit are not pushed back once the field reach them.
The problem here would be that only units initially in range of the caster would be affected if you follow the idea below. To make it perfect you would need some dynamic indexing to register new allies entering the sphere while the spell is active, so u can handle all allies dynamically. PurgeAndFire made an excellent tutorial about this:
Dynamic Index
Also, you have to decide how the units inside sphere would behave. Do you want them to be pushed by sphere, once the caster moves for example?
For the enemies, you just have to push back enemies (check whether the unis is owned by an ally of caster) upon casting using a timer, which starts at the point of casting, in the direction of (angle of these units towards caster - 180°) until they are 300.00 away. Give locust to all allies and/or caster, which will be removed after the spell is over and save these units or their handle Ids to a variable array. You should also check periodically, whether a unit in the allied untis array is out of range and set its position back inside the sphere (which would be a pushing effect). This would push back your allies if they target an enemy and want to leave the sphere.
For the periodic pushback of enemies:
a) use the above mentioned timer (as Gimmli suggested) to push back any enemies in range of 300,00 of the sphere
or b) create the sphere at map init and save it to a variable and also create a boolean which will be set to true upon casting. Then make a trigger with the event "unit comes in range of 300.00 your sphere variable". Set back this unit, if it is enemy of the sphere and if this boolean is set to true (which you have to set to false once the spell is over). Once the sphere dies, instantly revive it. If the sphere died or the spell is over, set the sphere to a save location on the map.
In all cases just reset everything once the time is over or the sphere dies. You can decide whether to create a new sphere everytime or to use the same one, which is instantly revived and moved away upon death.
this would be my thoughts about your spell concept...