This becomes an integration problem. The generated integrals do not have closed form solution. Maple gives two integrals. I tried to solve one of them to start with, and none of Mathematica, Rubi, Maple nor FriCAS could solve them. FriCAS reported a "Poterntial Pole" on it. So I do not think there is closed form solution to the ODE you have.

I will show what I did, and you are free to duplicate it and see for yourself.

First converted the ODE to Maple, and Maple gave solution in terms of integrals

    restart; 
    with(MmaTranslator);
    ode:=FromMma(`y'[x] == 
        (a/E^y[x] - E^((r/l) y[x]) b + c - d E^y[x])/(-(f/E^y[x]) - E^((r/l) y[x]) g + h)`);

![Mathematica graphics](https://i.sstatic.net/smFTr.png)

    sol:=dsolve({ode,y(0) = p},y(x)):
    DEtools[remove_RootOf](sol);

![Mathematica graphics](https://i.sstatic.net/dqAkG.png)

But these integrals do not have closed form solution. Looking at the second one, copied it to Mathematica and tried

    integrand1=(g*Exp[a*(l+r)/l]-h*Exp[a]+f)/(b*Exp[a*(l+r)/l]+d*Exp[2*a]-c*Exp[a]-a)

![Mathematica graphics](https://i.sstatic.net/tZ88d.png)


    Integrate[integrand1, {a, 0, p}]

![Mathematica graphics](https://i.sstatic.net/rGyar.png)

Rubi can do part of it:

    ShowSteps=False;
    Int[integrand1,a]


![Mathematica graphics](https://i.sstatic.net/48ukq.png)

The parts with `Int` stuck to them above, means it can't integrate these terms.

Then I tried FriCAS

    setSimplifyDenomsFlag(true)
    integrate((g*exp(a*(l+r)/l)-h*exp(a)+f)/(b*exp(a*(l+r)/l)+d*exp(2*a)-c*exp(a)-a),a=0..p)

And it can't do it. and it says  "potentialPole"

![Mathematica graphics](https://i.sstatic.net/PPjhA.png)

You might want to ask in the Math forum if someone can solve this analytically.