Help with DSolve using exact Mathematica System

In an attempt to error-trap a 3-D DSolve solution, resorted to an eccentric circle flat model (analog to non-geodesic circles on a sphere), for which the following is an abridged code :

Clear[".*"]; a = 1; ri = 1; thi = 0; zi = 0.; phi = 0.; smax = 38.;

sii =   Pi/3.; slp = .2; EccenCirc = {(SI'[s] + Sin[SI[s]]/R[s]) == slp/a, R'[s] == Cos[SI[s]],    TH'[s] == Sin[SI[s]]/R[s], R[0] == ri,TH[0] == 0., SI[0] == sii}; NDSolve[EccenCirc, {SI, R, TH}, {s, 0, smax}];

{si[t_], r[t_], th[t_]} = {SI[t], R[t], TH[t]} /. First[%];

Plot[{si[s], r[s], th[s]}, {s, 0, smax}, GridLines -> Automatic]

disk = ParametricPlot[{r[s] Cos[th[s] + v], r[s] Sin[th[s] + v]}, {s, 0, smax},    {v, 0, 2 Pi}, PlotLabel -> SPH, PlotStyle -> {Thick, Pink}];

fila = ParametricPlot[{r[s] Cos[th[s]], r[s] Sin[th[s]]}, {s, 0, smax},    PlotLabel -> ECCEN_CIRC, PlotStyle -> {Thick, Blue}];

smll = Show[{disk, fila}, PlotRange -> All, Axes -> None,  Boxed -> False, PlotLabel -> "ECCEN_CIRC"]

soln = DSolve[EccenCirc, {SI, R, TH}, s]
`

which also fails to define $$(SI, R, TH)$$ in terms of arclength (OK with NDSolve) but at least serves as an error trap.

An error message " Solve was unable to solve the system with inexact coefficients or the system obtained by direct rationalization of inexact numbers present in the system. Since many of the methods used by Solve require exact input, providing Solve with an exact version of the system may help ".

So thanks again in advance for help with an exact Mathematica system.

• Exact means integers or rationals, inexact means anything containing decimal points. If you get rid of every one of those decimal points then the "inexact" error goes away and is replaced by {Solve ifun Inverse functions are being used by Solve so some solutions may not be found use Reduce for complete solution information.and DSolve bvnul For some branches of the general solution, the given boundary conditions lead to an empty solution.} – Bill Nov 12 '19 at 7:47
• So how can DSolve be modified (with Reduce and decimal points removal ) for an analytic result? – Narasimham Nov 12 '19 at 13:53