Solution PlusCONSULTING

ABAP Development and integration

The code that starts where the standard stops.

We do not subcontract the ABAP side; we write it in house. And the weight of that work is not development that stays inside one system — it is the work that connects SAP to everything around it.

A development is good if it can still be understood after the person who wrote it has left the project.

Most requests really begin with two questions: does standard SAP already do this, and if it does, why is nobody using it? When the answer is “it doesn't”, we write code. When the answer is “nobody uses it”, we talk about the process first.

No ERP works alone any more. Next to it stands a manufacturing execution system, a laboratory application, a warehouse system, an e-invoicing provider, a bank interface or something the company wrote itself. The hard part is rarely the ABAP: it is the agreement between those two worlds — which event creates which record, what happens on failure, and which side is telling the truth when they disagree.

Every object we write follows the naming standard, carries a header saying what it does and why it exists, and is handed over with its transport. Rather than burying critical logic in code, we move it into a table, so that when a parameter changes nobody needs a developer.

Capabilities

What we do on the ABAP side

DEV Application development

Reports, screens and forms

The reports someone opens every morning, the data entry screens, the printed output, the background jobs that run overnight. We shape the development around how the person actually works, designing the screen as part of a workflow rather than as a technical necessity.

Whether an object-oriented or a classic approach fits better is a decision we make by looking at the existing code base and at what the client's team will be able to maintain.

List and interactive reportsScreen and dialog programsPrint and document outputBackground jobsAuthorisation checksObject-oriented ABAP
EXT Enhancements

Extending the standard

When you intervene in a standard flow, choosing the right point usually matters more than the code. An intervention made at the wrong point breaks at the first upgrade; one made at the right point goes unnoticed for years.

Any rule that might change goes into a maintainable table rather than into the code. Rules that differ by company, country or product group can then be managed without a developer.

Enhancement pointsEvent-based interventionTable-driven controlMaintenance screensUpgrade-resilient design
INT SAP to SAP

Integration between SAP systems

Moving data between different SAP systems in the same group, between separate legal entities, or between the old and the new system during a transition. Master data synchronisation, document transfer and reconciliation reports are the standard parts of that work.

Every flow we build is traceable: which record went when, which one failed, and how a failure is reprocessed are designed in from the start. A record that disappears silently is the most expensive defect an interface can have.

Document and master data transferRemote function callsStandard interface objectsMiddleware-based flowsReconciliation reportsReprocessing mechanisms
NON Non-SAP systems

Integration with non-SAP applications

This is where the centre of gravity sits. We make SAP talk to manufacturing execution systems, laboratory software, warehouse and logistics applications, e-invoicing providers, bank interfaces, e-commerce platforms, reporting tools and whatever the company has built for itself.

Before building the connection we write the contract: which event produces which record, how the fields map, what happens when the other side does not answer, and when a resend is safe. An interface built before those answers exist will stop the business at the first outage.

On the technical side, whether the right route is a service-based connection, a file or folder exchange, a database link or a message queue is decided by what the other system can actually do. Authentication, encryption and logging are always part of the scope.

Web services (REST and SOAP)Publishing and consuming servicesFile and FTP based transferDatabase connectionsMessage queuesField mapping and transformationError handling and resendAuthentication and securityMonitoring and logging
MIG Data

Data loading and mass processing

Getting data into the system is an engineering problem of its own. In one-off migrations and in nightly loads alike we look for the same three things: validation, handling of partial success, and the ability to re-run from the start.

Rather than loading raw data as it comes, we put it through validation first. Keeping a bad record out is always cheaper than cleaning it up afterwards.

Mass data loadingValidation rulesError reportingRe-runnable designTransformation logicPost-load reconciliation
PRF Performance and quality

Performance tuning and handover

This is the most frequent request in systems that have run for years: jobs that no longer fit the night window, screens that take minutes to open, reports that slow down as the data grows. We measure before touching the code — tuning without measurement is guesswork.

Whether we wrote the code or inherited it, we leave it in a state another team can maintain. Code review, naming standards and documentation are not an extra service for us; they are the work.

Measurement and profilingQuery and data access tuningMemory and table usageCode reviewStatic code checksDocumentation and handoverTransport management

Environment

Releases and technologies we work with

We do not treat ABAP as something separate from the rest of the process. Knowing the workflow the code touches is what keeps a development in the right place.

  • SAP S/4HANA
  • SAP ECC
  • ABAP 7.40 and above
  • Object-oriented ABAP
  • Web services (REST / SOAP)
  • OData services
  • Standard interface objects
  • Remote function calls
  • Middleware and integration platforms
  • File and FTP transfer
  • Database connections
  • Print and form technologies
  • Mass data loading tools
  • Background job management
  • Static code checks
  • Transport and release management

Contact

Two systems that will not talk to each other?

You can ask us to look into why an existing interface keeps breaking, or why a program has slowed down. That usually costs less than writing it again from scratch.