First, definitions.  Take a = 1, so that all partial cross sections have units of (a^2).

j[l_, z_] := √(π/(2 z)) BesselJ[l + (1/2), z];  
    n[l_, z_] := -√(π/(2 z)) 
        BesselY[l + (1/2), z]

\(σ[l_, \ ka_] := \(\(4\ π\)\/\((ka)\)\^2\) \((2\ l\  + \ 1)\) 
        j[l, ka]\^2\/\(j[l, ka]\^2 + n[l, ka]\^2\)\)

Strictly speaking, l can only take integer values, so we should make a table of values for the partial cross sections for integers l.  Then ListPlot can plot the resulting table of data.  In this example I take k a=50.

sigmaL = Table[σ[l,  50. ],  {l, 0, 70}];

ListPlot[sigmaL]

To make things more clear we can connect the dots.

ListPlot[sigmaL,  PlotJoined -> True]

We can make a 2-d  table, varying both k a and l.  The resulting contour plot indicates cross-section strength by lightness of shading.  The partial cross sections vanish quickly for l ≳ k a.

sigma2d = 
        N[Table[σ[l, ka], {l, 0, 30}, {ka, 1, 30}]];

ListContourPlot[sigma2d, FrameLabel -> {ka,  l }]