The classical alternating direction method (ADM) has been well studied in the context of linearly constrained convex programming problems and variational inequalities where both the involved operators and constraints are separable into two parts. In particular, recentness has witnessed a number of novel applications arising in diversified areas (e.g. Image Processing and Statistics), for which the ADM is surprisingly efficient. Despite the apparent significance, it is still not clear whether the ADM can be extended to the case where the number of separable parts emerging in the involved operators and constraints is three, no speaking of the generally separable case with finitely many of separable parts. This paper is to extend the spirit of ADM to solve such generally separable linearly constrained convex programming problems that both the involved operators and constraints are separable into finitely many of parts. As a result, the first implementable algorithm----an ADM based contraction type algorithm, is developed for solving such generally separable linearly constrained convex programming problems. The realization of tackling this class of problems substantially broadens the applicable scope of ADM in more areas.