CONTAX Logo



How SAP Developers Will Use Joule to Build Smarter, Faster, and Cleaner in S/4HANA and BTP

2025-08-13
by Rick Kromkamp

This article is part of our ongoing series exploring SAP Joule and SAP Business AI, helping SAP professionals understand what these tools mean for their work now and in the future.

If you missed the earlier articles, check them out:

1. Introduction to SAP Joule: What You Need to Know

2. SAP Joule in Action: Practical Business Scenarios

3. SAP Joule and the Future of Business AI

In this article, we’re going deeper. Our focus: how SAP technical analysts and developers can leverage Joule to design and implement solutions in S/4HANA and BTP. We’ll explore specific use cases where Joule reduces development time, guides cleaner architecture, and ensures best practices.

1. The Shift: From Code-First to AI-Guided Development

Traditionally, SAP development began with a problem statement, a whiteboard, and a lot of manual research through SAP Notes, SE93, SE24, etc. Developers wrote custom ABAP or extended standard code using user exits, BADIs, or enhancement points.

With Joule, that early research and solution-design phase changes dramatically. Developers can now describe their problem in natural language and let Joule suggest a technical approach, complete with relevant SAP APIs, CDS views, and extension points.

2. Creating a Custom Report with Joule in S/4HANA

Where: Inside S/4HANA, via SAP Fiori or SAP Business Application Studio

Steps:

• Open SAP Business Application Studio
• Activate Joule via the command palette or sidebar
• Describe the requirement:

“Create a custom report listing all open purchase orders older than 90 days with vendor contact details”

• Joule generates the ABAP CDS View, annotations, and Fiori elements
• You review and refine the code
• Deploy, test, and transport as usual

Sample Joule-generated CDS View:

@AbapCatalog.sqlViewName: 'ZPO90DAY'
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Open Purchase Orders Older Than 90 Days'
define view ZPO_Open_90Days as select from ekko
inner join lfa1 on ekko.lifnr = lfa1.lifnr
{
    key ekko.ebeln,
    ekko.bedat,
    ekko.lifnr,
    lfa1.name1 as VendorName,
    lfa1.telf1 as VendorPhone,
    lfa1.smtp_addr as VendorEmail
}
where ekko.bedat < add_days( current_date, -90 )
and ekko.loekz = ''

Before vs Now:
• Historically: Manual table joins, SE11 lookups, SE38 coding
• With Joule: Instant CDS generation. Your role shifts from “code builder” to “code reviewer and optimizer”

3. Building an Enhancement in S/4HANA with Joule

Where: Inside S/4HANA, starting from the object context

Example: Trigger an email to a vendor when a PO is released

Steps:

• Open the relevant business object in ABAP Development Tools
• Ask Joule:

“When a PO is released, send an email to the vendor with PO number and release date”

• Joule identifies the enhancement spot (e.g., ME_PROCESS_PO_CUST BADI), proposes the method, and provides skeleton ABAP code

Sample Joule-generated ABAP:

METHOD if_ex_me_process_po_cust~post.
  DATA: lv_email TYPE ad_smtpadr,
        lv_subject TYPE so_obj_des,
        lv_body TYPE solisti1 OCCURS 0.

  SELECT SINGLE smtp_addr INTO lv_email
    FROM lfa1
    WHERE lifnr = im_po->get_vendor( ).

  lv_subject = |PO { im_po->get_po_number( ) } Released|.
  APPEND |Your purchase order has been released on { sy-datum }.| TO lv_body.

  CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
    EXPORTING
      document_data = VALUE sofolenti1( obj_descr = lv_subject )
      document_type = 'RAW'
    TABLES
      object_content = lv_body
    EXCEPTIONS
      OTHERS = 1.
ENDMETHOD.

Before: Manual enhancement spot research, trial-and-error coding
Now: Instant lookup and scaffolding, saving hours

4. From Legacy Enhancement to Clean Core

Where: Transitioning from on-prem modifications to side-by-side extensions in SAP BTP

Historical Approach:
• Modify standard code or use implicit enhancements in ECC
• Risk: Technical debt and upgrade headaches

Today with Joule:
• Describe the requirement:

“When a sales order is created, trigger an external API call to update a third-party system”

• Joule suggests an event-based extension in SAP BTP using SAP Event Mesh
• Joule generates Node.js (or Java) code for a CAP app that subscribes to the event and calls the API

Sample Joule-generated Node.js handler:

srv.on('SalesOrder.Created', async (req) => {
  const soData = req.data;
  await fetch('https://thirdparty.example.com/api/update', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(soData)
  });
});

Key Difference:
• Before: Custom ABAP logic in USEREXIT_SAVE_DOCUMENT
• Now: Logic runs outside the core in BTP, upgrade-safe and clean

5. Top 7 Joule Prompts for Developers

Try these real-world examples:

• Generate a CDS view showing open POs with vendor details and delivery date
• Suggest the best enhancement spot for sending email notifications when a PO is released
• Write ABAP code to update a custom table after a goods receipt
• Propose a clean core approach for integrating a third-party tax service during sales order creation
• Generate CAP Node.js code to call an external API when a sales order is created
• Optimize this CDS view for performance on large datasets
• List all available business events for the Purchase Order object in S/4HANA Cloud

Conclusion

Joule is not just another developer tool. It is part of a shift in how SAP professionals design, build, and maintain enterprise systems. Whether it is helping you generate a quick ABAP report, guiding you toward a clean core extension, or simply making your day-to-day coding more efficient, Joule is already reshaping the developer experience in S/4HANA and BTP.

This is only the beginning. As SAP continues to enhance Joule’s capabilities, developers and technical analysts will find even more ways to streamline work, reduce complexity, and align with SAP’s best practices.

To learn more about how CONTAX Inc. can help your organization get the most from SAP Joule and SAP Business AI, visit www.contax.com or email us at info@contax.com.



About the author: Rick Kromkamp

Rick is a Business Intelligence evangelist and practitioner in the art of data modelling.