SAP

Manage my Account SAP Devs YouTube ↗ Learnings ↗ Community ↗ Provide Feedback ↗
Logout
⤢ Open full site

SAP TechEd Developer Garage: AWS Pipeline for Revenue Management

Build an integration flow in SAP Integration Suite that reads a sales file from Amazon S3, looks up unit costs in a reference file in S3, calculates profit margin, and writes the enriched data to a second S3 bucket in another region.

Overview

You will learn

  • ✔How to build an integration flow from scratch in SAP Integration Suite
  • ✔How the AWS adapters use credentials that have been provisioned for you
  • ✔How the AmazonWebServices adapter reads and writes files in Amazon S3
  • ✔How to enrich messages with a reference-data lookup and calculate profit margin in Groovy
  • ✔How to deploy an integration flow and follow a message step by step in the Monitor
rojo-ashishkuvvarapu r rojo-ashishkuvvarapu October 23, 2026
Created on October 22, 2026
Contributors

Prerequisites

  • Contact a Developer Advocate in the Developer Garage to share the necessary credentials for accessing the provisioned systems.
  • Various systems have been provisioned for you to complete this tutorial.

Steps

Step 1 System access
—

As part of this tutorial, you will need to access the provisioned systems using the credentials shared with you. In the table below, you will find the necessary information to access each system.

There are two SAP Integration Suite environments available for use in this tutorial. Use the one corresponding to your user range.

SystemURL
SAP Integration Suite - Dev Garage 1 (User01 - User99)https://url.sap/054nme
SAP Integration Suite - Dev Garage 2 (User100 - User180)https://url.sap/i18ebv

Scenario

Company: A retailer with regional stores

Challenge: Every store drops its sales extract (CSV) into an Amazon S3 “landing” bucket. Finance wants profit margin per sale, but the sales file only contains prices. Unit costs live in a separate reference file.

Data sources:

SourceLocationContent
Sales fileregional-landing-bkt/daily/sales_2026-10-14.csv (region eu-north-1)One row per sale: store, region, product, quantity, price
Reference fileregional-landing-bkt/reference/product_master.csv (region eu-north-1)Unit cost of each of the 15 products
Curated outputcurated-corp/profit-margins/ (region us-west-1)The enriched sales data, written by your flow

Goal: Calculate profit margin, a number that exists nowhere in the source file, for every sale, write the enriched data to the curated bucket, and summarize the run.

The AmazonWebServices adapter is the hero of this flow. You use it three times: to read the sales file, to read the reference file, and to write the result.

The flow you’ll build:

Text
Start Timer                 (runs the flow once each time you deploy)
  -> Read Sales File          (Request Reply -> S3 read: daily/sales_2026-10-14.csv)
  -> CSV to XML Converter     (CSV -> structured XML, using xml_schema.xsd)
  -> XML to JSON Converter    (XML -> JSON)
  -> Prepare for Lookup       (Content Modifier: ingestion metadata, stash the sales JSON)
  -> Cost LookUp              (Request Reply -> S3 read: product_master.csv)
  -> Margin Calculation       (Groovy: profit margin per sale + run summary)
  -> S3 Write                 (Request Reply -> S3 write: curated-corp/profit-margins/)
  -> Show Run Summary         (Content Modifier: run summary in the body)
  -> End
Part of the flowWhat it does
Start TimerStarts the flow once, each time you deploy. No sender system is needed.
Read Sales FileReads sales_2026-10-14.csv from the daily/ folder and leaves the file in place
CSV to XML ConverterGives each row named fields, using the xml_schema.xsd schema
XML to JSON ConverterTurns the XML into JSON, the shape the rest of the flow works with
Prepare for LookupRecords when and where the file was ingested, and sets the sales data aside so it survives the next step
Cost LookUpReads product_master.csv from regional-landing-bkt/reference/
Margin CalculationAdds unit cost, gross margin, and margin percentage to each sale, and builds the run summary
S3 WriteWrites the enriched JSON to curated-corp/profit-margins/
Show Run SummaryPuts the run summary in the message, so it’s the last thing you see in the Monitor

Step 2 Step 1 — Create a Package and an Integration Flow
+
Step 3 Step 2 — Check the Credentials Provisioned for You
+
Step 4 Step 3 — Start the Flow and Read the Sales File
+
Step 5 Step 4 — Convert the CSV to JSON
+
Step 6 Step 5 — Prepare for the Lookup
+
Step 7 Step 6 — Look Up Unit Costs from S3
+
Step 8 Step 7 — Calculate Profit Margin
+
Step 9 Step 8 — Write the Curated File and Show the Summary
+
Step 10 Step 9 — Deploy and Test
+

Resources

Discussion

Share feedback on this tutorial or join the conversation in SAP Community.

Submit detailed feedback Discuss in Community
Steps
Step 1 of 10
1. System access 2. Step 1 — Create a Package and an Integration Flow 3. Step 2 — Check the Credentials Provisioned for You 4. Step 3 — Start the Flow and Read the Sales File 5. Step 4 — Convert the CSV to JSON 6. Step 5 — Prepare for the Lookup 7. Step 6 — Look Up Unit Costs from S3 8. Step 7 — Calculate Profit Margin 9. Step 8 — Write the Curated File and Show the Summary 10. Step 9 — Deploy and Test