YaNco
A modern .NET wrapper for the SAP RFC SDK — with a functional API, dependency injection, and cross-platform support.
Why we built YaNco
Our projects kept running into the same wall: .NET services on Linux that need to call SAP, DMS migration tools that trigger SAP HTTP/FTP clients through RFC program callbacks, integration pipelines that chain hundreds of RFC calls. We needed an RFC layer built for modern .NET — one that supports dependency injection, runs cross-platform, and handles errors without exceptions. So we built one.
What it does
Built for real SAP integration projects.
Functional API
Predictable, testable, easy to reason about. RFC operations are pure functions you can compose freely — no hidden state, no side effects, no surprises at runtime.
Dependency injection
YaNco is designed around DI from the ground up. Connections, contexts, and lifecycles are managed by your container — not by static factories or global state.
RFC server & callbacks
Let SAP call into your .NET code. Handle inbound RFC calls, process IDocs, or respond to ABAP program start callbacks.
Cross-platform
Runs on Windows, Linux, and macOS. Supports .NET 6+ and .NET Framework 4.7.1+.
YaNco is developed in the open. Source code, documentation, and samples are all on GitHub.
await context.CallFunction("BAPI_COMPANYCODE_GETDETAIL",
Input: f => f.SetField("COMPANYCODEID", "1000"),
Output: f => f
.MapStructure("COMPANYCODE_DETAIL", s =>
from name in s.GetField<string>("COMP_NAME")
from city in s.GetField<string>("CITY")
select new { Name = name, City = city }))
.Match(
r => Console.WriteLine($"{r.Name} in {r.City}"),
l => Console.WriteLine($"Error: {l.Message}"));
Enterprise support
Using YaNco in production? We offer support plans so your team has direct access to the people who build it.
- Priority bug fixes and hotfixes
- Direct escalation path for issues
- Influence on the roadmap
- Personal support via email, phone, or video
- Training and coaching for your team
Interested in support?
Tell us about your project and we'll get back to you.
We care about your privacy. Read our privacy policy.