  Maximum distance profile (MDP) convolutional codes have the property that
their column distances are as large as possible. It has been shown that,
transmitting over an erasure channel, these codes have optimal recovery rate
for windows of a certain length. Reverse MDP convolutional codes have the
additional advantage that they are suitable for forward and backward decoding
algorithms. Beyond that the subclass of complete MDP convolutional codes has
the ability to reduce the waiting time during decoding. The first main result
of this paper is to show the existence and genericity of complete MDP
convolutional codes for all code parameters. The second main contribution is
the presentation of two concrete construction techniques to obtain complete MDP
convolutional codes. These constructions work for all code parameters but
require that the size of the underlying base field is (sufficiently) large.
